title: Java AWS SDK v1 - S3 API - Not able to upload multiple files parallely using multipart api
body: <p>I have 5 files of size 200 MB each. I am uploading these files parallel y using Executor service and
  using TransferManager with multipart threashold = 50 MB and waiting for upload to finish by using blocking method call to upload.waitForCompletion() (which says current thread suspends until
  upload succeeds or throws error).</p>
  <p>Please find below code excerpts:</p>
  <pre><code>private static final ExecutorService executor = Executors.newFixedThreadPool(10);
  
  executor.execute(() -&gt; upload(&quot;bucketName&quot;, new File(fullFilePath)));
  
  
  public static void upload(final String bucketName, final File filePath) {
          
          AmazonS3 amazonS3 = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(getCredentals()))
                  .withRegion(Regions.DEFAULT_REGION).build();
  
          TransferManager tm = TransferManagerBuilder.standard().withS3Client(amazonS3)
                  .withMultipartUploadThreshold((long) (50 * 1024 * 1025)).build();
          
          final String fileName = filePath.getName();
          try {
              Upload upload = tm.upload(s3Bucket, fileName, filePath);
              upload.waitForCompletion();
              log.info(&quot;Successfully uploaded file = &quot; + fileName);
              
          } catch (Exception e) {
              log.info(&quot;Upload failed for file = &quot; + fileName);
              log.error(e);
          }
      }
  </code></pre>
  <p>Main thread does not exits until &quot;Successfully uploaded&quot; is there for all 5 files.
  Now this program does not throw any error and prints success for all 5 files but when i open the bucket in aws console, nothing is there.</p>
  <p>Can anyone suggest what might be happening here or how to further debug it ?</p>