QATOOLS-133 feature(dynamodb): implement loadbalancer strategy for Alternator (DynamoDB client for ScyllaDB)#29
Conversation
|
Due my limited Java knowledge, I'm pasting AI review I did locally (first try) - please confirm it is right (and point errors). Some of these arch remarks should go to commit message (especially from modernization and arch section). Also add a bit info to the Readme.md in Dynamodb dir - so it's clear how to enable this load balancing (or inform that it is on, with link to repo with it). AI Review Summary:
Actionable Recommendations
|
35ed069 to
9c420d8
Compare
The first two are valid ones, I'll fix them ASAP
This one does not make any sense, since it's passing the listing check in CI, meaning everything is Compatible with Java 21 Summary: |
|
There are so many changes here 90% of them are not related to the task at hand (or it's not clear to me that they are related), and it's all in one commit. It's hard to review the core part of the changes related to hooking in the alternator part I would suggest @nyh or @dkropachev reviewing this |
| @@ -1,36 +1,13 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
| <!-- | |||
There was a problem hiding this comment.
Why all the comments stripped here ? If at any point we will want to sync with upstream, it's gonna be painful
There was a problem hiding this comment.
Syncing it with current master is already painful and cannot be done in one go, only cherry picked commits.
Since we are maintaining only two modules, I don't even think we use ScyllaDB module from YCSB, only DynamoDB, and given that the project is basically stale, we should not limit ourselves to using e.g. old java version just because upstream is still on Java 8.
There was a problem hiding this comment.
we are 13 commits from the last time we synced with upstream.
I still don't understand how this alternator change is related to the java version being used... I don't see any reason to pack it with any java version changes
…namoDB client for ScyllaDB) Initial implementation for Loadbalancing strategy for Alternator - ScyllaDB compatible API for DynamoDB. Using the official [Alternator Java Load-Balancer](https://github.com/scylladb/alternator-load-balancing/tree/master/java) - [x] Since this one PR is using Java 21, `checkstyle.xml` has been updated to allow new features from Java 21 not to be counted as errors but allowed. - [x] Additional properties added needed to customize the load-balancing strategy Signed-off-by: Dusan Malusev <dusan@dusanmalusev.dev>
9c420d8 to
87716ce
Compare
…er version is included in the project Signed-off-by: Dusan Malusev <dusan@dusanmalusev.dev>
8dd4987 to
54081dc
Compare
32ad6f2 to
a82a34e
Compare
Signed-off-by: Dusan Malusev <dusan@dusanmalusev.dev>
a82a34e to
ac5b529
Compare
- When loadbalancing is disabled, fall back to the original DynamoDB client - No more static nodes (instroduced for testing, now tests do the discovery, implementation for the DynamoDB /localnodes route) - Trust all certs enabled on all clients when requested, no more TLS not supported Signed-off-by: Dusan Malusev <dusan@dusanmalusev.dev>
Signed-off-by: Dusan Malusev <dusan@dusanmalusev.dev>
Signed-off-by: Dusan Malusev <dusan@dusanmalusev.dev>
|
@dkropachev Can you review? |
soyacz
left a comment
There was a problem hiding this comment.
I could do review only with AI, and it didn't find any significant issues.
(update docs missing and unknown effect of java 21 on other bindings which we don't care?)
LGTM
|
@CodeLieutenant please update with your runs you did to test this |
|
actually, I used wrong model, better one found these: recommendations:
|
Initial implementation for Loadbalancing strategy for Alternator - ScyllaDB compatible API for DynamoDB.
Using the official Alternator Java Load-Balancer
checkstyle.xmlhas been updated to allow new features from Java 21 not to be counted as errors but allowed.SCT Tests: