forked from valkey-io/valkey-glide
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Refactor to Client-Manager-Connection layers #42
Closed
acarbonetto
wants to merge
85
commits into
integ-java-client-milestone-1
from
dev-refactor-netty-client
Closed
Changes from all commits
Commits
Show all changes
85 commits
Select commit
Hold shift + click to select a range
06574ea
Add Jedis and Lettuce benchmarks
jonathanl-bq 5990767
Start ignoring .gradle files
jonathanl-bq 6ae93f5
Update gitignore and remove generated files from git
acarbonetto 8203c4d
Update gitignore and remove generated files from git
acarbonetto e517744
Update gitignore and remove generated files from git
acarbonetto 2a11e9a
Add benchmarks for GET non-existing
jonathanl-bq cbb0dcb
Revert "Update gitignore and remove generated files from git"
acarbonetto 5f51a5b
fix redis-rs submodules
acarbonetto 52df672
Randomize commands in Java benchmarks
jonathanl-bq 84f0efc
rename chooseAction to randomAction
jonathanl-bq 1983974
Add a Java benchmarking app (#7)
acarbonetto 6c1fb45
Add Readme and update install_and_test script to runJava
acarbonetto 46d0cf6
Add Readme and update install_and_test script to runJava
acarbonetto d526f96
Combine java pipeline and java benchmarks (#8)
Yury-Fridlyand 436da8f
Add sync and async clients both to tests. (#12)
Yury-Fridlyand 016f5f6
Move duplicated logic in benchmark JS scripts to a single file, and c…
acarbonetto e57c1ff
Add dataSize option to java benchmark. (#11)
Yury-Fridlyand 8664d05
Rename jabushka to javababushka (#14)
acarbonetto b15f93e
Add missing renames. (#17)
Yury-Fridlyand 1bab56a
Add option to run tests on multiple clients in concurrency (#16)
Yury-Fridlyand d99d27a
Update redis-rs to match main branch
acarbonetto 540f49a
Create clients only once per iteration (#19)
acarbonetto 035ef20
Add Java-client benchmarking app
acarbonetto 0883985
spotless apply
acarbonetto d15ade1
Update on command line options
acarbonetto e3634ba
Update README
acarbonetto 500a043
Spotless apply:
acarbonetto 0bf1678
Update README example
acarbonetto 12efc63
update commandline defaults for review comments
acarbonetto 951aa8b
Remove TLS flag argument from option
acarbonetto adc0bb6
Add lettuce clients for benchmarking
acarbonetto 9fc9022
Spotless apply
acarbonetto 111fc26
Add Jedis clients
acarbonetto 9236e9a
Add to app
acarbonetto 49654c3
Add for-loop for data size list
acarbonetto b3284c1
Add TPS for all async items
acarbonetto 8f1dfa5
spotless apply
acarbonetto 7f690cf
Fix TPS calculations
acarbonetto d00a655
Accept TLS as a flag
acarbonetto b5e9a33
Merge branch 'java-client/add_benchmark_app' into java-client/add_jed…
acarbonetto 3cee673
Merge branch 'java-client/add_jedis_client' into java-client/add_tps
acarbonetto 8dcfec0
Start threads; then wait for results
acarbonetto a615f8a
Add java-jni client
acarbonetto 73c448f
Handle Exceptions from client; add JniSyncClient fixes
acarbonetto 79459f5
Clean up latency and add error checking
acarbonetto c3d235a
Add json reporting. (#10)
Yury-Fridlyand 917dd0e
Merge remote-tracking branch 'origin/java_benchmarks' into java-clien…
Yury-Fridlyand 9e62324
Minor fixes.
Yury-Fridlyand 11a78a3
Fix result printing.
Yury-Fridlyand a2c2670
Add TPS.
Yury-Fridlyand 4b9f8de
Remove duplicates. Reorganize and fix imports.
Yury-Fridlyand d6b72ac
Int ctor fix.
Yury-Fridlyand 58f7b58
Iteration 1.
Yury-Fridlyand d145bdf
Iteration 2: connected!
Yury-Fridlyand 0b03dc5
Iteration 3: `get` and `set`.
Yury-Fridlyand a3075d5
Iteration 4: benchmark.
Yury-Fridlyand 5f10964
Iteration 5: some fixes.
Yury-Fridlyand e3f7596
Change number of threads in Benchmarking threadpool
jonathanl-bq 49c9119
Revert "Change number of threads in Benchmarking threadpool"
jonathanl-bq dd7413b
Add more flushing rules and UT.
Yury-Fridlyand a70c907
Client clean up.
Yury-Fridlyand 14d392b
try to split client - receiving unknown callback id
Yury-Fridlyand 058a05c
Iteration 2 - try to use a singleton-like approach.
Yury-Fridlyand dfbd106
Fix thread pool use for Netty.
Yury-Fridlyand ea30ea1
Revert some core lib changes.
Yury-Fridlyand 9edb6be
Merge remote-tracking branch 'origin/integ-java-client-milestone-1' i…
Yury-Fridlyand 986f468
Revert some changes added by mistake.
Yury-Fridlyand d58bff9
Address PR feedback.
Yury-Fridlyand 507ef9f
Fix generating callback ID and handling new connections.
Yury-Fridlyand 9cecf23
Revert IT.
Yury-Fridlyand 8ffdbea
Add unit tests for Client
acarbonetto 4ecd5d8
Implement Bulk value case in FFI layer
jonathanl-bq 2bf997e
More split.
Yury-Fridlyand 1aa0707
Renaming
Yury-Fridlyand 14e3e18
Fix build.
Yury-Fridlyand 6d2ae81
Clean up commented logging.
Yury-Fridlyand e7ee9a9
Javadoc
Yury-Fridlyand 540120e
Revert some renamings.
Yury-Fridlyand aa5aa52
Optimize a bit.
Yury-Fridlyand 5481dc2
Refactor to Client-Manager-Connection layers
acarbonetto 667d277
Update refactor to include client factory builders
acarbonetto 537d538
Add unit tests for API
acarbonetto 2f81317
Clean up sync calls; add close connection
acarbonetto e828f0c
Update for review comments
acarbonetto 3086e6f
Applying some fixes from `dev-split-netty-client` branch.
Yury-Fridlyand File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,11 +6,11 @@ language api to enhance performance and limit cpu cycles at scale. | |
|
||
## Organization | ||
|
||
The Java client (javababushka) contains the following parts: | ||
The Java client contains the following parts: | ||
|
||
1. A Java client (lib folder): wrapper to rust-client. | ||
2. An examples script: to sanity test javababushka and similar java-clients against a redis host. | ||
3. A benchmark app: to performance benchmark test javababushka and similar java-clients against a redis host. | ||
2. An examples script: to sanity test babushka and similar java-clients against a redis host. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "Babushka"... but honestly, we have to change this anyways. |
||
3. A benchmark app: to performance benchmark test babushka and similar java-clients against a redis host. | ||
|
||
## Building | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
...vababushka/benchmarks/clients/Client.java → ...a/babushka/benchmarks/clients/Client.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...bushka/benchmarks/clients/SyncClient.java → ...bushka/benchmarks/clients/SyncClient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
68 changes: 68 additions & 0 deletions
68
java/benchmarks/src/main/java/babushka/benchmarks/clients/babushka/JniNettyClient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
package babushka.benchmarks.clients.babushka; | ||
|
||
import babushka.api.Awaiter; | ||
import babushka.api.Client; | ||
import babushka.api.Commands; | ||
import babushka.api.Connection; | ||
import babushka.benchmarks.clients.AsyncClient; | ||
import babushka.benchmarks.clients.SyncClient; | ||
import babushka.benchmarks.utils.ConnectionSettings; | ||
import java.util.concurrent.Future; | ||
|
||
public class JniNettyClient implements SyncClient, AsyncClient { | ||
|
||
private final Connection connection; | ||
private final Commands asyncCommands; | ||
|
||
private String name = "JNI Netty"; | ||
|
||
public JniNettyClient(boolean async) { | ||
name += async ? " async" : " sync"; | ||
connection = Client.CreateConnection(); | ||
asyncCommands = Client.GetAsyncCommands(connection); | ||
} | ||
|
||
@Override | ||
public String getName() { | ||
return name; | ||
} | ||
|
||
@Override | ||
public void connectToRedis() { | ||
connectToRedis(new ConnectionSettings("localhost", 6379, false, false)); | ||
} | ||
|
||
@Override | ||
public void connectToRedis(ConnectionSettings connectionSettings) { | ||
waitForResult(asyncConnectToRedis(connectionSettings)); | ||
} | ||
|
||
@Override | ||
public Future<Boolean> asyncConnectToRedis(ConnectionSettings connectionSettings) { | ||
return connection.connectToRedis( | ||
connectionSettings.host, | ||
connectionSettings.port, | ||
connectionSettings.useSsl, | ||
connectionSettings.clusterMode); | ||
} | ||
|
||
@Override | ||
public Future<String> asyncSet(String key, String value) { | ||
return asyncCommands.set(key, value); | ||
} | ||
|
||
@Override | ||
public Future<String> asyncGet(String key) { | ||
return asyncCommands.get(key); | ||
} | ||
|
||
@Override | ||
public void set(String key, String value) { | ||
Awaiter.await(asyncCommands.set(key, value)); | ||
} | ||
|
||
@Override | ||
public String get(String key) { | ||
return Awaiter.await(asyncCommands.get(key)); | ||
} | ||
} |
6 changes: 3 additions & 3 deletions
6
...benchmarks/clients/jedis/JedisClient.java → ...benchmarks/clients/jedis/JedisClient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 3 additions & 3 deletions
6
...clients/jedis/JedisPseudoAsyncClient.java → ...clients/jedis/JedisPseudoAsyncClient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 3 additions & 3 deletions
6
...s/clients/lettuce/LettuceAsyncClient.java → ...s/clients/lettuce/LettuceAsyncClient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
...ts/lettuce/LettuceAsyncClusterClient.java → ...ts/lettuce/LettuceAsyncClusterClient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 3 additions & 3 deletions
6
...hmarks/clients/lettuce/LettuceClient.java → ...hmarks/clients/lettuce/LettuceClient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...bushka/benchmarks/utils/ChosenAction.java → ...bushka/benchmarks/utils/ChosenAction.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
.../benchmarks/utils/ConnectionSettings.java → .../benchmarks/utils/ConnectionSettings.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
package javababushka.benchmarks.utils; | ||
package babushka.benchmarks.utils; | ||
|
||
import lombok.AllArgsConstructor; | ||
|
||
|
2 changes: 1 addition & 1 deletion
2
...babushka/benchmarks/utils/JsonWriter.java → ...babushka/benchmarks/utils/JsonWriter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...shka/benchmarks/utils/LatencyResults.java → ...shka/benchmarks/utils/LatencyResults.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
package javababushka.benchmarks.utils; | ||
package babushka.benchmarks.utils; | ||
|
||
import lombok.AllArgsConstructor; | ||
|
||
|
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should revert this