Uploaded image for project: 'Nuxeo ECM Build/Test Environment'
  1. Nuxeo ECM Build/Test Environment
  2. NXBT-2925

Fix Reference Benchmark VCS Cluster invalidation

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Nuxeo Bench

      Description

      The deployment of Nuxeo in cluster doesn't use anymore Redis for the invalidation, the ELB doesn't use any affinity so proper invalidations handling is required to play any write simulation.

      The simulation CreateFolders creates the folder structures because queries are load-balanced on multiple nodes the invalidations are necessary to ensure the visibility of a parent folder.
      This is failing randomly for PostgreSQL showing that there is a pb:

      17:32:07 Simulation org.nuxeo.cap.bench.Sim10CreateFolders started...
      17:32:07 17:32:07.743 [WARN ] i.g.h.a.ResponseProcessor - Request 'Create Folder' failed: status.find.is(201), but actually found 404
      17:32:08 17:32:08.251 [WARN ] i.g.h.a.ResponseProcessor - Request 'Create Folder' failed: status.find.is(201), but actually found 404
      17:32:08 17:32:08.772 [WARN ] i.g.h.a.ResponseProcessor - Request 'Create Folder' failed: status.find.is(201), but actually found 404
      ...
      17:32:13 > Global                                                   (OK=274    KO=3     )
      17:32:13 > Create Folder                                            (OK=273    KO=3     )
      17:32:13 > Wait For Async                                           (OK=1      KO=0     )
      17:32:13 ---- Errors --------------------------------------------------------------------
      17:32:13 > status.find.is(201), but actually found 404                         3 (100.0%)
      

      The result is that the build is in failure because without the folder structure we cannot create the documents.

      This affects postgresql, oracle and mssql: All SQL backends with VCS invalidation.

      On 10.10:
      nuxeo.templates=postgresql-quartz-cluster,perf,s3binaries
      nuxeo.redis.enabled=true
      
      
       <extension target="org.nuxeo.ecm.core.storage.sql.RepositoryService"
          point="repository">
          <repository name="default" label="label.default.repository">
            <pool minPoolSize="0" maxPoolSize="50"
              blockingTimeoutMillis="100"
              idleTimeoutMinutes="10"
              activeTimeoutMinutes="0" />
            <clustering id="1" enabled="true" delay="1000" />
            <clusterInvalidatorClass>org.nuxeo.ecm.core.storage.sql.VCSPubSubInvalidator</clusterInvalidatorClass>
      
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                bdelbosc Benoit Delbosc
                Reporter:
                bdelbosc Benoit Delbosc
                Participants:
              • Votes:
                0 Vote for this issue
                Watchers:
                1 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 - 4 hours
                  4h