In AbstractRetryInterceptor we currently catch a RetryException and throw its cause. Consequently, the user has no way to access the actual RetryException, which may contain a meaningful error message as well as exceptions from previous attempts as suppressed exceptions.
To improve diagnostics, we should at least log a RetryException thrown by RetryTemplate when it's used behind the scenes for @Retryable method invocations.