public void clean(String jobID) {
		/*
		// cheating, just remove the domain, TODO: change to per jobID in the future
        DeleteDomainRequest request = new DeleteDomainRequest();
        request.setDomainName(dbManagerDomain);
        try {
        	DeleteDomainResponse response = service.deleteDomain(request);
        } catch (AmazonSimpleDBException ex) {
           System.out.println("Caught Exception: " + ex.getMessage());
        }
        */
		Boolean hasNextToken = false;
		String nextToken = null;
		List<String> items = new ArrayList<String>();

		// Get a list of items to delete
		SelectRequest request = new SelectRequest();
		do {
			request.setSelectExpression("select itemName() from " + dbManagerDomain + " where jobid = '" + jobID + "' limit 2500");
			if ( hasNextToken )
				request.setNextToken(nextToken);
			try {
				SelectResponse response = service.select(request);
	            if (response.isSetSelectResult()) {
	            	SelectResult  selectResult = response.getSelectResult();
	                java.util.List<Item> itemList = selectResult.getItem();
	                for (Item item : itemList) {
	                    if (item.isSetName()) {
	                    	items.add(item.getName());
	                    }
	                }
	            }           
			} catch (AmazonSimpleDBException ex) {
	        	// Just cleaning, let it go if fails
	        	logger.warn("Exception in getting list when cleaning db. " + ex.getMessage());
	        }
		} while ( hasNextToken );

		// clean 
		int count = items.size();
		for (String itemName : items) {
			try {
				DeleteAttributesRequest deleteRequest = new DeleteAttributesRequest().withDomainName(dbManagerDomain).withItemName(itemName);
				service.deleteAttributes(deleteRequest);
			} catch (AmazonSimpleDBException ex) {
				logger.warn("Exception in cleaning db. " + ex.getMessage());
			}
		}
		logger.debug("Cleaned " + count + " rows from SimpleDB");
	}