Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-17772

migration from 2 to 3 leaves low heap memory ERROR in Nexus 3

    XMLWordPrintable

    Details

      Description

      On migration from Nexus 2 to Nexus 3 instance, a customer was experiencing "low heap memory" ERROR log messages from OrientDB queries for one particular repository, despite Nexus 3 having the recommended memory settings. The messages suggest some database queries could not be executed and therefore migration was in an unknown state. Lack of trust in the the migration due to these messages is preventing this customer from migrating to Nexus 3 from Nexus 2. It is unclear what part of the migration actually failed.

      In some cases low heap memory may eventually result in java.lang.OutOfMemoryError errors in the nexus log.

      A heap dump was captured from Nexus 3 at the time of the ERRORS as well as logs and support zips.

      Example nexus.log low heap memory ERROR
      2018-10-02 19:51:08,781+0200 ERROR [event-9-thread-2670]  admin com.google.common.eventbus.EventBus.nexus.async - Could not dispatch event EntityBatchEvent{events=[AssetUpdatedEvent{metadata=AttachedEntityMetadata{schema=asset, document=#62:63009{bucket:#42:5,format:maven2,last_updated:Tue Oct 02 17:41:09 CEST 2018,attributes:[5],component:#55:9514,name:com/example/tme/cpfs/cpfs-web/6.50/cpfs-web-6.50.war,size:51180644,content_type:application/java-archive,created_by:system,created_by_ip:system,blob_ref:default@1378CB2D-9B16B9BA-91CED78F-C2A150D7-42909953:3713a6b2-b81d-4208-8a39-c816a8cc09e1,last_downloaded:Tue Oct 02 17:41:09 CEST 2018,blob_created:Tue Oct 02 17:41:09 CEST 2018,blob_updated:Tue Oct 02 17:41:09 CEST 2018} v2}, remoteNodeId=null}]} to subscriber org.sonatype.nexus.repository.search.IndexRequestProcessor@411710d2 method [public void org.sonatype.nexus.repository.search.IndexRequestProcessor.on(org.sonatype.nexus.common.entity.EntityBatchEvent)]
      com.orientechnologies.orient.core.exception.OCommandExecutionException: Cannot execute query "SELECT FROM asset WHERE bucket = #42:5 AND component = #55:9514": low heap memory
       DB name="component"
       at com.orientechnologies.orient.core.sql.OSoftQueryResultList.throwCanExecuteException(OSoftQueryResultList.java:688)
       at com.orientechnologies.orient.core.sql.OSoftQueryResultList.checkQueue(OSoftQueryResultList.java:78)
       at com.orientechnologies.orient.core.sql.OSoftQueryResultList.size(OSoftQueryResultList.java:88)
       at java.util.Collections$SynchronizedCollection.size(Collections.java:2015)
       at com.orientechnologies.orient.core.sql.query.OBasicResultSet.size(OBasicResultSet.java:66)
       at com.orientechnologies.orient.core.sql.query.OBasicResultSet$1.hasNext(OBasicResultSet.java:86)
       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 org.sonatype.nexus.repository.search.DefaultComponentMetadataProducer.getMetadata(DefaultComponentMetadataProducer.java:86)
       at org.sonatype.nexus.repository.search.SearchFacetImpl.json(SearchFacetImpl.java:202)
       at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:56)
       at org.sonatype.nexus.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:54)
       at org.sonatype.nexus.repository.search.SearchServiceImpl.lambda$0(SearchServiceImpl.java:316)
       at java.lang.Iterable.forEach(Iterable.java:75)
       at org.sonatype.nexus.repository.search.SearchServiceImpl.bulkPut(SearchServiceImpl.java:313)
       at org.sonatype.nexus.repository.search.SearchFacetImpl.bulkPut(SearchFacetImpl.java:133)
       at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
       at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:270)
       at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:53)
       at org.sonatype.nexus.repository.search.IndexRequest.bulkApply(IndexRequest.java:92)
       at org.sonatype.nexus.repository.search.IndexRequestProcessor.lambda$0(IndexRequestProcessor.java:126)
       at java.util.Optional.ifPresent(Optional.java:159)
       at org.sonatype.nexus.repository.search.IndexRequestProcessor.doUpdateSearchIndex(IndexRequestProcessor.java:122)
       at org.sonatype.nexus.repository.search.IndexRequestProcessor.maybeUpdateSearchIndex(IndexRequestProcessor.java:102)
       at java.util.HashMap.forEach(HashMap.java:1288)
       at org.sonatype.nexus.repository.search.IndexBatchRequest.apply(IndexBatchRequest.java:93)
       at org.sonatype.nexus.repository.search.IndexRequestProcessor.process(IndexRequestProcessor.java:90)
       at org.sonatype.nexus.repository.search.IndexRequestProcessor.on(IndexRequestProcessor.java:86)
       at sun.reflect.GeneratedMethodAccessor529.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:498)
       at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:87)
       at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:72)
       at org.sonatype.nexus.internal.event.AffinityBarrier.lambda$1(AffinityBarrier.java:91)
       at org.sonatype.nexus.thread.internal.MDCAwareRunnable.run(MDCAwareRunnable.java:40)
       at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120)
       at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
       at java.lang.Thread.run(Thread.java:745)
      

        Attachments

          Activity

            People

            Assignee:
            mmartz Michael Martz
            Reporter:
            plynch Peter Lynch
            Last Updated By:
            Peter Lynch
            Team:
            NXRM - Tron
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Date of First Response:

                tigCommentSecurity.panel-title