Skip to content
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: Changed handling of large requests to transfer them as leaked pointers #1708

Merged
merged 23 commits into from
Jun 29, 2024

Conversation

jduo
Copy link
Collaborator

@jduo jduo commented Jun 29, 2024

Issue #, if available:
N/A

Description of changes:
Large protobuf messages are extremely slow to decode/encode, and with large messages (e.g., 512MB), the client becomes unresponsive. We resolve this issue by passing the arguments as a leaked pointer instead of a bytes vector when the message size exceeds the limit.

This PR is a port of #1655 for Java

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@jduo
Copy link
Collaborator Author

jduo commented Jun 29, 2024

This PR currently includes the contents of #1601

@jduo jduo marked this pull request as ready for review June 29, 2024 13:29
@jduo jduo requested a review from a team as a code owner June 29, 2024 13:29
@jduo
Copy link
Collaborator Author

jduo commented Jun 29, 2024

java/src/lib.rs Outdated Show resolved Hide resolved
@@ -306,7 +305,7 @@ public abstract class BaseTransaction<T extends BaseTransaction<T>> {
* }</pre>
*/
public T customCommand(String[] args) {
ArgsArray commandArgs = buildArgs(args);
String[] commandArgs = buildArgs(args);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this on purpose? I don't know why you changed this.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nevemind - I see the reason now. This can cause merge conflicts with everyone - we will need to ask everyone to rebase after this is merged.

Copy link
Collaborator Author

@jduo jduo Jun 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah it's a mess and very slow and error-prone to fix by hand. I think after Java commands are done we probably want to robocode this.

Copy link
Collaborator

@acarbonetto acarbonetto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks James

@@ -306,7 +305,7 @@ public abstract class BaseTransaction<T extends BaseTransaction<T>> {
* }</pre>
*/
public T customCommand(String[] args) {
ArgsArray commandArgs = buildArgs(args);
String[] commandArgs = buildArgs(args);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nevemind - I see the reason now. This can cause merge conflicts with everyone - we will need to ask everyone to rebase after this is merged.

@@ -4,10 +4,12 @@
import response.ResponseOuterClass.Response;

public class RedisValueResolver {
public static final long MAX_REQUEST_ARGS_LENGTH;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Length" is ambiguous in the context (could be number of arguments, number of characters, or memory size). Consider adding typing to make it more explicit, e.g.

Suggested change
public static final long MAX_REQUEST_ARGS_LENGTH;
public static final long MAX_REQUEST_ARGS_LENGTH_IN_BYTES;

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I agree. I'll update this and the JNI function name. Also I'll clarify why we use JNI instead of just hard-coding a constant.

@acarbonetto acarbonetto merged commit c0d2e72 into valkey-io:main Jun 29, 2024
17 checks passed
@Yury-Fridlyand Yury-Fridlyand deleted the use_args_ptr_java branch June 29, 2024 23:22
acarbonetto added a commit to Bit-Quill/valkey-glide that referenced this pull request Jun 30, 2024
* Python: add XPENDING command (valkey-io#1704)

* Python: add XPENDING command

* PR suggestions

* PR suggestions

* Java: Add Command GeoSearch & GeoSearchStore

* Java: Add Command GeoSearch & GeoSearchStore
---------

* trigger build

* Python: add RANDOMKEY command (valkey-io#1701)

* Python: add RANDOMKEY command

* Enable randomkey() test for that redis-rs is fixed

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* NOP push

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Python: add FUNCTION FLUSH command (valkey-io#1700)

* Python: Added FUNCTION LOAD command

* Python: adds FUNCTION FLUSH command

* Updated CHANGELOG.md

* Resolved merge issues related to FlushMode

* Minor adjustments on command documentation

* Revert one minor change in example.

---------

Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* removing redis references

* Java: Handle panics and errors in the Java FFI layer (valkey-io#1601)

* Restructure Java FFI layer to handle errors properly

* Fix failing tests

* Address clippy lints

* Add tests for error and panic handling

* Add missing errors module

* Fix clippy lint

* Fix FFI tests

* Apply Spotless

* Fix some minor issue I forgot about

* Add some comments

* Apply Spotless

* Make handle_panics return Option<T> instead

* Java: Add SSCAN and ZSCAN commands (valkey-io#1705)

* Java: Add `SSCAN` command (#394)

* Add ScanOptions base class for scan-family options.
* Expose the cursor as a String to support unsigned 64-bit cursor values.

Co-authored-by: James Duong <james.duong@improving.com>

* Java: Add `ZSCAN` command (#397)

---------

Co-authored-by: James Duong <james.duong@improving.com>

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Correct use of SScanOptions instead of ScanOptions for SScan

* Remove plumbing for SCAN command

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* WIP with todos

# Conflicts:
#	glide-core/src/protobuf/redis_request.proto
#	glide-core/src/request_type.rs
#	java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

* Add ZScan to TransactionTestUtilities

* Spotless cleanup

* Test fixes

* Cleanup test code

* Apply IntelliJ suggestions
* Use String.valueOf() instead of concatenating empty string

* Added better error info for set comparison failures

* More logging for test failures

* Add sleeps after zadd() calls

To help make sure data is consistent without WAIT

* Longer sleeps

* Reduce wait time

* Experiment with unsigned 64-bit cursors

* Fix rebase error

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Apply PR comments

* Fix method ordering in BaseTransaction
* Fix broken line breaks within code tags in ScanOptions
* More thoroughly test results in SharedCommandTests

* Add better logging for set comparisons

* Spotless

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* Update java/integTest/src/test/java/glide/SharedCommandTests.java

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Update java/integTest/src/test/java/glide/SharedCommandTests.java

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Fix rebase conflicts

* Fix another rebase conflict

* Spotless

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Correctly use constants in TransactionTests

* Rename ScanOptions to BaseScanOptions

* Doc PR fixes

* Treat end of cursor as failure

* Spotless

* Fixes

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Minor doc changes

---------

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* CI: Add Support for Valkey 6.2, 7.0 and 7.2  (valkey-io#1711)

- Transitioned the engine building process to be sourced from the Valkey repository.
- Introduced compatibility with the following engine versions:
Valkey and Redis 6.2
Valkey and Redis 7.0
Valkey and Redis 7.2 (first stable release of Valkey 7.2.5.)
- Engine Installation Checks:
Added check that the engine is installed with the requested version.
- Moved the engine version matrix to a JSON file for better management and readability.
- Fixed Object Encoding tests to expect quicklist on versions < 7.2 instead of 7.0
- Fixed C# and Java version parsing from redis-server -v output to support also Valkey's output
- Updated the README file with the supported versions & engine typ

* Python: add FUNCTION DELETE command (valkey-io#1714)

* Python: adds FUNCTION DELETE command

Co-authored-by: Shoham Elias <shohame@amazon.com>

* Python: add `SSCAN` command (valkey-io#1709)

* Added sscan command to python

* Fixed formatting

* Fixed CI failures

* Lint

* Improved example and test

* Changes based on sscan java PR

* Added to changelog

* Addressed PR comments

* Added string casting

* Java: Add HSCAN command (valkey-io#1706)

* Java: Add `SSCAN` command (#394)

* Add ScanOptions base class for scan-family options.
* Expose the cursor as a String to support unsigned 64-bit cursor values.

Co-authored-by: James Duong <james.duong@improving.com>

* Java: Add `ZSCAN` command (#397)

---------

Co-authored-by: James Duong <james.duong@improving.com>

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Correct use of SScanOptions instead of ScanOptions for SScan

* Remove plumbing for SCAN command

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* WIP with todos

# Conflicts:
#	glide-core/src/protobuf/redis_request.proto
#	glide-core/src/request_type.rs
#	java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

* Add ZScan to TransactionTestUtilities

* Spotless cleanup

* Test fixes

* Cleanup test code

* Apply IntelliJ suggestions
* Use String.valueOf() instead of concatenating empty string

* Added better error info for set comparison failures

* More logging for test failures

* Add sleeps after zadd() calls

To help make sure data is consistent without WAIT

* Longer sleeps

* Reduce wait time

* Experiment with unsigned 64-bit cursors

* Fix rebase error

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* Fix rebase conflicts

* Fix another rebase conflict

* Spotless

* HScan

* Flakey test

* Add HScan transaction unit test

* Rename ScanOptions to BaseScanOptions

* Fix merge issues

* Fix module-info ordering

* Tidy up docs

* PR comments

Fix up merge duplication and use HScanOptions constants.

---------

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Python: add LCS command (valkey-io#1716)

* python: add LCS command (#406)

* python: add LCS command

* update CHANGELOG

* add more comment explaning the functionality of the command

* address comments on the docs

* Java: Changed handling of large requests to transfer them as leaked pointers (valkey-io#1708)

* Restructure Java FFI layer to handle errors properly

* Address clippy lints

* Add tests for error and panic handling

* Fix FFI tests

* Apply Spotless

* Fix some minor issue I forgot about

* Add API to create the leaked bytes vec

* Bridge the MAX_REQUEST_ARGS_LENGTH constant from Rust to Java

* Fix warnings in Rust

* Update Java client to utilize the pointer with large argument sizes

* Update createLeakedBytesVec to handle panics

* spotless

* Add docs and run Rust linters

* Add large value tests

* Fix transactions and add transaction tests

* dummy commit for CI

* Revert "dummy commit for CI"

This reverts commit 3ed1937.

* Fix JDK11 build issue

Due to using a JDK17 function

* Fix another JDK11 issue

* Fix merge issues.

* Remove unneccesary mut prefix

* Clarify the MAX_REQUEST_ARGS_LENGTH_IN_BYTES constant

* Fix merge issue

---------

Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>

* Create initial workflow for publishing to Maven Central (valkey-io#1600)

* WIP Create initial workflow for publishing to Maven Central (valkey-io#1594)

* WIP Create initial workflow for publishing to Maven Central

* Add classifier to workflow

* Remove condition to allow all jobs to run

* Try to fix Gradle workflow errors

* Re-enable aws related options

* Add missing property

* Revert "Add missing property"

This reverts commit 6cc5fba.

* Add AWS_ACTIONS option

* Sign JAR file

* Fix signing issue

* Try to fix issue with generating secring.gpg file

* Fix path to secring.gpg

* Try to fix secring.gpg retrieval issue

* Remove base64 decode

* Try to fix multi-line issue with GPG key secret

* Go back to echo approach

* Decode base64 properly this time

* Use GPG_KEY_ID

* Surround password in quotes

* Publish JAR to local Maven and upload

* Update examples build.gradle

* Sign publishToMavenLocal build

* Update version of Java JAR

* Properly fetch src_folder variable contents

* Reorganize JAR contents

* Update path of uploaded JAR

* Update artifact ID

* Add missing comma

* Replace placeholders in build.gradle

* Update examples build.gradle

* Remove test runs from java.yml workflow

* Add debugging info to workflow

* Adjust debug info

* Readd placeholder text in build.gradle

* Add more debug info

* Change how the JAR is copied

* Add configurations for ARM linux and x86 macos

* Prevent output artifacts from being swallowed

* Update build matrix to use proper RUNNERs

* Try to use self-hosted runner for ARM Linux builds

* Delete gradle-cd workflow

* Add id-token permissions

* Add step to setup self-hosted runner access

* Add CONTAINER property to java.yml workflow

* Remove install Redis step from java.yml workflow

* Remove test-benchmark step from java.yml workflow

* Fix issue with Java classifier

* Update java.yml to use classifier

* Bump version and add archiveClassifier

* Change groupId to valkey-client

* Update example and base archive name

* Update workflow

* Rename to glide-for-redis

* Extracting Java Deployment to a different workflow

Workflow will only trigger when a tag is pushed to the repo

Version is extracted from the tag and replaced in the build.grade files

reverted changes of java.yml file

* trying to make the workflow to build

* testing action to prepare build

* forcing new action to trigger

* Revert "forcing new action to trigger"

This reverts commit d097a1f.

* Revert "testing action to prepare build"

This reverts commit 8864434.

* Revert "trying to make the workflow to build"

This reverts commit 143818a.

* Revert "Extracting Java Deployment to a different workflow"

This reverts commit faff846.

* Revert "Revert "Extracting Java Deployment to a different workflow""

This reverts commit 11f8470.

* fixing workflow

* fixed path for the local maven

* removing bundle from the tests
fix to the JAVA CI not finding tests dependencies

* fix java workflow

* removing classifier from the pom

* fixing concurrency

* Remove publishToMavenLocal line in examples build.gradle

* fix examples

* cleaning up java.yml

* testing removing test dependency

* adding skip signing

* Revert "adding skip signing"

This reverts commit e448788.

* Revert "testing removing test dependency"

This reverts commit d0e06b7.

* Revert "cleaning up java.yml"

This reverts commit e7394d7.

* removing dependency of singing in the local build

* java.yml clean up

* removing steps from java.yml

* added comments

* removed step on sed the examples and removed if always from the upload artifacts

---------

Co-authored-by: affonsov <affonsov@bitquilltech.com>
Co-authored-by: affonsov <affonso.vieira@improving.com>

* valkey-io#1715: fix flakey test in xpending (valkey-io#1717)

valkey-io#1715: fix flacky test in xpending

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Java: Adding command WAIT (valkey-io#1707)

* Java: Adding command WAIT

Java: Adding command WAIT

* addressing comments

* fixing timeout_idx in get_timeout_from_cmd_args call

* update timeout check

* fixing rust test

* adding special case for WAIT

* rust linter

* remove special case in get_timeout_from_cmd_args

* adding description for timeout 0

* rust linter

* updating timeout test

* changing transaction documentation

---------

Co-authored-by: TJ Zhang <tj.zhang@improving.com>

* support smismember with GlideString (valkey-io#1694)

* Support GlideString for sdiff commands (valkey-io#1722)

Co-authored-by: Yulazari <yulazari@b0de28c93acb.ant.amazon.com>

* Updated attribution files

* support hset, hget, lindex, linsert, blmove, incr, hlen and lmove wit… (valkey-io#1667)

* Python: move the commands return value to bytes (valkey-io#1617)

* In the case of Simple String, Bulk String, or Verbatim String commands, Bytes will be returned instead of strings.

---------

Co-authored-by: GilboaAWS <gilboabg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-43.eu-west-1.compute.internal>
Co-authored-by: Adar Ovadia <adarov@amazon.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>

* Java: Add XGROUP SETID command (valkey-io#1720)

* Initial implementation of XGroupSetId

* Unit tests

* Add integration tests

* PR feedback

* Address PR comments

doc updates

* Add 7.0.0 transaction integration test

* Java: update README directory to include Java's README.md (valkey-io#1734)

add java part to readme directory

* Java: Add XCLAIM command

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add unit tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* SPOTLESS

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update IT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update IT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add UT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Fix transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update XCLAIM with options; remove LASTID

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add a couple more test cases

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* clean up

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Clean rust

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add examples

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Move to 2D string array in response

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Fix Transaction tests; update examples

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* SPOTLESS

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Aaron <69273634+aaron-congo@users.noreply.github.com>
Co-authored-by: tjzhang-BQ <111323543+tjzhang-BQ@users.noreply.github.com>
Co-authored-by: TJ Zhang <tj.zhang@improving.com>
Co-authored-by: Yi-Pin Chen <yi-pin.chen@improving.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: jonathanl-bq <72158117+jonathanl-bq@users.noreply.github.com>
Co-authored-by: James Duong <duong.james@gmail.com>
Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>
Co-authored-by: Bar Shaul <88437685+barshaul@users.noreply.github.com>
Co-authored-by: James Duong <james.duong@improving.com>
Co-authored-by: James Xin <126831592+jamesx-improving@users.noreply.github.com>
Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>
Co-authored-by: affonsov <affonsov@bitquilltech.com>
Co-authored-by: affonsov <affonso.vieira@improving.com>
Co-authored-by: Alon Arenberg <93711356+alon-arenberg@users.noreply.github.com>
Co-authored-by: yulazariy <yulazari@amazon.com>
Co-authored-by: Yulazari <yulazari@b0de28c93acb.ant.amazon.com>
Co-authored-by: ort-bot <glide-for-redis@amazon.com>
Co-authored-by: adarovadya <adarovadya@gmail.com>
Co-authored-by: GilboaAWS <gilboabg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-43.eu-west-1.compute.internal>
Co-authored-by: Adar Ovadia <adarov@amazon.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Co-authored-by: Chloe Yip <168601573+cyip10@users.noreply.github.com>
acarbonetto added a commit to Bit-Quill/valkey-glide that referenced this pull request Jun 30, 2024
* Python: add XPENDING command (valkey-io#1704)

* Python: add XPENDING command

* PR suggestions

* PR suggestions

* Java: Add Command GeoSearch & GeoSearchStore

* Java: Add Command GeoSearch & GeoSearchStore
---------

* trigger build

* Python: add RANDOMKEY command (valkey-io#1701)

* Python: add RANDOMKEY command

* Enable randomkey() test for that redis-rs is fixed

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* NOP push

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Python: add FUNCTION FLUSH command (valkey-io#1700)

* Python: Added FUNCTION LOAD command

* Python: adds FUNCTION FLUSH command

* Updated CHANGELOG.md

* Resolved merge issues related to FlushMode

* Minor adjustments on command documentation

* Revert one minor change in example.

---------

Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* removing redis references

* Java: Handle panics and errors in the Java FFI layer (valkey-io#1601)

* Restructure Java FFI layer to handle errors properly

* Fix failing tests

* Address clippy lints

* Add tests for error and panic handling

* Add missing errors module

* Fix clippy lint

* Fix FFI tests

* Apply Spotless

* Fix some minor issue I forgot about

* Add some comments

* Apply Spotless

* Make handle_panics return Option<T> instead

* Java: Add SSCAN and ZSCAN commands (valkey-io#1705)

* Java: Add `SSCAN` command (#394)

* Add ScanOptions base class for scan-family options.
* Expose the cursor as a String to support unsigned 64-bit cursor values.

Co-authored-by: James Duong <james.duong@improving.com>

* Java: Add `ZSCAN` command (#397)

---------

Co-authored-by: James Duong <james.duong@improving.com>

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Correct use of SScanOptions instead of ScanOptions for SScan

* Remove plumbing for SCAN command

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* WIP with todos

* Add ZScan to TransactionTestUtilities

* Spotless cleanup

* Test fixes

* Cleanup test code

* Apply IntelliJ suggestions
* Use String.valueOf() instead of concatenating empty string

* Added better error info for set comparison failures

* More logging for test failures

* Add sleeps after zadd() calls

To help make sure data is consistent without WAIT

* Longer sleeps

* Reduce wait time

* Experiment with unsigned 64-bit cursors

* Fix rebase error

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Apply PR comments

* Fix method ordering in BaseTransaction
* Fix broken line breaks within code tags in ScanOptions
* More thoroughly test results in SharedCommandTests

* Add better logging for set comparisons

* Spotless

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* Update java/integTest/src/test/java/glide/SharedCommandTests.java

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Update java/integTest/src/test/java/glide/SharedCommandTests.java

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Fix rebase conflicts

* Fix another rebase conflict

* Spotless

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Correctly use constants in TransactionTests

* Rename ScanOptions to BaseScanOptions

* Doc PR fixes

* Treat end of cursor as failure

* Spotless

* Fixes

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Minor doc changes

---------

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* CI: Add Support for Valkey 6.2, 7.0 and 7.2  (valkey-io#1711)

- Transitioned the engine building process to be sourced from the Valkey repository.
- Introduced compatibility with the following engine versions:
Valkey and Redis 6.2
Valkey and Redis 7.0
Valkey and Redis 7.2 (first stable release of Valkey 7.2.5.)
- Engine Installation Checks:
Added check that the engine is installed with the requested version.
- Moved the engine version matrix to a JSON file for better management and readability.
- Fixed Object Encoding tests to expect quicklist on versions < 7.2 instead of 7.0
- Fixed C# and Java version parsing from redis-server -v output to support also Valkey's output
- Updated the README file with the supported versions & engine typ

* Python: add FUNCTION DELETE command (valkey-io#1714)

* Python: adds FUNCTION DELETE command

Co-authored-by: Shoham Elias <shohame@amazon.com>

* Python: add `SSCAN` command (valkey-io#1709)

* Added sscan command to python

* Fixed formatting

* Fixed CI failures

* Lint

* Improved example and test

* Changes based on sscan java PR

* Added to changelog

* Addressed PR comments

* Added string casting

* Java: Add HSCAN command (valkey-io#1706)

* Java: Add `SSCAN` command (#394)

* Add ScanOptions base class for scan-family options.
* Expose the cursor as a String to support unsigned 64-bit cursor values.

Co-authored-by: James Duong <james.duong@improving.com>

* Java: Add `ZSCAN` command (#397)

---------

Co-authored-by: James Duong <james.duong@improving.com>

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Correct use of SScanOptions instead of ScanOptions for SScan

* Remove plumbing for SCAN command

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* WIP with todos

* Add ZScan to TransactionTestUtilities

* Spotless cleanup

* Test fixes

* Cleanup test code

* Apply IntelliJ suggestions
* Use String.valueOf() instead of concatenating empty string

* Added better error info for set comparison failures

* More logging for test failures

* Add sleeps after zadd() calls

To help make sure data is consistent without WAIT

* Longer sleeps

* Reduce wait time

* Experiment with unsigned 64-bit cursors

* Fix rebase error

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* Fix rebase conflicts

* Fix another rebase conflict

* Spotless

* HScan

* Flakey test

* Add HScan transaction unit test

* Rename ScanOptions to BaseScanOptions

* Fix merge issues

* Fix module-info ordering

* Tidy up docs

* PR comments

Fix up merge duplication and use HScanOptions constants.

---------

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Python: add LCS command (valkey-io#1716)

* python: add LCS command (#406)

* python: add LCS command

* update CHANGELOG

* add more comment explaning the functionality of the command

* address comments on the docs

* Java: Changed handling of large requests to transfer them as leaked pointers (valkey-io#1708)

* Restructure Java FFI layer to handle errors properly

* Address clippy lints

* Add tests for error and panic handling

* Fix FFI tests

* Apply Spotless

* Fix some minor issue I forgot about

* Add API to create the leaked bytes vec

* Bridge the MAX_REQUEST_ARGS_LENGTH constant from Rust to Java

* Fix warnings in Rust

* Update Java client to utilize the pointer with large argument sizes

* Update createLeakedBytesVec to handle panics

* spotless

* Add docs and run Rust linters

* Add large value tests

* Fix transactions and add transaction tests

* dummy commit for CI

* Revert "dummy commit for CI"

This reverts commit 3ed1937.

* Fix JDK11 build issue

Due to using a JDK17 function

* Fix another JDK11 issue

* Fix merge issues.

* Remove unneccesary mut prefix

* Clarify the MAX_REQUEST_ARGS_LENGTH_IN_BYTES constant

* Fix merge issue

---------

Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>

* Create initial workflow for publishing to Maven Central (valkey-io#1600)

* WIP Create initial workflow for publishing to Maven Central (valkey-io#1594)

* WIP Create initial workflow for publishing to Maven Central

* Add classifier to workflow

* Remove condition to allow all jobs to run

* Try to fix Gradle workflow errors

* Re-enable aws related options

* Add missing property

* Revert "Add missing property"

This reverts commit 6cc5fba.

* Add AWS_ACTIONS option

* Sign JAR file

* Fix signing issue

* Try to fix issue with generating secring.gpg file

* Fix path to secring.gpg

* Try to fix secring.gpg retrieval issue

* Remove base64 decode

* Try to fix multi-line issue with GPG key secret

* Go back to echo approach

* Decode base64 properly this time

* Use GPG_KEY_ID

* Surround password in quotes

* Publish JAR to local Maven and upload

* Update examples build.gradle

* Sign publishToMavenLocal build

* Update version of Java JAR

* Properly fetch src_folder variable contents

* Reorganize JAR contents

* Update path of uploaded JAR

* Update artifact ID

* Add missing comma

* Replace placeholders in build.gradle

* Update examples build.gradle

* Remove test runs from java.yml workflow

* Add debugging info to workflow

* Adjust debug info

* Readd placeholder text in build.gradle

* Add more debug info

* Change how the JAR is copied

* Add configurations for ARM linux and x86 macos

* Prevent output artifacts from being swallowed

* Update build matrix to use proper RUNNERs

* Try to use self-hosted runner for ARM Linux builds

* Delete gradle-cd workflow

* Add id-token permissions

* Add step to setup self-hosted runner access

* Add CONTAINER property to java.yml workflow

* Remove install Redis step from java.yml workflow

* Remove test-benchmark step from java.yml workflow

* Fix issue with Java classifier

* Update java.yml to use classifier

* Bump version and add archiveClassifier

* Change groupId to valkey-client

* Update example and base archive name

* Update workflow

* Rename to glide-for-redis

* Extracting Java Deployment to a different workflow

Workflow will only trigger when a tag is pushed to the repo

Version is extracted from the tag and replaced in the build.grade files

reverted changes of java.yml file

* trying to make the workflow to build

* testing action to prepare build

* forcing new action to trigger

* Revert "forcing new action to trigger"

This reverts commit d097a1f.

* Revert "testing action to prepare build"

This reverts commit 8864434.

* Revert "trying to make the workflow to build"

This reverts commit 143818a.

* Revert "Extracting Java Deployment to a different workflow"

This reverts commit faff846.

* Revert "Revert "Extracting Java Deployment to a different workflow""

This reverts commit 11f8470.

* fixing workflow

* fixed path for the local maven

* removing bundle from the tests
fix to the JAVA CI not finding tests dependencies

* fix java workflow

* removing classifier from the pom

* fixing concurrency

* Remove publishToMavenLocal line in examples build.gradle

* fix examples

* cleaning up java.yml

* testing removing test dependency

* adding skip signing

* Revert "adding skip signing"

This reverts commit e448788.

* Revert "testing removing test dependency"

This reverts commit d0e06b7.

* Revert "cleaning up java.yml"

This reverts commit e7394d7.

* removing dependency of singing in the local build

* java.yml clean up

* removing steps from java.yml

* added comments

* removed step on sed the examples and removed if always from the upload artifacts

---------

Co-authored-by: affonsov <affonsov@bitquilltech.com>
Co-authored-by: affonsov <affonso.vieira@improving.com>

* valkey-io#1715: fix flakey test in xpending (valkey-io#1717)

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Java: Adding command WAIT (valkey-io#1707)

* Java: Adding command WAIT

Java: Adding command WAIT

* addressing comments

* fixing timeout_idx in get_timeout_from_cmd_args call

* update timeout check

* fixing rust test

* adding special case for WAIT

* rust linter

* remove special case in get_timeout_from_cmd_args

* adding description for timeout 0

* rust linter

* updating timeout test

* changing transaction documentation

---------

Co-authored-by: TJ Zhang <tj.zhang@improving.com>

* support smismember with GlideString (valkey-io#1694)

* Support GlideString for sdiff commands (valkey-io#1722)

Co-authored-by: Yulazari <yulazari@b0de28c93acb.ant.amazon.com>

* Updated attribution files

* support hset, hget, lindex, linsert, blmove, incr, hlen and lmove wit… (valkey-io#1667)

* Python: move the commands return value to bytes (valkey-io#1617)

* In the case of Simple String, Bulk String, or Verbatim String commands, Bytes will be returned instead of strings.

---------

Co-authored-by: GilboaAWS <gilboabg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-43.eu-west-1.compute.internal>
Co-authored-by: Adar Ovadia <adarov@amazon.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>

* Java: Add XGROUP SETID command (valkey-io#1720)

* Initial implementation of XGroupSetId

* Unit tests

* Add integration tests

* PR feedback

* Address PR comments

doc updates

* Add 7.0.0 transaction integration test

* Java: update README directory to include Java's README.md (valkey-io#1734)

add java part to readme directory

* Java: Add XCLAIM command

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add unit tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* SPOTLESS

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update IT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update IT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add UT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Fix transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update XCLAIM with options; remove LASTID

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add a couple more test cases

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* clean up

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Clean rust

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add examples

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Move to 2D string array in response

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Fix Transaction tests; update examples

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* SPOTLESS

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Aaron <69273634+aaron-congo@users.noreply.github.com>
Co-authored-by: tjzhang-BQ <111323543+tjzhang-BQ@users.noreply.github.com>
Co-authored-by: TJ Zhang <tj.zhang@improving.com>
Co-authored-by: Yi-Pin Chen <yi-pin.chen@improving.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: jonathanl-bq <72158117+jonathanl-bq@users.noreply.github.com>
Co-authored-by: James Duong <duong.james@gmail.com>
Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>
Co-authored-by: Bar Shaul <88437685+barshaul@users.noreply.github.com>
Co-authored-by: James Duong <james.duong@improving.com>
Co-authored-by: James Xin <126831592+jamesx-improving@users.noreply.github.com>
Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>
Co-authored-by: affonsov <affonsov@bitquilltech.com>
Co-authored-by: affonsov <affonso.vieira@improving.com>
Co-authored-by: Alon Arenberg <93711356+alon-arenberg@users.noreply.github.com>
Co-authored-by: yulazariy <yulazari@amazon.com>
Co-authored-by: Yulazari <yulazari@b0de28c93acb.ant.amazon.com>
Co-authored-by: ort-bot <glide-for-redis@amazon.com>
Co-authored-by: adarovadya <adarovadya@gmail.com>
Co-authored-by: GilboaAWS <gilboabg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-43.eu-west-1.compute.internal>
Co-authored-by: Adar Ovadia <adarov@amazon.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Co-authored-by: Chloe Yip <168601573+cyip10@users.noreply.github.com>
acarbonetto added a commit to Bit-Quill/valkey-glide that referenced this pull request Jul 1, 2024
* Python: add XPENDING command (valkey-io#1704)

* Python: add XPENDING command

* PR suggestions

* PR suggestions

* Java: Add Command GeoSearch & GeoSearchStore

* Java: Add Command GeoSearch & GeoSearchStore
---------

* trigger build

* Python: add RANDOMKEY command (valkey-io#1701)

* Python: add RANDOMKEY command

* Enable randomkey() test for that redis-rs is fixed

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* NOP push

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Python: add FUNCTION FLUSH command (valkey-io#1700)

* Python: Added FUNCTION LOAD command

* Python: adds FUNCTION FLUSH command

* Updated CHANGELOG.md

* Resolved merge issues related to FlushMode

* Minor adjustments on command documentation

* Revert one minor change in example.

---------

Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* removing redis references

* Java: Handle panics and errors in the Java FFI layer (valkey-io#1601)

* Restructure Java FFI layer to handle errors properly

* Fix failing tests

* Address clippy lints

* Add tests for error and panic handling

* Add missing errors module

* Fix clippy lint

* Fix FFI tests

* Apply Spotless

* Fix some minor issue I forgot about

* Add some comments

* Apply Spotless

* Make handle_panics return Option<T> instead

* Java: Add SSCAN and ZSCAN commands (valkey-io#1705)

* Java: Add `SSCAN` command (#394)

* Add ScanOptions base class for scan-family options.
* Expose the cursor as a String to support unsigned 64-bit cursor values.

Co-authored-by: James Duong <james.duong@improving.com>

* Java: Add `ZSCAN` command (#397)

---------

Co-authored-by: James Duong <james.duong@improving.com>

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Correct use of SScanOptions instead of ScanOptions for SScan

* Remove plumbing for SCAN command

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* WIP with todos

* Add ZScan to TransactionTestUtilities

* Spotless cleanup

* Test fixes

* Cleanup test code

* Apply IntelliJ suggestions
* Use String.valueOf() instead of concatenating empty string

* Added better error info for set comparison failures

* More logging for test failures

* Add sleeps after zadd() calls

To help make sure data is consistent without WAIT

* Longer sleeps

* Reduce wait time

* Experiment with unsigned 64-bit cursors

* Fix rebase error

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Apply PR comments

* Fix method ordering in BaseTransaction
* Fix broken line breaks within code tags in ScanOptions
* More thoroughly test results in SharedCommandTests

* Add better logging for set comparisons

* Spotless

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* Update java/integTest/src/test/java/glide/SharedCommandTests.java

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Update java/integTest/src/test/java/glide/SharedCommandTests.java

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Fix rebase conflicts

* Fix another rebase conflict

* Spotless

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Correctly use constants in TransactionTests

* Rename ScanOptions to BaseScanOptions

* Doc PR fixes

* Treat end of cursor as failure

* Spotless

* Fixes

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Minor doc changes

---------

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* CI: Add Support for Valkey 6.2, 7.0 and 7.2  (valkey-io#1711)

- Transitioned the engine building process to be sourced from the Valkey repository.
- Introduced compatibility with the following engine versions:
Valkey and Redis 6.2
Valkey and Redis 7.0
Valkey and Redis 7.2 (first stable release of Valkey 7.2.5.)
- Engine Installation Checks:
Added check that the engine is installed with the requested version.
- Moved the engine version matrix to a JSON file for better management and readability.
- Fixed Object Encoding tests to expect quicklist on versions < 7.2 instead of 7.0
- Fixed C# and Java version parsing from redis-server -v output to support also Valkey's output
- Updated the README file with the supported versions & engine typ

* Python: add FUNCTION DELETE command (valkey-io#1714)

* Python: adds FUNCTION DELETE command

Co-authored-by: Shoham Elias <shohame@amazon.com>

* Python: add `SSCAN` command (valkey-io#1709)

* Added sscan command to python

* Fixed formatting

* Fixed CI failures

* Lint

* Improved example and test

* Changes based on sscan java PR

* Added to changelog

* Addressed PR comments

* Added string casting

* Java: Add HSCAN command (valkey-io#1706)

* Java: Add `SSCAN` command (#394)

* Add ScanOptions base class for scan-family options.
* Expose the cursor as a String to support unsigned 64-bit cursor values.

Co-authored-by: James Duong <james.duong@improving.com>

* Java: Add `ZSCAN` command (#397)

---------

Co-authored-by: James Duong <james.duong@improving.com>

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Correct use of SScanOptions instead of ScanOptions for SScan

* Remove plumbing for SCAN command

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* WIP with todos

* Add ZScan to TransactionTestUtilities

* Spotless cleanup

* Test fixes

* Cleanup test code

* Apply IntelliJ suggestions
* Use String.valueOf() instead of concatenating empty string

* Added better error info for set comparison failures

* More logging for test failures

* Add sleeps after zadd() calls

To help make sure data is consistent without WAIT

* Longer sleeps

* Reduce wait time

* Experiment with unsigned 64-bit cursors

* Fix rebase error

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* Fix rebase conflicts

* Fix another rebase conflict

* Spotless

* HScan

* Flakey test

* Add HScan transaction unit test

* Rename ScanOptions to BaseScanOptions

* Fix merge issues

* Fix module-info ordering

* Tidy up docs

* PR comments

Fix up merge duplication and use HScanOptions constants.

---------

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Python: add LCS command (valkey-io#1716)

* python: add LCS command (#406)

* python: add LCS command

* update CHANGELOG

* add more comment explaning the functionality of the command

* address comments on the docs

* Java: Changed handling of large requests to transfer them as leaked pointers (valkey-io#1708)

* Restructure Java FFI layer to handle errors properly

* Address clippy lints

* Add tests for error and panic handling

* Fix FFI tests

* Apply Spotless

* Fix some minor issue I forgot about

* Add API to create the leaked bytes vec

* Bridge the MAX_REQUEST_ARGS_LENGTH constant from Rust to Java

* Fix warnings in Rust

* Update Java client to utilize the pointer with large argument sizes

* Update createLeakedBytesVec to handle panics

* spotless

* Add docs and run Rust linters

* Add large value tests

* Fix transactions and add transaction tests

* dummy commit for CI

* Revert "dummy commit for CI"

This reverts commit 3ed1937.

* Fix JDK11 build issue

Due to using a JDK17 function

* Fix another JDK11 issue

* Fix merge issues.

* Remove unneccesary mut prefix

* Clarify the MAX_REQUEST_ARGS_LENGTH_IN_BYTES constant

* Fix merge issue

---------

Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>

* Create initial workflow for publishing to Maven Central (valkey-io#1600)

* WIP Create initial workflow for publishing to Maven Central (valkey-io#1594)

* WIP Create initial workflow for publishing to Maven Central

* Add classifier to workflow

* Remove condition to allow all jobs to run

* Try to fix Gradle workflow errors

* Re-enable aws related options

* Add missing property

* Revert "Add missing property"

This reverts commit 6cc5fba.

* Add AWS_ACTIONS option

* Sign JAR file

* Fix signing issue

* Try to fix issue with generating secring.gpg file

* Fix path to secring.gpg

* Try to fix secring.gpg retrieval issue

* Remove base64 decode

* Try to fix multi-line issue with GPG key secret

* Go back to echo approach

* Decode base64 properly this time

* Use GPG_KEY_ID

* Surround password in quotes

* Publish JAR to local Maven and upload

* Update examples build.gradle

* Sign publishToMavenLocal build

* Update version of Java JAR

* Properly fetch src_folder variable contents

* Reorganize JAR contents

* Update path of uploaded JAR

* Update artifact ID

* Add missing comma

* Replace placeholders in build.gradle

* Update examples build.gradle

* Remove test runs from java.yml workflow

* Add debugging info to workflow

* Adjust debug info

* Readd placeholder text in build.gradle

* Add more debug info

* Change how the JAR is copied

* Add configurations for ARM linux and x86 macos

* Prevent output artifacts from being swallowed

* Update build matrix to use proper RUNNERs

* Try to use self-hosted runner for ARM Linux builds

* Delete gradle-cd workflow

* Add id-token permissions

* Add step to setup self-hosted runner access

* Add CONTAINER property to java.yml workflow

* Remove install Redis step from java.yml workflow

* Remove test-benchmark step from java.yml workflow

* Fix issue with Java classifier

* Update java.yml to use classifier

* Bump version and add archiveClassifier

* Change groupId to valkey-client

* Update example and base archive name

* Update workflow

* Rename to glide-for-redis

* Extracting Java Deployment to a different workflow

Workflow will only trigger when a tag is pushed to the repo

Version is extracted from the tag and replaced in the build.grade files

reverted changes of java.yml file

* trying to make the workflow to build

* testing action to prepare build

* forcing new action to trigger

* Revert "forcing new action to trigger"

This reverts commit d097a1f.

* Revert "testing action to prepare build"

This reverts commit 8864434.

* Revert "trying to make the workflow to build"

This reverts commit 143818a.

* Revert "Extracting Java Deployment to a different workflow"

This reverts commit faff846.

* Revert "Revert "Extracting Java Deployment to a different workflow""

This reverts commit 11f8470.

* fixing workflow

* fixed path for the local maven

* removing bundle from the tests
fix to the JAVA CI not finding tests dependencies

* fix java workflow

* removing classifier from the pom

* fixing concurrency

* Remove publishToMavenLocal line in examples build.gradle

* fix examples

* cleaning up java.yml

* testing removing test dependency

* adding skip signing

* Revert "adding skip signing"

This reverts commit e448788.

* Revert "testing removing test dependency"

This reverts commit d0e06b7.

* Revert "cleaning up java.yml"

This reverts commit e7394d7.

* removing dependency of singing in the local build

* java.yml clean up

* removing steps from java.yml

* added comments

* removed step on sed the examples and removed if always from the upload artifacts

---------

Co-authored-by: affonsov <affonsov@bitquilltech.com>
Co-authored-by: affonsov <affonso.vieira@improving.com>

* valkey-io#1715: fix flakey test in xpending (valkey-io#1717)

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Java: Adding command WAIT (valkey-io#1707)

* Java: Adding command WAIT

Java: Adding command WAIT

* addressing comments

* fixing timeout_idx in get_timeout_from_cmd_args call

* update timeout check

* fixing rust test

* adding special case for WAIT

* rust linter

* remove special case in get_timeout_from_cmd_args

* adding description for timeout 0

* rust linter

* updating timeout test

* changing transaction documentation

---------

Co-authored-by: TJ Zhang <tj.zhang@improving.com>

* support smismember with GlideString (valkey-io#1694)

* Support GlideString for sdiff commands (valkey-io#1722)

Co-authored-by: Yulazari <yulazari@b0de28c93acb.ant.amazon.com>

* Updated attribution files

* support hset, hget, lindex, linsert, blmove, incr, hlen and lmove wit… (valkey-io#1667)

* Python: move the commands return value to bytes (valkey-io#1617)

* In the case of Simple String, Bulk String, or Verbatim String commands, Bytes will be returned instead of strings.

---------

Co-authored-by: GilboaAWS <gilboabg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-43.eu-west-1.compute.internal>
Co-authored-by: Adar Ovadia <adarov@amazon.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>

* Java: Add XGROUP SETID command (valkey-io#1720)

* Initial implementation of XGroupSetId

* Unit tests

* Add integration tests

* PR feedback

* Address PR comments

doc updates

* Add 7.0.0 transaction integration test

* Java: update README directory to include Java's README.md (valkey-io#1734)

add java part to readme directory

* Java: Add XCLAIM command

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add unit tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* SPOTLESS

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update IT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update IT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add UT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Fix transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update XCLAIM with options; remove LASTID

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add a couple more test cases

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* clean up

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Clean rust

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add examples

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Move to 2D string array in response

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Fix Transaction tests; update examples

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* SPOTLESS

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Aaron <69273634+aaron-congo@users.noreply.github.com>
Co-authored-by: tjzhang-BQ <111323543+tjzhang-BQ@users.noreply.github.com>
Co-authored-by: TJ Zhang <tj.zhang@improving.com>
Co-authored-by: Yi-Pin Chen <yi-pin.chen@improving.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: jonathanl-bq <72158117+jonathanl-bq@users.noreply.github.com>
Co-authored-by: James Duong <duong.james@gmail.com>
Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>
Co-authored-by: Bar Shaul <88437685+barshaul@users.noreply.github.com>
Co-authored-by: James Duong <james.duong@improving.com>
Co-authored-by: James Xin <126831592+jamesx-improving@users.noreply.github.com>
Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>
Co-authored-by: affonsov <affonsov@bitquilltech.com>
Co-authored-by: affonsov <affonso.vieira@improving.com>
Co-authored-by: Alon Arenberg <93711356+alon-arenberg@users.noreply.github.com>
Co-authored-by: yulazariy <yulazari@amazon.com>
Co-authored-by: Yulazari <yulazari@b0de28c93acb.ant.amazon.com>
Co-authored-by: ort-bot <glide-for-redis@amazon.com>
Co-authored-by: adarovadya <adarovadya@gmail.com>
Co-authored-by: GilboaAWS <gilboabg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-43.eu-west-1.compute.internal>
Co-authored-by: Adar Ovadia <adarov@amazon.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Co-authored-by: Chloe Yip <168601573+cyip10@users.noreply.github.com>
acarbonetto added a commit that referenced this pull request Jul 1, 2024
* Java: Add XCLAIM command (#392)

* Python: add XPENDING command (#1704)

* Python: add XPENDING command

* PR suggestions

* PR suggestions

* Java: Add Command GeoSearch & GeoSearchStore

* Java: Add Command GeoSearch & GeoSearchStore
---------

* trigger build

* Python: add RANDOMKEY command (#1701)

* Python: add RANDOMKEY command

* Enable randomkey() test for that redis-rs is fixed

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* NOP push

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Python: add FUNCTION FLUSH command (#1700)

* Python: Added FUNCTION LOAD command

* Python: adds FUNCTION FLUSH command

* Updated CHANGELOG.md

* Resolved merge issues related to FlushMode

* Minor adjustments on command documentation

* Revert one minor change in example.

---------

Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* removing redis references

* Java: Handle panics and errors in the Java FFI layer (#1601)

* Restructure Java FFI layer to handle errors properly

* Fix failing tests

* Address clippy lints

* Add tests for error and panic handling

* Add missing errors module

* Fix clippy lint

* Fix FFI tests

* Apply Spotless

* Fix some minor issue I forgot about

* Add some comments

* Apply Spotless

* Make handle_panics return Option<T> instead

* Java: Add SSCAN and ZSCAN commands (#1705)

* Java: Add `SSCAN` command (#394)

* Add ScanOptions base class for scan-family options.
* Expose the cursor as a String to support unsigned 64-bit cursor values.

Co-authored-by: James Duong <james.duong@improving.com>

* Java: Add `ZSCAN` command (#397)

---------

Co-authored-by: James Duong <james.duong@improving.com>

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Correct use of SScanOptions instead of ScanOptions for SScan

* Remove plumbing for SCAN command

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* WIP with todos

* Add ZScan to TransactionTestUtilities

* Spotless cleanup

* Test fixes

* Cleanup test code

* Apply IntelliJ suggestions
* Use String.valueOf() instead of concatenating empty string

* Added better error info for set comparison failures

* More logging for test failures

* Add sleeps after zadd() calls

To help make sure data is consistent without WAIT

* Longer sleeps

* Reduce wait time

* Experiment with unsigned 64-bit cursors

* Fix rebase error

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Apply PR comments

* Fix method ordering in BaseTransaction
* Fix broken line breaks within code tags in ScanOptions
* More thoroughly test results in SharedCommandTests

* Add better logging for set comparisons

* Spotless

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* Update java/integTest/src/test/java/glide/SharedCommandTests.java

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Update java/integTest/src/test/java/glide/SharedCommandTests.java

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Fix rebase conflicts

* Fix another rebase conflict

* Spotless

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Correctly use constants in TransactionTests

* Rename ScanOptions to BaseScanOptions

* Doc PR fixes

* Treat end of cursor as failure

* Spotless

* Fixes

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Minor doc changes

---------

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* CI: Add Support for Valkey 6.2, 7.0 and 7.2  (#1711)

- Transitioned the engine building process to be sourced from the Valkey repository.
- Introduced compatibility with the following engine versions:
Valkey and Redis 6.2
Valkey and Redis 7.0
Valkey and Redis 7.2 (first stable release of Valkey 7.2.5.)
- Engine Installation Checks:
Added check that the engine is installed with the requested version.
- Moved the engine version matrix to a JSON file for better management and readability.
- Fixed Object Encoding tests to expect quicklist on versions < 7.2 instead of 7.0
- Fixed C# and Java version parsing from redis-server -v output to support also Valkey's output
- Updated the README file with the supported versions & engine typ

* Python: add FUNCTION DELETE command (#1714)

* Python: adds FUNCTION DELETE command

Co-authored-by: Shoham Elias <shohame@amazon.com>

* Python: add `SSCAN` command (#1709)

* Added sscan command to python

* Fixed formatting

* Fixed CI failures

* Lint

* Improved example and test

* Changes based on sscan java PR

* Added to changelog

* Addressed PR comments

* Added string casting

* Java: Add HSCAN command (#1706)

* Java: Add `SSCAN` command (#394)

* Add ScanOptions base class for scan-family options.
* Expose the cursor as a String to support unsigned 64-bit cursor values.

Co-authored-by: James Duong <james.duong@improving.com>

* Java: Add `ZSCAN` command (#397)

---------

Co-authored-by: James Duong <james.duong@improving.com>

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Correct use of SScanOptions instead of ScanOptions for SScan

* Remove plumbing for SCAN command

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* WIP with todos

* Add ZScan to TransactionTestUtilities

* Spotless cleanup

* Test fixes

* Cleanup test code

* Apply IntelliJ suggestions
* Use String.valueOf() instead of concatenating empty string

* Added better error info for set comparison failures

* More logging for test failures

* Add sleeps after zadd() calls

To help make sure data is consistent without WAIT

* Longer sleeps

* Reduce wait time

* Experiment with unsigned 64-bit cursors

* Fix rebase error

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* Fix rebase conflicts

* Fix another rebase conflict

* Spotless

* HScan

* Flakey test

* Add HScan transaction unit test

* Rename ScanOptions to BaseScanOptions

* Fix merge issues

* Fix module-info ordering

* Tidy up docs

* PR comments

Fix up merge duplication and use HScanOptions constants.

---------

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Python: add LCS command (#1716)

* python: add LCS command (#406)

* python: add LCS command

* update CHANGELOG

* add more comment explaning the functionality of the command

* address comments on the docs

* Java: Changed handling of large requests to transfer them as leaked pointers (#1708)

* Restructure Java FFI layer to handle errors properly

* Address clippy lints

* Add tests for error and panic handling

* Fix FFI tests

* Apply Spotless

* Fix some minor issue I forgot about

* Add API to create the leaked bytes vec

* Bridge the MAX_REQUEST_ARGS_LENGTH constant from Rust to Java

* Fix warnings in Rust

* Update Java client to utilize the pointer with large argument sizes

* Update createLeakedBytesVec to handle panics

* spotless

* Add docs and run Rust linters

* Add large value tests

* Fix transactions and add transaction tests

* dummy commit for CI

* Revert "dummy commit for CI"

This reverts commit 3ed1937.

* Fix JDK11 build issue

Due to using a JDK17 function

* Fix another JDK11 issue

* Fix merge issues.

* Remove unneccesary mut prefix

* Clarify the MAX_REQUEST_ARGS_LENGTH_IN_BYTES constant

* Fix merge issue

---------

Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>

* Create initial workflow for publishing to Maven Central (#1600)

* WIP Create initial workflow for publishing to Maven Central (#1594)

* WIP Create initial workflow for publishing to Maven Central

* Add classifier to workflow

* Remove condition to allow all jobs to run

* Try to fix Gradle workflow errors

* Re-enable aws related options

* Add missing property

* Revert "Add missing property"

This reverts commit 6cc5fba.

* Add AWS_ACTIONS option

* Sign JAR file

* Fix signing issue

* Try to fix issue with generating secring.gpg file

* Fix path to secring.gpg

* Try to fix secring.gpg retrieval issue

* Remove base64 decode

* Try to fix multi-line issue with GPG key secret

* Go back to echo approach

* Decode base64 properly this time

* Use GPG_KEY_ID

* Surround password in quotes

* Publish JAR to local Maven and upload

* Update examples build.gradle

* Sign publishToMavenLocal build

* Update version of Java JAR

* Properly fetch src_folder variable contents

* Reorganize JAR contents

* Update path of uploaded JAR

* Update artifact ID

* Add missing comma

* Replace placeholders in build.gradle

* Update examples build.gradle

* Remove test runs from java.yml workflow

* Add debugging info to workflow

* Adjust debug info

* Readd placeholder text in build.gradle

* Add more debug info

* Change how the JAR is copied

* Add configurations for ARM linux and x86 macos

* Prevent output artifacts from being swallowed

* Update build matrix to use proper RUNNERs

* Try to use self-hosted runner for ARM Linux builds

* Delete gradle-cd workflow

* Add id-token permissions

* Add step to setup self-hosted runner access

* Add CONTAINER property to java.yml workflow

* Remove install Redis step from java.yml workflow

* Remove test-benchmark step from java.yml workflow

* Fix issue with Java classifier

* Update java.yml to use classifier

* Bump version and add archiveClassifier

* Change groupId to valkey-client

* Update example and base archive name

* Update workflow

* Rename to glide-for-redis

* Extracting Java Deployment to a different workflow

Workflow will only trigger when a tag is pushed to the repo

Version is extracted from the tag and replaced in the build.grade files

reverted changes of java.yml file

* trying to make the workflow to build

* testing action to prepare build

* forcing new action to trigger

* Revert "forcing new action to trigger"

This reverts commit d097a1f.

* Revert "testing action to prepare build"

This reverts commit 8864434.

* Revert "trying to make the workflow to build"

This reverts commit 143818a.

* Revert "Extracting Java Deployment to a different workflow"

This reverts commit faff846.

* Revert "Revert "Extracting Java Deployment to a different workflow""

This reverts commit 11f8470.

* fixing workflow

* fixed path for the local maven

* removing bundle from the tests
fix to the JAVA CI not finding tests dependencies

* fix java workflow

* removing classifier from the pom

* fixing concurrency

* Remove publishToMavenLocal line in examples build.gradle

* fix examples

* cleaning up java.yml

* testing removing test dependency

* adding skip signing

* Revert "adding skip signing"

This reverts commit e448788.

* Revert "testing removing test dependency"

This reverts commit d0e06b7.

* Revert "cleaning up java.yml"

This reverts commit e7394d7.

* removing dependency of singing in the local build

* java.yml clean up

* removing steps from java.yml

* added comments

* removed step on sed the examples and removed if always from the upload artifacts

---------

Co-authored-by: affonsov <affonsov@bitquilltech.com>
Co-authored-by: affonsov <affonso.vieira@improving.com>

* #1715: fix flakey test in xpending (#1717)

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Java: Adding command WAIT (#1707)

* Java: Adding command WAIT

Java: Adding command WAIT

* addressing comments

* fixing timeout_idx in get_timeout_from_cmd_args call

* update timeout check

* fixing rust test

* adding special case for WAIT

* rust linter

* remove special case in get_timeout_from_cmd_args

* adding description for timeout 0

* rust linter

* updating timeout test

* changing transaction documentation

---------

Co-authored-by: TJ Zhang <tj.zhang@improving.com>

* support smismember with GlideString (#1694)

* Support GlideString for sdiff commands (#1722)

Co-authored-by: Yulazari <yulazari@b0de28c93acb.ant.amazon.com>

* Updated attribution files

* support hset, hget, lindex, linsert, blmove, incr, hlen and lmove wit… (#1667)

* Python: move the commands return value to bytes (#1617)

* In the case of Simple String, Bulk String, or Verbatim String commands, Bytes will be returned instead of strings.

---------

Co-authored-by: GilboaAWS <gilboabg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-43.eu-west-1.compute.internal>
Co-authored-by: Adar Ovadia <adarov@amazon.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>

* Java: Add XGROUP SETID command (#1720)

* Initial implementation of XGroupSetId

* Unit tests

* Add integration tests

* PR feedback

* Address PR comments

doc updates

* Add 7.0.0 transaction integration test

* Java: update README directory to include Java's README.md (#1734)

add java part to readme directory

* Java: Add XCLAIM command

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add unit tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* SPOTLESS

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update IT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update IT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add UT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Fix transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update XCLAIM with options; remove LASTID

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add a couple more test cases

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* clean up

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Clean rust

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add examples

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Move to 2D string array in response

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Fix Transaction tests; update examples

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* SPOTLESS

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Aaron <69273634+aaron-congo@users.noreply.github.com>
Co-authored-by: tjzhang-BQ <111323543+tjzhang-BQ@users.noreply.github.com>
Co-authored-by: TJ Zhang <tj.zhang@improving.com>
Co-authored-by: Yi-Pin Chen <yi-pin.chen@improving.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: jonathanl-bq <72158117+jonathanl-bq@users.noreply.github.com>
Co-authored-by: James Duong <duong.james@gmail.com>
Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>
Co-authored-by: Bar Shaul <88437685+barshaul@users.noreply.github.com>
Co-authored-by: James Duong <james.duong@improving.com>
Co-authored-by: James Xin <126831592+jamesx-improving@users.noreply.github.com>
Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>
Co-authored-by: affonsov <affonsov@bitquilltech.com>
Co-authored-by: affonsov <affonso.vieira@improving.com>
Co-authored-by: Alon Arenberg <93711356+alon-arenberg@users.noreply.github.com>
Co-authored-by: yulazariy <yulazari@amazon.com>
Co-authored-by: Yulazari <yulazari@b0de28c93acb.ant.amazon.com>
Co-authored-by: ort-bot <glide-for-redis@amazon.com>
Co-authored-by: adarovadya <adarovadya@gmail.com>
Co-authored-by: GilboaAWS <gilboabg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-43.eu-west-1.compute.internal>
Co-authored-by: Adar Ovadia <adarov@amazon.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Co-authored-by: Chloe Yip <168601573+cyip10@users.noreply.github.com>

* SPOTLESS

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Fix merge conflicts

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Review comments

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update docs for review comments

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* small doc fix

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Aaron <69273634+aaron-congo@users.noreply.github.com>
Co-authored-by: tjzhang-BQ <111323543+tjzhang-BQ@users.noreply.github.com>
Co-authored-by: TJ Zhang <tj.zhang@improving.com>
Co-authored-by: Yi-Pin Chen <yi-pin.chen@improving.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: jonathanl-bq <72158117+jonathanl-bq@users.noreply.github.com>
Co-authored-by: James Duong <duong.james@gmail.com>
Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>
Co-authored-by: Bar Shaul <88437685+barshaul@users.noreply.github.com>
Co-authored-by: James Duong <james.duong@improving.com>
Co-authored-by: James Xin <126831592+jamesx-improving@users.noreply.github.com>
Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>
Co-authored-by: affonsov <affonsov@bitquilltech.com>
Co-authored-by: affonsov <affonso.vieira@improving.com>
Co-authored-by: Alon Arenberg <93711356+alon-arenberg@users.noreply.github.com>
Co-authored-by: yulazariy <yulazari@amazon.com>
Co-authored-by: Yulazari <yulazari@b0de28c93acb.ant.amazon.com>
Co-authored-by: ort-bot <glide-for-redis@amazon.com>
Co-authored-by: adarovadya <adarovadya@gmail.com>
Co-authored-by: GilboaAWS <gilboabg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-43.eu-west-1.compute.internal>
Co-authored-by: Adar Ovadia <adarov@amazon.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Co-authored-by: Chloe Yip <168601573+cyip10@users.noreply.github.com>
@Yury-Fridlyand Yury-Fridlyand linked an issue Jul 2, 2024 that may be closed by this pull request
cyip10 pushed a commit to Bit-Quill/valkey-glide that referenced this pull request Jul 16, 2024
…ointers (valkey-io#1708)

* Restructure Java FFI layer to handle errors properly

* Address clippy lints

* Add tests for error and panic handling

* Fix FFI tests

* Apply Spotless

* Fix some minor issue I forgot about

* Add API to create the leaked bytes vec

* Bridge the MAX_REQUEST_ARGS_LENGTH constant from Rust to Java

* Fix warnings in Rust

* Update Java client to utilize the pointer with large argument sizes

* Update createLeakedBytesVec to handle panics

* spotless

* Add docs and run Rust linters

* Add large value tests

* Fix transactions and add transaction tests

* dummy commit for CI

* Revert "dummy commit for CI"

This reverts commit 3ed1937.

* Fix JDK11 build issue

Due to using a JDK17 function

* Fix another JDK11 issue

* Fix merge issues.

* Remove unneccesary mut prefix

* Clarify the MAX_REQUEST_ARGS_LENGTH_IN_BYTES constant

* Fix merge issue

---------

Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>
cyip10 added a commit to Bit-Quill/valkey-glide that referenced this pull request Jul 16, 2024
* Java: Add XCLAIM command (#392)

* Python: add XPENDING command (valkey-io#1704)

* Python: add XPENDING command

* PR suggestions

* PR suggestions

* Java: Add Command GeoSearch & GeoSearchStore

* Java: Add Command GeoSearch & GeoSearchStore
---------

* trigger build

* Python: add RANDOMKEY command (valkey-io#1701)

* Python: add RANDOMKEY command

* Enable randomkey() test for that redis-rs is fixed

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* NOP push

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Python: add FUNCTION FLUSH command (valkey-io#1700)

* Python: Added FUNCTION LOAD command

* Python: adds FUNCTION FLUSH command

* Updated CHANGELOG.md

* Resolved merge issues related to FlushMode

* Minor adjustments on command documentation

* Revert one minor change in example.

---------

Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* removing redis references

* Java: Handle panics and errors in the Java FFI layer (valkey-io#1601)

* Restructure Java FFI layer to handle errors properly

* Fix failing tests

* Address clippy lints

* Add tests for error and panic handling

* Add missing errors module

* Fix clippy lint

* Fix FFI tests

* Apply Spotless

* Fix some minor issue I forgot about

* Add some comments

* Apply Spotless

* Make handle_panics return Option<T> instead

* Java: Add SSCAN and ZSCAN commands (valkey-io#1705)

* Java: Add `SSCAN` command (#394)

* Add ScanOptions base class for scan-family options.
* Expose the cursor as a String to support unsigned 64-bit cursor values.

Co-authored-by: James Duong <james.duong@improving.com>

* Java: Add `ZSCAN` command (#397)

---------

Co-authored-by: James Duong <james.duong@improving.com>

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Correct use of SScanOptions instead of ScanOptions for SScan

* Remove plumbing for SCAN command

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* WIP with todos

* Add ZScan to TransactionTestUtilities

* Spotless cleanup

* Test fixes

* Cleanup test code

* Apply IntelliJ suggestions
* Use String.valueOf() instead of concatenating empty string

* Added better error info for set comparison failures

* More logging for test failures

* Add sleeps after zadd() calls

To help make sure data is consistent without WAIT

* Longer sleeps

* Reduce wait time

* Experiment with unsigned 64-bit cursors

* Fix rebase error

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Apply PR comments

* Fix method ordering in BaseTransaction
* Fix broken line breaks within code tags in ScanOptions
* More thoroughly test results in SharedCommandTests

* Add better logging for set comparisons

* Spotless

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* Update java/integTest/src/test/java/glide/SharedCommandTests.java

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Update java/integTest/src/test/java/glide/SharedCommandTests.java

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Fix rebase conflicts

* Fix another rebase conflict

* Spotless

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/models/BaseTransaction.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Correctly use constants in TransactionTests

* Rename ScanOptions to BaseScanOptions

* Doc PR fixes

* Treat end of cursor as failure

* Spotless

* Fixes

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update java/client/src/main/java/glide/api/commands/SortedSetBaseCommands.java

Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Minor doc changes

---------

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>
Co-authored-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* CI: Add Support for Valkey 6.2, 7.0 and 7.2  (valkey-io#1711)

- Transitioned the engine building process to be sourced from the Valkey repository.
- Introduced compatibility with the following engine versions:
Valkey and Redis 6.2
Valkey and Redis 7.0
Valkey and Redis 7.2 (first stable release of Valkey 7.2.5.)
- Engine Installation Checks:
Added check that the engine is installed with the requested version.
- Moved the engine version matrix to a JSON file for better management and readability.
- Fixed Object Encoding tests to expect quicklist on versions < 7.2 instead of 7.0
- Fixed C# and Java version parsing from redis-server -v output to support also Valkey's output
- Updated the README file with the supported versions & engine typ

* Python: add FUNCTION DELETE command (valkey-io#1714)

* Python: adds FUNCTION DELETE command

Co-authored-by: Shoham Elias <shohame@amazon.com>

* Python: add `SSCAN` command (valkey-io#1709)

* Added sscan command to python

* Fixed formatting

* Fixed CI failures

* Lint

* Improved example and test

* Changes based on sscan java PR

* Added to changelog

* Addressed PR comments

* Added string casting

* Java: Add HSCAN command (valkey-io#1706)

* Java: Add `SSCAN` command (#394)

* Add ScanOptions base class for scan-family options.
* Expose the cursor as a String to support unsigned 64-bit cursor values.

Co-authored-by: James Duong <james.duong@improving.com>

* Java: Add `ZSCAN` command (#397)

---------

Co-authored-by: James Duong <james.duong@improving.com>

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Correct use of SScanOptions instead of ScanOptions for SScan

* Remove plumbing for SCAN command

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* WIP with todos

* Add ZScan to TransactionTestUtilities

* Spotless cleanup

* Test fixes

* Cleanup test code

* Apply IntelliJ suggestions
* Use String.valueOf() instead of concatenating empty string

* Added better error info for set comparison failures

* More logging for test failures

* Add sleeps after zadd() calls

To help make sure data is consistent without WAIT

* Longer sleeps

* Reduce wait time

* Experiment with unsigned 64-bit cursors

* Fix rebase error

* WIP TODO: support transactions, docs, and more IT

* Added more tests

* Added tests and javadocs

* Improved examples and tests

* Sleep after sadd() calls before sscan() calls

Due to eventual consistency

* Change sscan cursor to be a String

Also fix bug in SharedCommandTests

* Fix rebase conflicts

* Fix another rebase conflict

* Spotless

* HScan

* Flakey test

* Add HScan transaction unit test

* Rename ScanOptions to BaseScanOptions

* Fix merge issues

* Fix module-info ordering

* Tidy up docs

* PR comments

Fix up merge duplication and use HScanOptions constants.

---------

Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>

* Python: add LCS command (valkey-io#1716)

* python: add LCS command (#406)

* python: add LCS command

* update CHANGELOG

* add more comment explaning the functionality of the command

* address comments on the docs

* Java: Changed handling of large requests to transfer them as leaked pointers (valkey-io#1708)

* Restructure Java FFI layer to handle errors properly

* Address clippy lints

* Add tests for error and panic handling

* Fix FFI tests

* Apply Spotless

* Fix some minor issue I forgot about

* Add API to create the leaked bytes vec

* Bridge the MAX_REQUEST_ARGS_LENGTH constant from Rust to Java

* Fix warnings in Rust

* Update Java client to utilize the pointer with large argument sizes

* Update createLeakedBytesVec to handle panics

* spotless

* Add docs and run Rust linters

* Add large value tests

* Fix transactions and add transaction tests

* dummy commit for CI

* Revert "dummy commit for CI"

This reverts commit 3ed1937.

* Fix JDK11 build issue

Due to using a JDK17 function

* Fix another JDK11 issue

* Fix merge issues.

* Remove unneccesary mut prefix

* Clarify the MAX_REQUEST_ARGS_LENGTH_IN_BYTES constant

* Fix merge issue

---------

Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>

* Create initial workflow for publishing to Maven Central (valkey-io#1600)

* WIP Create initial workflow for publishing to Maven Central (valkey-io#1594)

* WIP Create initial workflow for publishing to Maven Central

* Add classifier to workflow

* Remove condition to allow all jobs to run

* Try to fix Gradle workflow errors

* Re-enable aws related options

* Add missing property

* Revert "Add missing property"

This reverts commit 6cc5fba.

* Add AWS_ACTIONS option

* Sign JAR file

* Fix signing issue

* Try to fix issue with generating secring.gpg file

* Fix path to secring.gpg

* Try to fix secring.gpg retrieval issue

* Remove base64 decode

* Try to fix multi-line issue with GPG key secret

* Go back to echo approach

* Decode base64 properly this time

* Use GPG_KEY_ID

* Surround password in quotes

* Publish JAR to local Maven and upload

* Update examples build.gradle

* Sign publishToMavenLocal build

* Update version of Java JAR

* Properly fetch src_folder variable contents

* Reorganize JAR contents

* Update path of uploaded JAR

* Update artifact ID

* Add missing comma

* Replace placeholders in build.gradle

* Update examples build.gradle

* Remove test runs from java.yml workflow

* Add debugging info to workflow

* Adjust debug info

* Readd placeholder text in build.gradle

* Add more debug info

* Change how the JAR is copied

* Add configurations for ARM linux and x86 macos

* Prevent output artifacts from being swallowed

* Update build matrix to use proper RUNNERs

* Try to use self-hosted runner for ARM Linux builds

* Delete gradle-cd workflow

* Add id-token permissions

* Add step to setup self-hosted runner access

* Add CONTAINER property to java.yml workflow

* Remove install Redis step from java.yml workflow

* Remove test-benchmark step from java.yml workflow

* Fix issue with Java classifier

* Update java.yml to use classifier

* Bump version and add archiveClassifier

* Change groupId to valkey-client

* Update example and base archive name

* Update workflow

* Rename to glide-for-redis

* Extracting Java Deployment to a different workflow

Workflow will only trigger when a tag is pushed to the repo

Version is extracted from the tag and replaced in the build.grade files

reverted changes of java.yml file

* trying to make the workflow to build

* testing action to prepare build

* forcing new action to trigger

* Revert "forcing new action to trigger"

This reverts commit d097a1f.

* Revert "testing action to prepare build"

This reverts commit 8864434.

* Revert "trying to make the workflow to build"

This reverts commit 143818a.

* Revert "Extracting Java Deployment to a different workflow"

This reverts commit faff846.

* Revert "Revert "Extracting Java Deployment to a different workflow""

This reverts commit 11f8470.

* fixing workflow

* fixed path for the local maven

* removing bundle from the tests
fix to the JAVA CI not finding tests dependencies

* fix java workflow

* removing classifier from the pom

* fixing concurrency

* Remove publishToMavenLocal line in examples build.gradle

* fix examples

* cleaning up java.yml

* testing removing test dependency

* adding skip signing

* Revert "adding skip signing"

This reverts commit e448788.

* Revert "testing removing test dependency"

This reverts commit d0e06b7.

* Revert "cleaning up java.yml"

This reverts commit e7394d7.

* removing dependency of singing in the local build

* java.yml clean up

* removing steps from java.yml

* added comments

* removed step on sed the examples and removed if always from the upload artifacts

---------

Co-authored-by: affonsov <affonsov@bitquilltech.com>
Co-authored-by: affonsov <affonso.vieira@improving.com>

* valkey-io#1715: fix flakey test in xpending (valkey-io#1717)

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Java: Adding command WAIT (valkey-io#1707)

* Java: Adding command WAIT

Java: Adding command WAIT

* addressing comments

* fixing timeout_idx in get_timeout_from_cmd_args call

* update timeout check

* fixing rust test

* adding special case for WAIT

* rust linter

* remove special case in get_timeout_from_cmd_args

* adding description for timeout 0

* rust linter

* updating timeout test

* changing transaction documentation

---------

Co-authored-by: TJ Zhang <tj.zhang@improving.com>

* support smismember with GlideString (valkey-io#1694)

* Support GlideString for sdiff commands (valkey-io#1722)

Co-authored-by: Yulazari <yulazari@b0de28c93acb.ant.amazon.com>

* Updated attribution files

* support hset, hget, lindex, linsert, blmove, incr, hlen and lmove wit… (valkey-io#1667)

* Python: move the commands return value to bytes (valkey-io#1617)

* In the case of Simple String, Bulk String, or Verbatim String commands, Bytes will be returned instead of strings.

---------

Co-authored-by: GilboaAWS <gilboabg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-43.eu-west-1.compute.internal>
Co-authored-by: Adar Ovadia <adarov@amazon.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>

* Java: Add XGROUP SETID command (valkey-io#1720)

* Initial implementation of XGroupSetId

* Unit tests

* Add integration tests

* PR feedback

* Address PR comments

doc updates

* Add 7.0.0 transaction integration test

* Java: update README directory to include Java's README.md (valkey-io#1734)

add java part to readme directory

* Java: Add XCLAIM command

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add unit tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* SPOTLESS

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update IT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update IT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add UT tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Fix transaction tests

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update XCLAIM with options; remove LASTID

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add a couple more test cases

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* clean up

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Clean rust

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Add examples

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Move to 2D string array in response

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Fix Transaction tests; update examples

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* SPOTLESS

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Aaron <69273634+aaron-congo@users.noreply.github.com>
Co-authored-by: tjzhang-BQ <111323543+tjzhang-BQ@users.noreply.github.com>
Co-authored-by: TJ Zhang <tj.zhang@improving.com>
Co-authored-by: Yi-Pin Chen <yi-pin.chen@improving.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: jonathanl-bq <72158117+jonathanl-bq@users.noreply.github.com>
Co-authored-by: James Duong <duong.james@gmail.com>
Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>
Co-authored-by: Bar Shaul <88437685+barshaul@users.noreply.github.com>
Co-authored-by: James Duong <james.duong@improving.com>
Co-authored-by: James Xin <126831592+jamesx-improving@users.noreply.github.com>
Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>
Co-authored-by: affonsov <affonsov@bitquilltech.com>
Co-authored-by: affonsov <affonso.vieira@improving.com>
Co-authored-by: Alon Arenberg <93711356+alon-arenberg@users.noreply.github.com>
Co-authored-by: yulazariy <yulazari@amazon.com>
Co-authored-by: Yulazari <yulazari@b0de28c93acb.ant.amazon.com>
Co-authored-by: ort-bot <glide-for-redis@amazon.com>
Co-authored-by: adarovadya <adarovadya@gmail.com>
Co-authored-by: GilboaAWS <gilboabg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-43.eu-west-1.compute.internal>
Co-authored-by: Adar Ovadia <adarov@amazon.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Co-authored-by: Chloe Yip <168601573+cyip10@users.noreply.github.com>

* SPOTLESS

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Fix merge conflicts

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Review comments

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* Update docs for review comments

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

* small doc fix

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>

---------

Signed-off-by: Andrew Carbonetto <andrew.carbonetto@improving.com>
Co-authored-by: Aaron <69273634+aaron-congo@users.noreply.github.com>
Co-authored-by: tjzhang-BQ <111323543+tjzhang-BQ@users.noreply.github.com>
Co-authored-by: TJ Zhang <tj.zhang@improving.com>
Co-authored-by: Yi-Pin Chen <yi-pin.chen@improving.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: jonathanl-bq <72158117+jonathanl-bq@users.noreply.github.com>
Co-authored-by: James Duong <duong.james@gmail.com>
Co-authored-by: Guian Gumpac <guian.gumpac@improving.com>
Co-authored-by: Bar Shaul <88437685+barshaul@users.noreply.github.com>
Co-authored-by: James Duong <james.duong@improving.com>
Co-authored-by: James Xin <126831592+jamesx-improving@users.noreply.github.com>
Co-authored-by: Jonathan Louie <jonathanl@bitquilltech.com>
Co-authored-by: affonsov <affonsov@bitquilltech.com>
Co-authored-by: affonsov <affonso.vieira@improving.com>
Co-authored-by: Alon Arenberg <93711356+alon-arenberg@users.noreply.github.com>
Co-authored-by: yulazariy <yulazari@amazon.com>
Co-authored-by: Yulazari <yulazari@b0de28c93acb.ant.amazon.com>
Co-authored-by: ort-bot <glide-for-redis@amazon.com>
Co-authored-by: adarovadya <adarovadya@gmail.com>
Co-authored-by: GilboaAWS <gilboabg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-43.eu-west-1.compute.internal>
Co-authored-by: Adar Ovadia <adarov@amazon.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Co-authored-by: Chloe Yip <168601573+cyip10@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

Java - change large requests to be send as a leaked pointer
5 participants