LuciferYang commented on pull request #31517:
URL: https://github.com/apache/spark/pull/31517#issuecomment-896607723


   > The benchmark, etc. here look promising. My only concern is that hidden 
behaviour changes by switching the library. Do they claim compatibility vs 
Guava at least?
   
   @HyukjinKwon As far as I know, there are some differences in exception 
handling, for example:
   
   **Guava Cache**
   
   ```
      * @throws ExecutionException if a checked exception was thrown while 
loading the value
      * @throws UncheckedExecutionException if an unchecked exception was 
thrown while loading the
      *     value
      * @throws ExecutionError if an error was thrown while loading the value
      */
     V get(K key) throws ExecutionException;
   ```
   
   **Caffeine**
   
   ```
      * @throws NullPointerException if the specified key is null
      * @throws IllegalStateException if the computation detectably attempts a 
recursive update to this
      *         cache that would otherwise never complete
      * @throws CompletionException if a checked exception was thrown while 
loading the value
      * @throws RuntimeException or Error if the {@link CacheLoader} does so, 
in which case the mapping
      *         is left unestablished
      */
     @Nullable
     V get(@NonNull K key);
   ```
   
   But in fact, @ben-manes  also provided 
[CaffeinatedGuava](https://github.com/ben-manes/caffeine/wiki/Guava) to solve 
these differences, but we didn't use `CaffeinatedGuava` at @holdenk 's  
suggestion.
   
   Maybe I don't know enough. @ben-manes  Could you help me give more 
information?
   
   
   
   
   


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



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

Reply via email to