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

ByteRange API for the BlobStore

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Resolved
    • Priority: Minor
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: BlobManager

      Description

      Context

      Nuxeo BlobStore allow to access a stream but only as a whole object: there is no exposed API to access to a range of the stream.

      Several use cases may require such an API:

      • media playback
        • we support range inside the http download request, but still need to fetch tha full stream from the BlobStore backend.
      • AFP preview
        • a common use case is to preview a few pages inside a large AFP stream that can be several GB

      Most backend technically support byte range access:

      • Filesystem obviously supports it
      • S3 API supports a setRange API
      • Azure has also a range attribute in their get-blob API
      • GCP Storage also has a concept of range

      Prototype

      A prototype was created in order to validate that it can work with AFP 2 PDF conversion: nuxeo-core-binarymanager-byterange:

      The current code was just a POC to validate the concepts:

      • we probably want this to be part of the the BlobStore API at least on master
      • I suspect we want to remove usage of BinaryManager

      Design questions

      • Make the Range API a first class citizen of BlobStore vs having a dedicated interface ?
      • How do we make that new API available on 10.10

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: