Tomek Rękawek created OAK-8612:
----------------------------------

             Summary: Make the Azure Data Store compatible with Guava 15 and 26
                 Key: OAK-8612
                 URL: https://issues.apache.org/jira/browse/OAK-8612
             Project: Jackrabbit Oak
          Issue Type: Task
          Components: blob-plugins
            Reporter: Tomek Rękawek
         Attachments: OAK-8612.patch

I was recently working on some potential usage of gRPC in Oak. I'll create an 
issue shortly, explaining the idea. For now, I'd like to use the gRPC in the 
same class loader as Azure Data Store. The gRPC uses Guava 26 and can't be 
downgraded. In Oak, we're using Guava 15.

We'll probably upgrade the Oak to Guava 26 in the future, but it'll be a bigger 
task. I was wondering if there's a workaround that allows to use APIs which are 
common to Guava 15 and 26 in the Azure Data Store. It seems that we're using 
the APIs removed from Guava 26 just in two places of the UploadStagingCache 
class:

* in the file traverser in UploadStagingCache#build()
* in the future handling in UploadStagingCache#stage()

[~amitjain], I was wondering if you'd be OK with changing these two places, so 
they are compatible both with Guava 15 and 26. It'd help me with proceeding 
with the PoC I mentioned. And again: the current version works completely fine.

For the file traversing, we can use the Java 8 file traverse utils. For the 
future listening, I copied the SameThreadExecutorService from Guava and used it 
as an extra parameter, required in the newer versions.

WDYT?



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to