Details
Description
When maven components are moved during staging operations Nexus Repo is rebuilding metadata for every component moved. This is an expensive operation, and can cause staging moves to take a very long time.
Expected: We should mark the metadata files as dirty, so they can be rebuilt on demand as needed later.
"qtp682630493-5045498" #5045498 prio=5 os_prio=0 tid=0x00007f5aa003f000 nid=0x6bfa waiting on condition [0x00007f5a78b83000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007920e4a50> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:418)
at org.sonatype.nexus.repository.storage.OrientAsyncHelper$QueueConsumingIterable.hasNext(OrientAsyncHelper.java:199)
at com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:42)
at com.google.common.collect.Iterators$5.computeNext(Iterators.java:637)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136)
at com.google.common.collect.Iterators$5.computeNext(Iterators.java:637)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136)
at org.sonatype.nexus.repository.maven.internal.hosted.metadata.MetadataRebuilder$Worker.lambda$3(MetadataRebuilder.java:539)
at org.sonatype.nexus.repository.maven.internal.hosted.metadata.MetadataRebuilder$Worker$$Lambda$799/1385297271.call(Unknown Source)
at org.sonatype.nexus.transaction.OperationPoint.proceed(OperationPoint.java:64)
at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:57)
at org.sonatype.nexus.transaction.Operations.proceedWithTransaction(Operations.java:232)
at org.sonatype.nexus.transaction.Operations.transactional(Operations.java:219)
at org.sonatype.nexus.transaction.Operations.call(Operations.java:166)
at org.sonatype.nexus.repository.maven.internal.hosted.metadata.MetadataRebuilder$Worker.rebuildMetadataInner(MetadataRebuilder.java:516)
at org.sonatype.nexus.repository.maven.internal.hosted.metadata.MetadataRebuilder$Worker.rebuildMetadata(MetadataRebuilder.java:448)
at org.sonatype.nexus.repository.maven.internal.hosted.metadata.MetadataRebuilder.rebuildInTransaction(MetadataRebuilder.java:151)
at org.sonatype.nexus.repository.maven.internal.hosted.metadata.MetadataRebuilder.rebuild(MetadataRebuilder.java:127)
at org.sonatype.nexus.repository.maven.internal.hosted.metadata.MetadataRebuilder.deleteAndRebuild(MetadataRebuilder.java:278)
at org.sonatype.nexus.repository.maven.internal.hosted.MavenHostedFacetImpl.deleteMetadata(MavenHostedFacetImpl.java:137)
at org.sonatype.nexus.repository.maven.internal.hosted.MavenHostedComponentMaintenanceFacet.deleteComponent(MavenHostedComponentMaintenanceFacet.java:55)
at com.sonatype.nexus.staging.internal.StagingComponentManager.move(StagingComponentManager.java:86)
at com.sonatype.nexus.staging.internal.StagingService.doMove(StagingService.java:397)
at com.sonatype.nexus.staging.internal.StagingService.move(StagingService.java:181)
at com.sonatype.nexus.staging.internal.StagingService$$EnhancerByGuice$$3d6477a9.CGLIB$move$0(<generated>)
at com.sonatype.nexus.staging.internal.StagingService$$EnhancerByGuice$$3d6477a9$$FastClassByGuice$$87a0e258.invoke(<generated>)
at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)
at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:76)
at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:272)
at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:53)
at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:77)
at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:55)
at com.sonatype.nexus.staging.internal.StagingService$$EnhancerByGuice$$3d6477a9.move(<generated>)
Attachments
Issue Links
- relates
-
NEXUS-24128 REST API delete requests for Maven components can have slow performance
-
- Closed
-
- mentioned in
-
Page Loading...