void upload() throws DataStoreException {
long startTime = System.currentTimeMillis();
LOG.info(" Uploading [{}] using [{}] threads.", files.size(), threads);
ExecutorService executor = Executors.newFixedThreadPool(threads,
new NamedThreadFactory("backend-file-upload-worker"));
int partitionSize = files.size() / (threads);
int startIndex = 0;
int endIndex = partitionSize;
for (int i = 1; i <= threads; i++) {
List<File> partitionFileList = Collections.unmodifiableList(files.subList(