jsedding commented on PR #2807:
URL: https://github.com/apache/jackrabbit-oak/pull/2807#issuecomment-4109511788

   In the past, guava has been problematic, because it needed to be installed 
alongside the oak bundles in the same OSGi container. Applications built on top 
of Oak would then start using guava as well.
   
   This caused two points of contention, a bit of a catch 22:
   
   1. the application wanted to use a newer guava version but couldn't update 
due to Oak and 
   2. we wanted to update the guava version in Oak, but couldn't due to 
applications depending on the lower guava version.
   
   Matters were made worse in guava's case due to the fact that guava does not 
follow semantic versioning.
   
   IIUC, the whole exercise of removing guava is done in order to get rid of 
this sort of problem. Switching caches to caffeine, imported as a dependency in 
OSGi, does not IMHO solve the problem.
   
   Defining a custom caching API (which could be pretty much a copy of the 
caffeine API, or whatever) creates a level of decoupling. Embedding the 
implementation in the bundle implementing this API maximizes the level of 
decoupling and, for me, is optional, as it could be done at a later time if 
needed.
   
   BTW, the ticket you linked is closed "Won't do" and concerns itself only 
with oak-documentstore IIUC.


-- 
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.

To unsubscribe, e-mail: [email protected]

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

Reply via email to