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

Query failure on duplicate documents returned

    XMLWordPrintable

    Details

    • Tags:
    • Team:
      FG
    • Sprint:
      nxFG 11.3.1
    • Story Points:
      3

      Description

      When DBS does a query that returns the same document more than once, a crash may occur:

      java.lang.IllegalArgumentException: Multiple entries with same key: e0014b27-5569-4614-95f6-7eaa0c58fcc8=35 and e0014b27-5569-4614-95f6-7eaa0c58fcc8=9
      	at com.google.common.collect.ImmutableMap.conflictException(ImmutableMap.java:216) ~[guava-28.2-jre.jar:?]
      	at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:210) ~[guava-28.2-jre.jar:?]
      	at com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:146) ~[guava-28.2-jre.jar:?]
      	at com.google.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:109) ~[guava-28.2-jre.jar:?]
      	at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:395) ~[guava-28.2-jre.jar:?]
      	at com.google.common.collect.Maps.indexMap(Maps.java:4225) ~[guava-28.2-jre.jar:?]
      	at com.google.common.collect.ExplicitOrdering.<init>(ExplicitOrdering.java:30) ~[guava-28.2-jre.jar:?]
      	at com.google.common.collect.Ordering.explicit(Ordering.java:220) ~[guava-28.2-jre.jar:?]
      	at org.nuxeo.ecm.core.storage.dbs.DBSCachingConnection.readStates(DBSCachingConnection.java:185) ~[nuxeo-core-storage-dbs-11.3.26.jar:?]
      	at org.nuxeo.ecm.core.storage.dbs.DBSTransactionState.getStatesForUpdate(DBSTransactionState.java:251) ~[nuxeo-core-storage-dbs-11.3.26.jar:?]
      	at org.nuxeo.ecm.core.storage.dbs.DBSSession.getDocuments(DBSSession.java:448) ~[nuxeo-core-storage-dbs-11.3.26.jar:?]
      	at org.nuxeo.ecm.core.storage.dbs.DBSSession.query(DBSSession.java:1628) ~[nuxeo-core-storage-dbs-11.3.26.jar:?]
      	at org.nuxeo.ecm.core.storage.dbs.DBSSession.query(DBSSession.java:171) ~[nuxeo-core-storage-dbs-11.3.26.jar:?]
      	at jdk.internal.reflect.GeneratedMethodAccessor98.invoke(Unknown Source) ~[?:?]
      	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
      	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
      	at org.nuxeo.ecm.core.storage.dbs.DBSRepositoryBase$DBSSessionInvoker.invoke(DBSRepositoryBase.java:487) ~[nuxeo-core-storage-dbs-11.3.26.jar:?]
      	at com.sun.proxy.$Proxy78.query(Unknown Source) ~[?:?]
      	at org.nuxeo.ecm.core.api.AbstractSession.tracedQuery(AbstractSession.java:1233) ~[nuxeo-core-11.3.26.jar:?]
      	at org.nuxeo.ecm.core.api.AbstractSession.query(AbstractSession.java:1206) ~[nuxeo-core-11.3.26.jar:?]
      	at org.nuxeo.ecm.core.api.AbstractSession.query(AbstractSession.java:1145) ~[nuxeo-core-11.3.26.jar:?]
      	at org.nuxeo.ecm.core.api.AbstractSession.query(AbstractSession.java:1138) ~[nuxeo-core-11.3.26.jar:?]
      	at org.nuxeo.ecm.core.api.AbstractSession.query(AbstractSession.java:1118) ~[nuxeo-core-11.3.26.jar:?]
      	at org.nuxeo.ecm.core.bulk.action.computation.AbstractBulkComputation.loadDocuments(AbstractBulkComputation.java:189) ~[nuxeo-core-bulk-11.3.26.jar:?]
      	at org.nuxeo.elasticsearch.bulk.IndexRequestComputation.compute(IndexRequestComputation.java:89) ~[nuxeo-elasticsearch-core-11.3.26.jar:?]
      	at org.nuxeo.ecm.core.bulk.action.computation.AbstractBulkComputation.lambda$processBatchOfDocuments$1(AbstractBulkComputation.java:141) ~[nuxeo-core-bulk-11.3.26.jar:?]
      	at org.nuxeo.runtime.transaction.TransactionHelper.lambda$runInTransaction$5(TransactionHelper.java:580) ~[nuxeo-runtime-jtajca-11.3.26.jar:?]
      	at org.nuxeo.runtime.transaction.TransactionHelper.runInTransaction(TransactionHelper.java:600) ~[nuxeo-runtime-jtajca-11.3.26.jar:?]
      	at org.nuxeo.runtime.transaction.TransactionHelper.runInTransaction(TransactionHelper.java:580) ~[nuxeo-runtime-jtajca-11.3.26.jar:?]
      	at org.nuxeo.ecm.core.bulk.action.computation.AbstractBulkComputation.processBatchOfDocuments(AbstractBulkComputation.java:135) ~[nuxeo-core-bulk-11.3.26.jar:?]
      	at org.nuxeo.ecm.core.bulk.action.computation.AbstractBulkComputation.processRecord(AbstractBulkComputation.java:98) ~[nuxeo-core-bulk-11.3.26.jar:?]
      	at org.nuxeo.lib.stream.computation.log.ComputationRunner.lambda$processRecordWithRetry$10(ComputationRunner.java:463) ~[nuxeo-stream-11.3.26.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:463) [nuxeo-stream-11.3.26.jar:?]
      	at org.nuxeo.lib.stream.computation.log.ComputationRunner.processRecordWithTracing(ComputationRunner.java:415) [nuxeo-stream-11.3.26.jar:?]
      	at org.nuxeo.lib.stream.computation.log.ComputationRunner.processRecord(ComputationRunner.java:406) [nuxeo-stream-11.3.26.jar:?]
      	at org.nuxeo.lib.stream.computation.log.ComputationRunner.processLoop(ComputationRunner.java:270) [nuxeo-stream-11.3.26.jar:?]
      	at org.nuxeo.lib.stream.computation.log.ComputationRunner.run(ComputationRunner.java:206) [nuxeo-stream-11.3.26.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:834) [?:?]
      

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 3 hours
                  3h