Program: 35159
Project: 35159
Buggy source:
public static void main(String[] args) throws IOException {
  Thread statPrinter=new Thread(new PrintStat(counters));
  try {
    log.info("String_Node_Str");
    Options options=new Options();
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    CommandLineParser parser=new PosixParser();
    CommandLine cl=parser.parse(options,args,false);
    if (args.length == 0 || cl.hasOption("String_Node_Str")) {
      logUsage(options);
      return;
    }
    if (cl.hasOption("String_Node_Str")) {
      rwThrottle=Integer.parseInt(cl.getOptionValue("String_Node_Str"));
    }
 else {
      rwThrottle=Constants.READLOAD;
    }
    params=Utils.parseParameters(cl);
    AerospikeClient client=new AerospikeClient(params.host,params.port);
    if (!client.isConnected()) {
      log.error("String_Node_Str" + params.host + "String_Node_Str"+ params.port);
      return;
    }
    if (cl.hasOption("String_Node_Str")) {
      log.setLevel(Level.DEBUG);
    }
    int cpus=Runtime.getRuntime().availableProcessors();
    nWriterThreads=cpus * scaleFactor;
    nReaderThreads=cpus;
    if (cl.hasOption("String_Node_Str")) {
      nWriterThreads=Integer.parseInt(cl.getOptionValue("String_Node_Str"));
      nWriterThreads=(nWriterThreads > 0 ? (nWriterThreads > Constants.MAX_THREADS ? Constants.MAX_THREADS : nWriterThreads) : 1);
      log.debug("String_Node_Str" + nWriterThreads);
    }
    writerPool=Executors.newFixedThreadPool(nWriterThreads);
    if (cl.hasOption("String_Node_Str")) {
      nReaderThreads=Integer.parseInt(cl.getOptionValue("String_Node_Str"));
      nReaderThreads=(nReaderThreads > 0 ? (nReaderThreads > Constants.MAX_THREADS ? Constants.MAX_THREADS : nReaderThreads) : 1);
      log.debug("String_Node_Str" + nReaderThreads);
    }
    String columnDefinitionFileName=cl.getOptionValue("String_Node_Str",null);
    log.debug("String_Node_Str" + columnDefinitionFileName);
    if (columnDefinitionFileName == null) {
      log.error("String_Node_Str");
      return;
    }
    File columnDefinitionFile=new File(columnDefinitionFileName);
    if (!columnDefinitionFile.exists()) {
      log.error("String_Node_Str" + Utils.getFileName(columnDefinitionFileName));
      return;
    }
    String[] files=cl.getArgs();
    if (files.length == 0) {
      log.error("String_Node_Str");
      return;
    }
    List<String> allFileNames=new ArrayList<String>();
    allFileNames=Utils.getFileNames(files);
    if (allFileNames.size() == 0) {
      log.error("String_Node_Str");
      return;
    }
    for (int i=0; i < allFileNames.size(); i++) {
      log.debug("String_Node_Str" + Utils.getFileName(allFileNames.get(i)));
      File file=new File(allFileNames.get(i));
      counters.write.recordTotal=counters.write.recordTotal + file.length();
    }
    allFileNames.remove(columnDefinitionFileName);
    log.info("String_Node_Str" + allFileNames.size());
    metadataColumnDefs=new ArrayList<ColumnDefinition>();
    binColumnDefs=new ArrayList<ColumnDefinition>();
    metadataConfigs=new HashMap<String,String>();
    if (Parser.processJSONColumnDefinitions(columnDefinitionFile,metadataConfigs,metadataColumnDefs,binColumnDefs,params)) {
      log.info("String_Node_Str");
    }
 else {
      throw new Exception("String_Node_Str");
    }
    String metadata;
    if ((metadata=metadataConfigs.get(Constants.INPUT_TYPE)) != null) {
      params.fileType=metadata;
      if (params.fileType.equals(Constants.CSV_FILE)) {
        metadata=metadataConfigs.get(Constants.VERSION);
        String[] vNumber=metadata.split("String_Node_Str");
        int v1=Integer.parseInt(vNumber[0]);
        int v2=Integer.parseInt(vNumber[1]);
        if ((v1 >= Constants.MajorV) && (v2 >= Constants.MinorV)) {
          log.debug("String_Node_Str" + metadata);
        }
 else         throw new Exception("String_Node_Str" + Constants.VERSION + "String_Node_Str"+ metadata+ "String_Node_Str");
        if ((metadata=metadataConfigs.get(Constants.DELIMITER)) != null && metadata.length() == 1) {
          params.delimiter=metadata.charAt(0);
        }
 else {
          log.warn("String_Node_Str" + Constants.DELIMITER + "String_Node_Str"+ metadata+ "String_Node_Str");
        }
        if ((metadata=metadataConfigs.get(Constants.IGNORE_FIRST_LINE)) != null) {
          params.ignoreFirstLine=metadata.equals("String_Node_Str");
        }
 else {
          log.warn("String_Node_Str" + Constants.IGNORE_FIRST_LINE + "String_Node_Str"+ metadata+ "String_Node_Str");
        }
        if ((metadata=metadataConfigs.get(Constants.COLUMNS)) != null) {
          counters.write.colTotal=Integer.parseInt(metadata);
        }
 else {
          throw new Exception("String_Node_Str" + Constants.COLUMNS + "String_Node_Str"+ metadata+ "String_Node_Str");
        }
      }
 else {
        throw new Exception("String_Node_Str" + params.fileType + "String_Node_Str");
      }
    }
 else {
      throw new Exception("String_Node_Str" + Constants.INPUT_TYPE + "String_Node_Str");
    }
    if (params.fileType.equals(Constants.CSV_FILE)) {
      List<String> binName=null;
      if (params.ignoreFirstLine) {
        String line;
        BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(allFileNames.get(0)),"String_Node_Str"));
        if ((line=br.readLine()) != null) {
          binName=Parser.getCSVRawColumns(line,params.delimiter);
          br.close();
          if (binName.size() != counters.write.colTotal) {
            throw new Exception("String_Node_Str" + "String_Node_Str" + Utils.getFileName(allFileNames.get(0)) + "String_Node_Str"+ Utils.getFileName(columnDefinitionFileName));
          }
        }
      }
      for (int i=0; i < metadataColumnDefs.size(); i++) {
        if (metadataColumnDefs.get(i).staticValue) {
        }
 else {
          if (metadataColumnDefs.get(i).binValuePos < 0) {
            if (metadataColumnDefs.get(i).columnName == null) {
              if (metadataColumnDefs.get(i).jsonPath == null) {
                log.error("String_Node_Str" + metadataColumnDefs.toString());
              }
 else {
              }
            }
 else {
              if (params.ignoreFirstLine) {
                if (binName.indexOf(metadataColumnDefs.get(i).binValueHeader) != -1) {
                  metadataColumnDefs.get(i).binValuePos=binName.indexOf(metadataColumnDefs.get(i).binValueHeader);
                }
 else {
                  throw new Exception("String_Node_Str" + metadataColumnDefs.get(i).binValueHeader);
                }
              }
            }
          }
 else {
            if (params.ignoreFirstLine)             metadataColumnDefs.get(i).binValueHeader=binName.get(metadataColumnDefs.get(i).binValuePos);
          }
        }
        if (metadataColumnDefs.get(i).binValuePos < 0) {
          throw new Exception("String_Node_Str" + metadataColumnDefs.get(i));
        }
        if (metadataColumnDefs.get(i).srcType == null) {
          throw new Exception("String_Node_Str" + metadataColumnDefs.get(i));
        }
        if (metadataColumnDefs.get(i).binNameHeader == Constants.SET && !metadataColumnDefs.get(i).srcType.equals(SrcColumnType.STRING)) {
          throw new Exception("String_Node_Str" + metadataColumnDefs.get(i));
        }
        if (metadataColumnDefs.get(i).binNameHeader.equalsIgnoreCase(Constants.SET) && params.set != null) {
          throw new Exception("String_Node_Str");
        }
      }
      for (int i=0; i < binColumnDefs.size(); i++) {
        if (binColumnDefs.get(i).staticName) {
        }
 else {
          if (binColumnDefs.get(i).binNamePos < 0) {
            if (binColumnDefs.get(i).columnName == null) {
              if (binColumnDefs.get(i).jsonPath == null) {
                log.error("String_Node_Str");
              }
 else {
              }
            }
 else {
              if (params.ignoreFirstLine) {
                if (binName.indexOf(binColumnDefs.get(i).binNameHeader) != -1) {
                  binColumnDefs.get(i).binNamePos=binName.indexOf(binColumnDefs.get(i).binNameHeader);
                }
 else {
                  throw new Exception("String_Node_Str" + binColumnDefs.get(i).binNameHeader);
                }
              }
            }
          }
 else {
            if (params.ignoreFirstLine)             binColumnDefs.get(i).binNameHeader=binName.get(binColumnDefs.get(i).binNamePos);
          }
        }
        if (binColumnDefs.get(i).staticValue) {
        }
 else {
          if (binColumnDefs.get(i).binValuePos < 0) {
            if (binColumnDefs.get(i).columnName == null) {
              if (binColumnDefs.get(i).jsonPath == null) {
                log.error("String_Node_Str");
              }
 else {
              }
            }
 else {
              if (params.ignoreFirstLine)               binColumnDefs.get(i).binValuePos=binName.indexOf(binColumnDefs.get(i).binValueHeader);
            }
          }
 else {
            if (params.ignoreFirstLine)             binColumnDefs.get(i).binValueHeader=binName.get(binColumnDefs.get(i).binValuePos);
          }
          if (binColumnDefs.get(i).binValuePos < 0 || binColumnDefs.get(i).binValueHeader == null) {
            throw new Exception("String_Node_Str" + binColumnDefs.get(i));
          }
          if (binColumnDefs.get(i).srcType == null) {
            throw new Exception("String_Node_Str" + binColumnDefs.get(i));
          }
          if ((binColumnDefs.get(i).srcType.equals(SrcColumnType.TIMESTAMP) || binColumnDefs.get(i).srcType.equals(SrcColumnType.BLOB)) && binColumnDefs.get(i).dstType == null) {
            throw new Exception("String_Node_Str" + binColumnDefs.get(i));
          }
          if (binColumnDefs.get(i).dstType != null && binColumnDefs.get(i).encoding == null) {
            throw new Exception("String_Node_Str" + binColumnDefs.get(i));
          }
          if (binColumnDefs.get(i).srcType.equals(SrcColumnType.BLOB) && !binColumnDefs.get(i).encoding.equals(Constants.HEX_ENCODING)) {
            throw new Exception("String_Node_Str" + binColumnDefs.get(i));
          }
        }
        if ((binColumnDefs.get(i).binNamePos == binColumnDefs.get(i).binValuePos) && (binColumnDefs.get(i).binNamePos != -1)) {
          throw new Exception("String_Node_Str" + binColumnDefs.get(i));
        }
        if (binColumnDefs.get(i).binNameHeader == null && binColumnDefs.get(i).binNameHeader.length() > Constants.BIN_NAME_LENGTH) {
          throw new Exception("String_Node_Str" + binColumnDefs.get(i));
        }
      }
    }
    log.info(params.toString());
    log.debug("String_Node_Str" + metadataColumnDefs);
    log.debug("String_Node_Str" + binColumnDefs);
    statPrinter.start();
    ExecutorService readerPool=Executors.newFixedThreadPool(nReaderThreads > allFileNames.size() ? allFileNames.size() : nReaderThreads);
    log.info("String_Node_Str" + nReaderThreads);
    for (    String aFile : allFileNames) {
      log.debug("String_Node_Str" + aFile);
      readerPool.submit(new AerospikeLoad(aFile,client,params));
    }
    readerPool.shutdown();
    log.info("String_Node_Str");
    while (!readerPool.isTerminated())     ;
    log.info("String_Node_Str");
    writerPool.shutdown();
    log.info("String_Node_Str");
    while (!writerPool.isTerminated())     ;
    log.info("String_Node_Str");
    log.info("String_Node_Str" + counters.write.writeCount.get() + "String_Node_Str"+ "String_Node_Str"+ (counters.write.writeErrors.get() + counters.write.readErrors.get() + counters.write.processingErrors.get())+ "String_Node_Str"+ (counters.write.writeErrors.get())+ "String_Node_Str"+ counters.write.readErrors.get()+ "String_Node_Str"+ counters.write.processingErrors.get()+ "String_Node_Str");
  }
 catch (  Exception e) {
    log.error(e);
    if (log.isDebugEnabled()) {
      e.printStackTrace();
    }
  }
 finally {
    statPrinter.interrupt();
    log.info("String_Node_Str");
  }
}

Fixed version (ground truth):
public static void main(String[] args) throws IOException {
  Thread statPrinter=new Thread(new PrintStat(counters));
  try {
    log.info("String_Node_Str");
    Options options=new Options();
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",true,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    options.addOption("String_Node_Str","String_Node_Str",false,"String_Node_Str");
    CommandLineParser parser=new PosixParser();
    CommandLine cl=parser.parse(options,args,false);
    if (args.length == 0 || cl.hasOption("String_Node_Str")) {
      logUsage(options);
      return;
    }
    if (cl.hasOption("String_Node_Str")) {
      rwThrottle=Integer.parseInt(cl.getOptionValue("String_Node_Str"));
    }
 else {
      rwThrottle=Constants.READLOAD;
    }
    params=Utils.parseParameters(cl);
    AerospikeClient client=new AerospikeClient(params.host,params.port);
    if (!client.isConnected()) {
      log.error("String_Node_Str" + params.host + "String_Node_Str"+ params.port);
      return;
    }
    if (cl.hasOption("String_Node_Str")) {
      log.setLevel(Level.DEBUG);
    }
    int cpus=Runtime.getRuntime().availableProcessors();
    nWriterThreads=cpus * scaleFactor;
    nReaderThreads=cpus;
    if (cl.hasOption("String_Node_Str")) {
      nWriterThreads=Integer.parseInt(cl.getOptionValue("String_Node_Str"));
      nWriterThreads=(nWriterThreads > 0 ? (nWriterThreads > Constants.MAX_THREADS ? Constants.MAX_THREADS : nWriterThreads) : 1);
      log.debug("String_Node_Str" + nWriterThreads);
    }
    writerPool=Executors.newFixedThreadPool(nWriterThreads);
    if (cl.hasOption("String_Node_Str")) {
      nReaderThreads=Integer.parseInt(cl.getOptionValue("String_Node_Str"));
      nReaderThreads=(nReaderThreads > 0 ? (nReaderThreads > Constants.MAX_THREADS ? Constants.MAX_THREADS : nReaderThreads) : 1);
      log.debug("String_Node_Str" + nReaderThreads);
    }
    String columnDefinitionFileName=cl.getOptionValue("String_Node_Str",null);
    log.debug("String_Node_Str" + columnDefinitionFileName);
    if (columnDefinitionFileName == null) {
      log.error("String_Node_Str");
      return;
    }
    File columnDefinitionFile=new File(columnDefinitionFileName);
    if (!columnDefinitionFile.exists()) {
      log.error("String_Node_Str" + Utils.getFileName(columnDefinitionFileName));
      return;
    }
    String[] files=cl.getArgs();
    if (files.length == 0) {
      log.error("String_Node_Str");
      return;
    }
    List<String> allFileNames=new ArrayList<String>();
    allFileNames=Utils.getFileNames(files);
    if (allFileNames.size() == 0) {
      log.error("String_Node_Str");
      return;
    }
    for (int i=0; i < allFileNames.size(); i++) {
      log.debug("String_Node_Str" + Utils.getFileName(allFileNames.get(i)));
      File file=new File(allFileNames.get(i));
      counters.write.recordTotal=counters.write.recordTotal + file.length();
    }
    allFileNames.remove(columnDefinitionFileName);
    log.info("String_Node_Str" + allFileNames.size());
    metadataColumnDefs=new ArrayList<ColumnDefinition>();
    binColumnDefs=new ArrayList<ColumnDefinition>();
    metadataConfigs=new HashMap<String,String>();
    if (Parser.processJSONColumnDefinitions(columnDefinitionFile,metadataConfigs,metadataColumnDefs,binColumnDefs,params)) {
      log.info("String_Node_Str");
    }
 else {
      throw new Exception("String_Node_Str");
    }
    String metadata;
    if ((metadata=metadataConfigs.get(Constants.INPUT_TYPE)) != null) {
      params.fileType=metadata;
      if (params.fileType.equals(Constants.CSV_FILE)) {
        metadata=metadataConfigs.get(Constants.VERSION);
        String[] vNumber=metadata.split("String_Node_Str");
        int v1=Integer.parseInt(vNumber[0]);
        int v2=Integer.parseInt(vNumber[1]);
        if ((v1 >= Constants.MajorV) && (v2 >= Constants.MinorV)) {
          log.debug("String_Node_Str" + metadata);
        }
 else         throw new Exception("String_Node_Str" + Constants.VERSION + "String_Node_Str"+ metadata+ "String_Node_Str");
        if ((metadata=metadataConfigs.get(Constants.DELIMITER)) != null && metadata.length() == 1) {
          params.delimiter=metadata.charAt(0);
        }
 else {
          log.warn("String_Node_Str" + Constants.DELIMITER + "String_Node_Str"+ metadata+ "String_Node_Str");
        }
        if ((metadata=metadataConfigs.get(Constants.IGNORE_FIRST_LINE)) != null) {
          params.ignoreFirstLine=metadata.equals("String_Node_Str");
        }
 else {
          log.warn("String_Node_Str" + Constants.IGNORE_FIRST_LINE + "String_Node_Str"+ metadata+ "String_Node_Str");
        }
        if ((metadata=metadataConfigs.get(Constants.COLUMNS)) != null) {
          counters.write.colTotal=Integer.parseInt(metadata);
        }
 else {
          throw new Exception("String_Node_Str" + Constants.COLUMNS + "String_Node_Str"+ metadata+ "String_Node_Str");
        }
      }
 else {
        throw new Exception("String_Node_Str" + params.fileType + "String_Node_Str");
      }
    }
 else {
      throw new Exception("String_Node_Str" + Constants.INPUT_TYPE + "String_Node_Str");
    }
    if (params.fileType.equals(Constants.CSV_FILE)) {
      List<String> binName=null;
      if (params.ignoreFirstLine) {
        String line;
        BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(allFileNames.get(0)),"String_Node_Str"));
        if ((line=br.readLine()) != null) {
          binName=Parser.getCSVRawColumns(line,params.delimiter);
          br.close();
          if (binName.size() != counters.write.colTotal) {
            throw new Exception("String_Node_Str" + "String_Node_Str" + Utils.getFileName(allFileNames.get(0)) + "String_Node_Str"+ Utils.getFileName(columnDefinitionFileName));
          }
        }
      }
      for (int i=0; i < metadataColumnDefs.size(); i++) {
        if (metadataColumnDefs.get(i).staticValue) {
        }
 else {
          if (metadataColumnDefs.get(i).binValuePos < 0) {
            if (metadataColumnDefs.get(i).columnName == null) {
              if (metadataColumnDefs.get(i).jsonPath == null) {
                log.error("String_Node_Str" + metadataColumnDefs.toString());
              }
 else {
              }
            }
 else {
              if (params.ignoreFirstLine) {
                if (binName.indexOf(metadataColumnDefs.get(i).binValueHeader) != -1) {
                  metadataColumnDefs.get(i).binValuePos=binName.indexOf(metadataColumnDefs.get(i).binValueHeader);
                }
 else {
                  throw new Exception("String_Node_Str" + metadataColumnDefs.get(i).binValueHeader);
                }
              }
            }
          }
 else {
            if (params.ignoreFirstLine)             metadataColumnDefs.get(i).binValueHeader=binName.get(metadataColumnDefs.get(i).binValuePos);
          }
        }
        if (metadataColumnDefs.get(i).binValuePos < 0) {
          throw new Exception("String_Node_Str" + metadataColumnDefs.get(i));
        }
        if (metadataColumnDefs.get(i).srcType == null) {
          throw new Exception("String_Node_Str" + metadataColumnDefs.get(i));
        }
        if (metadataColumnDefs.get(i).binNameHeader == Constants.SET && !metadataColumnDefs.get(i).srcType.equals(SrcColumnType.STRING)) {
          throw new Exception("String_Node_Str" + metadataColumnDefs.get(i));
        }
        if (metadataColumnDefs.get(i).binNameHeader.equalsIgnoreCase(Constants.SET) && params.set != null) {
          throw new Exception("String_Node_Str");
        }
      }
      for (int i=0; i < binColumnDefs.size(); i++) {
        if (binColumnDefs.get(i).staticName) {
        }
 else {
          if (binColumnDefs.get(i).binNamePos < 0) {
            if (binColumnDefs.get(i).columnName == null) {
              if (binColumnDefs.get(i).jsonPath == null) {
                log.error("String_Node_Str");
              }
 else {
              }
            }
 else {
              if (params.ignoreFirstLine) {
                if (binName.indexOf(binColumnDefs.get(i).binNameHeader) != -1) {
                  binColumnDefs.get(i).binNamePos=binName.indexOf(binColumnDefs.get(i).binNameHeader);
                }
 else {
                  throw new Exception("String_Node_Str" + binColumnDefs.get(i).binNameHeader);
                }
              }
            }
          }
 else {
            if (params.ignoreFirstLine)             binColumnDefs.get(i).binNameHeader=binName.get(binColumnDefs.get(i).binNamePos);
          }
        }
        if (binColumnDefs.get(i).staticValue) {
        }
 else {
          if (binColumnDefs.get(i).binValuePos < 0) {
            if (binColumnDefs.get(i).columnName == null) {
              if (binColumnDefs.get(i).jsonPath == null) {
                log.error("String_Node_Str");
              }
 else {
              }
            }
 else {
              if (params.ignoreFirstLine)               binColumnDefs.get(i).binValuePos=binName.indexOf(binColumnDefs.get(i).binValueHeader);
            }
          }
 else {
            if (params.ignoreFirstLine)             binColumnDefs.get(i).binValueHeader=binName.get(binColumnDefs.get(i).binValuePos);
          }
          if (binColumnDefs.get(i).binValuePos < 0 && binColumnDefs.get(i).binValueHeader == null) {
            throw new Exception("String_Node_Str" + binColumnDefs.get(i));
          }
          if (binColumnDefs.get(i).srcType == null) {
            throw new Exception("String_Node_Str" + binColumnDefs.get(i));
          }
          if ((binColumnDefs.get(i).srcType.equals(SrcColumnType.TIMESTAMP) || binColumnDefs.get(i).srcType.equals(SrcColumnType.BLOB)) && binColumnDefs.get(i).dstType == null) {
            throw new Exception("String_Node_Str" + binColumnDefs.get(i));
          }
          if (binColumnDefs.get(i).dstType != null && binColumnDefs.get(i).encoding == null) {
            throw new Exception("String_Node_Str" + binColumnDefs.get(i));
          }
          if (binColumnDefs.get(i).srcType.equals(SrcColumnType.BLOB) && !binColumnDefs.get(i).encoding.equals(Constants.HEX_ENCODING)) {
            throw new Exception("String_Node_Str" + binColumnDefs.get(i));
          }
        }
        if ((binColumnDefs.get(i).binNamePos == binColumnDefs.get(i).binValuePos) && (binColumnDefs.get(i).binNamePos != -1)) {
          throw new Exception("String_Node_Str" + binColumnDefs.get(i));
        }
        if (binColumnDefs.get(i).binNameHeader == null && binColumnDefs.get(i).binNameHeader.length() > Constants.BIN_NAME_LENGTH) {
          throw new Exception("String_Node_Str" + binColumnDefs.get(i));
        }
      }
    }
    log.info(params.toString());
    log.debug("String_Node_Str" + metadataColumnDefs);
    log.debug("String_Node_Str" + binColumnDefs);
    statPrinter.start();
    ExecutorService readerPool=Executors.newFixedThreadPool(nReaderThreads > allFileNames.size() ? allFileNames.size() : nReaderThreads);
    log.info("String_Node_Str" + nReaderThreads);
    for (    String aFile : allFileNames) {
      log.debug("String_Node_Str" + aFile);
      readerPool.submit(new AerospikeLoad(aFile,client,params));
    }
    readerPool.shutdown();
    log.info("String_Node_Str");
    while (!readerPool.isTerminated())     ;
    log.info("String_Node_Str");
    writerPool.shutdown();
    log.info("String_Node_Str");
    while (!writerPool.isTerminated())     ;
    log.info("String_Node_Str");
    log.info("String_Node_Str" + counters.write.writeCount.get() + "String_Node_Str"+ "String_Node_Str"+ (counters.write.writeErrors.get() + counters.write.readErrors.get() + counters.write.processingErrors.get())+ "String_Node_Str"+ (counters.write.writeErrors.get())+ "String_Node_Str"+ counters.write.readErrors.get()+ "String_Node_Str"+ counters.write.processingErrors.get()+ "String_Node_Str");
  }
 catch (  Exception e) {
    log.error(e);
    if (log.isDebugEnabled()) {
      e.printStackTrace();
    }
  }
 finally {
    statPrinter.interrupt();
    log.info("String_Node_Str");
  }
}