Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-30651

Retention Expire Stream Not Processing

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.10
    • Fix Version/s: 10.10-HF54, 2021.11
    • Component/s: Retention
    • Upgrade notes:
      Hide

      RetentionExpiredComputation does not fail anymore on deleted or unknown documents

      Show
      RetentionExpiredComputation does not fail anymore on deleted or unknown documents
    • Sprint:
      nxplatform #47

      Description

      When using the Retention Add On in LTS2021, there is a Kafka stream name_id_retention-retentionexpired_urn_retention/retentionexpired 

      Records are going into this stream, but none are coming out, this causes a huge lag in Kafka.  For example, we see ~155,000 record lag in PreProd and ~766,000 lag in Production.  Functionally, it appears the records are not being deleted as expected with the Retention Add-on.

      Every 15 minutes, we see a DocumentNotFoundException which appears to be preventing work from coming out of the queue (see below).

      Need help to:

      1.  Understand what the queue is doing functionally - how does it work?  where is the 15 minute interval coming from?

      2.  How may a DocumentNotFound impact stream operation/processing?

      Can walk thru logs/metrics in DataDog as needed.

      Exception seen every 15 minutes (different doc id's every time)

      org.nuxeo.ecm.core.api.DocumentNotFoundException: bc8f0743-944f-4c6d-a3d8-5924aabfac6aorg.nuxeo.ecm.core.api.DocumentNotFoundException: bc8f0743-944f-4c6d-a3d8-5924aabfac6a at org.nuxeo.ecm.core.storage.dbs.DBSSession.getDocumentByUUID(DBSSession.java:401) ~[nuxeo-core-storage-dbs-2021.8.6.jar:?] at org.nuxeo.ecm.core.api.AbstractSession.resolveReference(AbstractSession.java:353) ~[nuxeo-core-2021.8.6.jar:?] at org.nuxeo.ecm.core.api.AbstractSession.isRecord(AbstractSession.java:2153) ~[nuxeo-core-2021.8.6.jar:?] at org.nuxeo.ecm.core.security.RetentionExpiredAction$RetentionExpiredComputation.compute(RetentionExpiredAction.java:84) ~[nuxeo-core-2021.8.6.jar:?] at org.nuxeo.ecm.core.bulk.action.computation.AbstractBulkComputation.lambda$processBatchOfDocuments$3(AbstractBulkComputation.java:147) ~[nuxeo-core-bulk-2021.8.6.jar:?] at org.nuxeo.runtime.transaction.TransactionHelper.lambda$runInTransaction$4(TransactionHelper.java:624) ~[nuxeo-runtime-jtajca-2021.8.6.jar:?] at org.nuxeo.runtime.transaction.TransactionHelper.runInTransaction(TransactionHelper.java:657) ~[nuxeo-runtime-jtajca-2021.8.6.jar:?] at org.nuxeo.runtime.transaction.TransactionHelper.runInTransaction(TransactionHelper.java:624) ~[nuxeo-runtime-jtajca-2021.8.6.jar:?] at org.nuxeo.ecm.core.bulk.action.computation.AbstractBulkComputation.processBatchOfDocuments(AbstractBulkComputation.java:141) ~[nuxeo-core-bulk-2021.8.6.jar:?] at org.nuxeo.ecm.core.bulk.action.computation.AbstractBulkComputation.processRecord(AbstractBulkComputation.java:102) ~[nuxeo-core-bulk-2021.8.6.jar:?] at org.nuxeo.lib.stream.computation.log.ComputationRunner.lambda$processRecordWithRetry$10(ComputationRunner.java:466) ~[nuxeo-stream-2021.8.6.jar:?] at net.jodah.failsafe.Functions$10.call(Functions.java:252) ~[failsafe-1.1.0.jar:1.1.0] at net.jodah.failsafe.SyncFailsafe.call(SyncFailsafe.java:145) [failsafe-1.1.0.jar:1.1.0] at net.jodah.failsafe.SyncFailsafe.run(SyncFailsafe.java:81) [failsafe-1.1.0.jar:1.1.0] at org.nuxeo.lib.stream.computation.log.ComputationRunner.processRecordWithRetry(ComputationRunner.java:466) [nuxeo-stream-2021.8.6.jar:?] at org.nuxeo.lib.stream.computation.log.ComputationRunner.processRecordWithTracing(ComputationRunner.java:418) [nuxeo-stream-2021.8.6.jar:?] at org.nuxeo.lib.stream.computation.log.ComputationRunner.processRecord(ComputationRunner.java:409) [nuxeo-stream-2021.8.6.jar:?] at org.nuxeo.lib.stream.computation.log.ComputationRunner.processLoop(ComputationRunner.java:272) [nuxeo-stream-2021.8.6.jar:?] at org.nuxeo.lib.stream.computation.log.ComputationRunner.run(ComputationRunner.java:206) [nuxeo-stream-2021.8.6.jar:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?] at java.lang.Thread.run(Thread.java:829) [?:?]

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: