@@ -42,7 +42,7 @@ class S3Bucket(
4242 private [this ] lazy val maxErrorRetry = Try (config.getInt(configPrefix + " .max-error-retry" ))
4343
4444 @ transient private [this ] lazy val defaultExecutor = {
45- val maxPoolSize = 100 ;
45+ val maxPoolSize = 100
4646 val threadCount = new AtomicInteger (0 )
4747 // NOTE: This is the default thread pool used by the `TransferManager`. I had to replicate it here
4848 // to make sure that threads are daemonized. This could be problematic, e.g. shutting down the
@@ -55,14 +55,14 @@ class S3Bucket(
5555 60 ,
5656 TimeUnit .SECONDS ,
5757 new LinkedBlockingQueue (1_000 ),
58- ( runnable) => {
58+ runnable => {
5959 val thread = new Thread (runnable)
6060 thread.setName(s " apso-transfer-manager- ${threadCount.getAndIncrement()}" )
6161 thread.setDaemon(true )
6262 thread
6363 }
6464 )
65- executor.allowCoreThreadTimeOut(true );
65+ executor.allowCoreThreadTimeOut(true )
6666 executor
6767 }
6868
@@ -82,7 +82,7 @@ class S3Bucket(
8282
8383 val s3 = client.build()
8484 if (! bucketExists(s3))
85- s3.createBucket( {
85+ s3.createBucket {
8686 val requestBuilder = CreateBucketRequest
8787 .builder()
8888 .bucket(bucketName)
@@ -97,7 +97,7 @@ class S3Bucket(
9797 )
9898 .build()
9999 else requestBuilder.build()
100- }) .join()
100+ }.join()
101101 s3
102102 }
103103
@@ -351,7 +351,10 @@ class S3Bucket(
351351
352352 s3Client
353353 .putObject(
354- b => { b.bucket(bucketName).key(sanitizeKey(key) + " /" ); () },
354+ b => {
355+ b.bucket(bucketName).key(sanitizeKey(key) + " /" )
356+ ()
357+ },
355358 AsyncRequestBody .fromInputStream(emptyContent, 0 , defaultExecutor)
356359 )
357360 .join()
@@ -417,9 +420,11 @@ class S3Bucket(
417420 case ex : S3Exception =>
418421 ex.statusCode() match {
419422 case 404 =>
420- logger.error(" The specified file does not exist" , ex); true // no need to retry
423+ logger.error(" The specified file does not exist" , ex)
424+ true // no need to retry
421425 case 403 =>
422- logger.error(" No permission to access the file" , ex); true // no need to retry
426+ logger.error(" No permission to access the file" , ex)
427+ true // no need to retry
423428 case _ =>
424429 logger.warn(
425430 s """ |S3 service error: ${ex.getMessage}. Extended request id: ${ex.requestId}
@@ -429,22 +434,27 @@ class S3Bucket(
429434 false
430435 }
431436 case ex : SdkClientException =>
432- log(! ex.retryable, s " Client Exception: ${ex.getMessage}" , ex); ! ex.retryable
437+ log(! ex.retryable, s " Client Exception: ${ex.getMessage}" , ex)
438+ ! ex.retryable
433439
434440 case ex : SdkException =>
435- log(! ex.retryable, s " SDK Exception: ${ex.getMessage}" , ex); ! ex.retryable
441+ log(! ex.retryable, s " SDK Exception: ${ex.getMessage}" , ex)
442+ ! ex.retryable
436443
437444 case ex : CompletionException =>
438445 logger.warn(" Completion Exception" , ex)
439446 handler(ex.getCause)
440447
441448 case ex : Exception =>
442- logger.warn(" An error occurred" , ex); false
449+ logger.warn(" An error occurred" , ex)
450+ false
443451 }
444452
445453 private [this ] def retry [T ](f : => T , tries : Int = 3 , sleepTime : Int = 5000 ): Option [T ] =
446- if (tries == 0 ) { logger.error(" Max retries reached. Aborting S3 operation" ); None }
447- else
454+ if (tries == 0 ) {
455+ logger.error(" Max retries reached. Aborting S3 operation" )
456+ None
457+ } else
448458 Try (f) match {
449459 case Success (res) => Some (res)
450460 case Failure (e) if ! handler(e) =>
0 commit comments