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

Accesslog database cleanup fails with BufferUnderflowException

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.2.1
    • Fix Version/s: 3.17.0
    • Component/s: Database, Licensing
    • Labels:
      None
    • Story Points:
      2

      Description

      We should add some limits to this deletion to ensure that it doesn't suffer from what are presumably issues deleting large amounts of data at once. 

      2017-06-20 20:43:26,663+0000 WARN [AccessLogDeleter] *SYSTEM com.sonatype.nexus.licensing.internal.access.AccessLogRemover - Failed to remove records
      com.orientechnologies.orient.core.exception.ODatabaseException: Error on retrieving record #19:1208 (cluster: entry_2)
      DB name="accesslog"
      at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:2033) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:656) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:103) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearchRecord(OCommandExecutorSQLSelect.java:588) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.serialIterator(OCommandExecutorSQLSelect.java:1619) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.fetchFromTarget(OCommandExecutorSQLSelect.java:1566) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.fetchValuesFromIndexCursor(OCommandExecutorSQLSelect.java:2455) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchForIndexes(OCommandExecutorSQLSelect.java:2270) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchInClasses(OCommandExecutorSQLSelect.java:1001) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLResultsetAbstract.assignTarget(OCommandExecutorSQLResultsetAbstract.java:209) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.assignTarget(OCommandExecutorSQLSelect.java:530) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearch(OCommandExecutorSQLSelect.java:512) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.execute(OCommandExecutorSQLSelect.java:488) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:74) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:2592) [na:na]
      at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:2538) [na:na]
      at com.orientechnologies.orient.core.sql.query.OSQLQuery.run(OSQLQuery.java:78) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.query.OSQLAsynchQuery.run(OSQLAsynchQuery.java:74) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.query.OQueryAbstract.execute(OQueryAbstract.java:33) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelete.execute(OCommandExecutorSQLDelete.java:200) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:74) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:2592) [na:na]
      at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:2538) [na:na]
      at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:69) [com.orientechnologies.orientdb-core:2.2.16]
      at com.sonatype.nexus.licensing.internal.access.AccessLogEntryEntityAdapter.deleteBefore(AccessLogEntryEntityAdapter.java:205) [com.sonatype.nexus.plugins.nexus-licensing-plugin:3.2.1.01]
      at com.sonatype.nexus.licensing.internal.access.OrientAccessLogStore.lambda$4(OrientAccessLogStore.java:107) [com.sonatype.nexus.plugins.nexus-licensing-plugin:3.2.1.01]
      at org.sonatype.nexus.orient.transaction.OrientOperations.lambda$1(OrientOperations.java:56) [org.sonatype.nexus.orient:3.2.1.01]
      at org.sonatype.nexus.transaction.OperationPoint.proceed(OperationPoint.java:64) [org.sonatype.nexus.transaction:3.2.1.01]
      at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:56) [org.sonatype.nexus.transaction:3.2.1.01]
      at org.sonatype.nexus.transaction.Operations.transactional(Operations.java:200) [org.sonatype.nexus.transaction:3.2.1.01]
      at org.sonatype.nexus.transaction.Operations.call(Operations.java:146) [org.sonatype.nexus.transaction:3.2.1.01]
      at org.sonatype.nexus.orient.transaction.OrientOperations.call(OrientOperations.java:56) [org.sonatype.nexus.orient:3.2.1.01]
      at com.sonatype.nexus.licensing.internal.access.OrientAccessLogStore.removeBefore(OrientAccessLogStore.java:107) [com.sonatype.nexus.plugins.nexus-licensing-plugin:3.2.1.01]
      at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39) [org.sonatype.nexus.common:3.2.1.01]
      at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:270) [org.sonatype.nexus.common:3.2.1.01]
      at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:53) [org.sonatype.nexus.common:3.2.1.01]
      at com.sonatype.nexus.licensing.internal.access.AccessLogRemover.process(AccessLogRemover.java:67) [com.sonatype.nexus.plugins.nexus-licensing-plugin:3.2.1.01]
      at com.sonatype.nexus.licensing.internal.access.AccessLogRemover.doRun(AccessLogRemover.java:55) [com.sonatype.nexus.plugins.nexus-licensing-plugin:3.2.1.01]
      at com.sonatype.nexus.licensing.internal.access.AccessLogThreadSupport.run(AccessLogThreadSupport.java:43) [com.sonatype.nexus.plugins.nexus-licensing-plugin:3.2.1.01]
      Caused by: java.nio.BufferUnderflowException: null
      at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:271) [na:1.8.0_121]
      at java.nio.ByteBuffer.get(ByteBuffer.java:715) [na:1.8.0_121]
      at com.orientechnologies.orient.core.storage.impl.local.paginated.base.ODurablePage.getBinaryValue(ODurablePage.java:138) [na:na]
      at com.orientechnologies.orient.core.storage.impl.local.paginated.OClusterPage.getRecordBinaryValue(OClusterPage.java:376) [na:na]
      at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readFullEntry(OPaginatedCluster.java:1800) [na:na]
      at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readRecord(OPaginatedCluster.java:666) [na:na]
      at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.readRecord(OPaginatedCluster.java:628) [na:na]
      at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doReadRecord(OAbstractPaginatedStorage.java:3249) [na:na]
      at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:2879) [na:na]
      at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:1090) [na:na]
      at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx$SimpleRecordReader.readRecord(ODatabaseDocumentTx.java:3324) [com.orientechnologies.orientdb-core:2.2.16]
      at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1994) [com.orientechnologies.orientdb-core:2.2.16]
      ... 38 common frames omitted

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            rseddon Rich Seddon
            Last Updated By:
            Peter Lynch Peter Lynch
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Date of First Response:

                tigCommentSecurity.panel-title