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]
