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

Allow S3 Binary Manager to run in async mode

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: QualifiedToSchedule
    • Component/s: Core

      Description

      Default implementation of BinaryManager is 100% Synchronous.
      This means the calling thread will wait for :

      • copy steam to temporary location
      • compute digest
      • store in S3 (potentially with cypher)
      • wait for S3 aknowledgment

      This behavior is safe, but may slow down Write operations.

      The goal is to provide a Async version of the S3BinaryManager that delegate the "S3 flush" to a Worker.

      We now have 2 implementation classes for S3 BinaryManager

      Normal S3 BinaryManager (Sync)

      nuxeo.core.binarymanager=org.nuxeo.ecm.core.storage.sql.S3BinaryManager
      

      Async S3 BinaryManager

      nuxeo.core.binarymanager=org.nuxeo.ecm.core.storage.sql.AsyncS3BinaryManager
      

      Using the Async mode :

      • is not TX safe
      • is not safe in cluster mode

        Attachments

          Activity

            People

            • Assignee:
              tdelprat Thierry Delprat
              Reporter:
              tdelprat Thierry Delprat
              Participants:
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 2 days
                2d
                Remaining:
                Remaining Estimate - 2 days
                2d
                Logged:
                Time Spent - Not Specified
                Not Specified