Error when uploading artifacts to an s3blobstore

Hi, all,

I experience an issue where I want to upload a file to a repository.

The repo is setup with a backed AWS S3Blobstore.

When I upload the file using the nexus website, I get this stacktrace in the logfile:

2021-04-06 11:54:16,865+0000 INFO  [qtp1287805515-544]  admin org.sonatype.nexus.repository.upload.internal.UploadManagerImpl - Uploading component with parameters: repository="test1" format="maven2" groupId="com.tignum" artifactId="test-xmlfile" version="1.0.0" 
2021-04-06 11:54:16,866+0000 INFO  [qtp1287805515-544]  admin org.sonatype.nexus.repository.upload.internal.UploadManagerImpl - Asset with parameters: file="pom.xml" extension="xml" classifier="test" 
2021-04-06 11:54:17,063+0000 ERROR [qtp1287805515-544]  admin org.sonatype.nexus.coreui.UploadResource - Unable to perform upload to repository test1
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@3464e72f rejected from java.util.concurrent.ThreadPoolExecutor@4eb27693[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 481]
    at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)
    at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)
    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
    at org.sonatype.nexus.blobstore.s3.internal.S3BlobStore.asyncDelete(S3BlobStore.java:763)
    at com.palominolabs.metrics.guice.TimedInterceptor.invoke(TimedInterceptor.java:26)
    at org.sonatype.nexus.repository.view.payloads.TempBlob.close(TempBlob.java:99)
    at org.sonatype.nexus.repository.view.payloads.TempBlobPartPayload.close(TempBlobPartPayload.java:106)
    at org.sonatype.nexus.repository.upload.internal.UploadManagerImpl.handle(UploadManagerImpl.java:117)
    at org.sonatype.nexus.coreui.internal.UploadService.upload(UploadService.java:78)
    at org.sonatype.nexus.coreui.UploadResource.postComponent(UploadResource.java:86)
    at com.palominolabs.metrics.guice.ExceptionMeteredInterceptor.invoke(ExceptionMeteredInterceptor.java:23)
    at com.palominolabs.metrics.guice.TimedInterceptor.invoke(TimedInterceptor.java:26)
    at org.sonatype.nexus.validation.internal.ValidationInterceptor.invoke(ValidationInterceptor.java:53)
    at org.apache.shiro.guice.aop.AopAllianceMethodInvocationAdapter.proceed(AopAllianceMethodInvocationAdapter.java:49)
    at org.apache.shiro.authz.aop.AuthorizingAnnotationMethodInterceptor.invoke(AuthorizingAnnotationMethodInterceptor.java:68)
    at org.apache.shiro.guice.aop.AopAllianceMethodInterceptorAdapter.invoke(AopAllianceMethodInterceptorAdapter.java:36)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:138)

Is there a way to put the server in a debug mode?

side note: the server was created via the nexus operator from m88, the whole setup was done via Terraform. The “test1” repository above was created manually as admin user via the web ui. The AWS Blobstore basically works as there are are already some files uploaded into the target folder on S3 so I guess it is not an S3 issue :slight_smile:

OK, this is strange.

I killed the pod, waited until the server came up again, and tried to “mvn deploy” a file again.

And now it seems to work :confused:

Before that I also added a task to repair any maven metadata on the target repository.

Sidenote again: I run the Nexus 3.29 version.

So, sorry for the post. No idea why it works now but I guess there is/was an issue with the internal scheduler from Nexus.