-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
java.lang.NoSuchMethodError when using lettuce 6.x #49
Comments
I have the same problem. 0.7.0 Incompatible with lettuce-core:5.3.7.
I compared the two versions(ratelimitj-redis 0.7.0-RC3 / 0.7.0) and found that they were basically the same. Except this:
ratelimitj-core doesn't change anything. But if you run it(ratelimitj-redis:0.7.0) in source code, it works. I think it(NoSuchMethodError) should not be affected by dependencies. I wonder what caused it. |
The incompatibility with lettuce-core 6.x was fixed in f37eb87, when the dependency on lettuce-core was upgraded from 5.3.4 to 6.0.2, so this issue is resolved as reported. However, the fix means that users of ratelimitj need to also upgrade lettuce-core 6.x. @sycz I don't know about now, but back when I reported this issue, the incompatibility wouldn't bite you if you built ratelimitj yourself, because the change that was made to lettuce-core was still source-compatible with ratelimitj, just not binary compatible with anything that used the |
It looks like lettuce 6.x introduced a binary incompatibility that makes ratelimitj break at runtime.
The breakage we're running into is that
RedisScriptLoader
callsRedisScriptingReactiveCommands.scriptLoad
, and this changed from being a single method with the signatureMono<String> scriptLoad(V script)
to a pair of methods,Mono<String> scriptLoad(String script)
andMono<String> scriptLoad(byte[] script)
.This change appears to be source compatible with ratelimitj. I tried changing ratelimitj's dependency on lettuce from
io.lettuce:lettuce-core:5.3.4.RELEASE
toio.lettuce:lettuce-core:6.0.2.RELEASE
, and./gradlew ratelimitj-redis:check
builds and passes with the new version of lettuce.The text was updated successfully, but these errors were encountered: