Skip to content

Java: Adding command WAIT#1707

Merged
acarbonetto merged 12 commits intovalkey-io:mainfrom
Bit-Quill:java/integ_tjz_wait
Jun 30, 2024
Merged

Java: Adding command WAIT#1707
acarbonetto merged 12 commits intovalkey-io:mainfrom
Bit-Quill:java/integ_tjz_wait

Conversation

@tjzhang-BQ
Copy link
Copy Markdown
Contributor

Java: Adding command WAIT

Issue #, if available:

Description of changes:

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

@tjzhang-BQ tjzhang-BQ added the java ☕ issues and fixes related to the java client label Jun 29, 2024
@tjzhang-BQ tjzhang-BQ requested a review from a team as a code owner June 29, 2024 02:13
@tjzhang-BQ tjzhang-BQ force-pushed the java/integ_tjz_wait branch from 7ee82af to e9f4a1c Compare June 29, 2024 02:16
@Yury-Fridlyand
Copy link
Copy Markdown

Rust tests failed

@tjzhang-BQ tjzhang-BQ force-pushed the java/integ_tjz_wait branch from 818472e to bb35b29 Compare June 29, 2024 22:34
@tjzhang-BQ tjzhang-BQ force-pushed the java/integ_tjz_wait branch from 72485cf to 100f0c9 Compare June 30, 2024 00:06
@Yury-Fridlyand
Copy link
Copy Markdown

CI is red

@acarbonetto acarbonetto merged commit 40c3a55 into valkey-io:main Jun 30, 2024
@acarbonetto acarbonetto deleted the java/integ_tjz_wait branch June 30, 2024 04:38
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>
cyip10 pushed a commit to Bit-Quill/valkey-glide that referenced this pull request Jul 16, 2024
* 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>
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>
Yury-Fridlyand pushed a commit to Bit-Quill/valkey-glide that referenced this pull request Jun 6, 2025
* 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>
Yury-Fridlyand pushed a commit to Bit-Quill/valkey-glide that referenced this pull request Jun 6, 2025
* 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 efcedc5.

* 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>
Yury-Fridlyand pushed a commit to Bit-Quill/valkey-glide that referenced this pull request Jun 6, 2025
* 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 efcedc5.

* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

java ☕ issues and fixes related to the java client

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

4 participants