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)