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

Use new blob key for old blob used concurrently with async digest computation

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10.10-HF42, 11.5, 2021.2
    • Component/s: BlobManager
    • Release Notes Summary:
      The new blob key is used for old blob used concurrently with async digest computation.
    • Epic Link:
    • Tags:
    • Team:
      FG
    • Sprint:
      nxFG 11.3.1
    • Story Points:
      5

      Description

      Following the basic work in NXP-30044, we must implement the cluster-wide notification of the in-progress replacement of a blob key by another one, so that there can be substitution of the old key with the new one for blobs newly saved in the repository.

      This substitution should even last beyond the immediate critical section of the blob replacement, because while the blob provider work is not transactional, there may be a repository-level work that is transactional and started before the critical section and finished after, for which substitution must still happen.

      Architecture:

      • When the new digest is known, do a cluster-wide notification (meaning that that this new key should be used instead of the old one if during the following steps new blobs are created in parallel in the repository).
      • Once the old blob has been removed S3, notify the cluster that work on this blob key is finished.
      • Nevertheless keep a TTL (~5min?) on the substitution information to keep using for transactions still in flight.

        Attachments

          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 - 1 day
                1d

                  PagerDuty

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