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

Allow S3 TransferManager ExecutorFactory ThreadPool size to be configurable

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 10.10, 2021.0
    • Fix Version/s: 10.10-HF57, 2021.14
    • Component/s: S3
    • Release Notes Summary:
      S3 TransferManager thread pool size is configurable.
    • Backlog priority:
      800
    • Sprint:
      nxplatform #51
    • Story Points:
      3

      Description

      The default size of the S3 TransferManager ExecutorFactory ThreadPool size is 10.  Requesting to allow this value to be configurable.

      This can be achieved by modifying class S3BlobStoreConfiguration as follows:

      Add the following lines of code here:
      https://github.com/nuxeo/nuxeo/blob/a6e22b8b773dc34adf6a29bf6755bf66ea9fe324/addons/nuxeo-core-binarymanager-cloud/nuxeo-core-binarymanager-s3/src/main/java/org/nuxeo/ecm/blob/s3/S3BlobStoreConfiguration.java#L523

      public static final String TRANSFER_MANAGER_THREAD_POOL_SIZE_PROPERTY = "nuxeo.s3storage.transfer.manager.threadPoolSize";
      public static final long TRANSFER_MANAGER_THREAD_POOL_SIZE_DEFAULT = 10;
      

      And add the following line of code here: https://github.com/nuxeo/nuxeo/blob/a6e22b8b773dc34adf6a29bf6755bf66ea9fe324/addons/nuxeo-core-binarymanager-cloud/nuxeo-core-binarymanager-s3/src/main/java/org/nuxeo/ecm/blob/s3/S3BlobStoreConfiguration.java#L523

              .withExecutorFactory(() -> Executors.newFixedThreadPool(Long.valueOf(getLongProperty(
                                                   TRANSFER_MANAGER_THREAD_POOL_SIZE_PROPERTY, TRANSFER_MANAGER_THREAD_POOL_SIZE_DEFAULT))))
      

       

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                PagerDuty

                Error rendering 'com.pagerduty.jira-server-plugin:PagerDuty'. Please contact your Jira administrators.