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]