chibenwa opened a new pull request #370:
URL: https://github.com/apache/james-project/pull/370


   One time out of 25 the uploaded content was altered (Different SHA 256 in
   the data store). Several Apache CI builds had been failing because of this.
   
   Investigating this, I found that a piped input stream strategy was not
   hitting this pitfall (RectorUtils::toInputStream). I thus incriminate
   some weird data races on the Reactor side...
   
   Other areas of the code are likely affected as both the Cassandra and the
   S3 blobStores relies on those for streaming (only relied upon for
   attachment upload).
   
   Changing the BlobStore API should likely be considered:
   
   ```
   public interface BlobStore {
       Flux<ByteBuffer> read(BucketName bucketName, BlobId blobId);
   }
   ```
   
   Why:
   
    - Supported by both implementation (Cassandra S3)
    - Avoids intermediate transformations requiring blocking
    operations/dedicated thread resources


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to