Python: move the commands return value to bytes#1617
Python: move the commands return value to bytes#1617adarovadya merged 34 commits intovalkey-io:mainfrom
Conversation
| args = [section.value for section in sections] if sections else [] | ||
| result_bytes = await self._execute_command(RequestType.Info, args, route) | ||
| result_str = None | ||
| if isinstance(result_bytes, bytes): |
There was a problem hiding this comment.
why don't you put this logic into convert_byte_to_string_dict or make another function that does this? This will probably need to be used throughout the file.
There was a problem hiding this comment.
As of now, we only have one such case, if we find more, we'll move it to a function
python/python/glide/constants.py
Outdated
| # Otherwise, response will be : {Address : response , ... } with type of Dict[str, T]. | ||
| TClusterResponse = Union[T, Dict[str, T]] | ||
| TClusterResponse = Union[T, Dict[bytes, T]] | ||
| TClusterDecodedResponse = Union[T, Dict[str, T]] |
There was a problem hiding this comment.
This is going to change/break the API everywhere...
There was a problem hiding this comment.
In the next PR, the API signatures will be changed
| pubsub_msg = await listening_client.get_pubsub_message() | ||
| assert pubsub_msg.channel == CHANNEL_NAME | ||
| assert pubsub_msg.message == MESSAGE | ||
| assert pubsub_msg.channel == CHANNEL_NAME.encode() |
There was a problem hiding this comment.
channel must be left as str, why do we need it?
There was a problem hiding this comment.
The next PR will change some commands that return strings
84c6a4b to
8f75c28
Compare
Yury-Fridlyand
left a comment
There was a problem hiding this comment.
Add changelog entry to breaking changes section
python/python/glide/constants.py
Outdated
| # Otherwise, response will be : {Address : response , ... } with type of Dict[str, T]. | ||
| TClusterResponse = Union[T, Dict[str, T]] | ||
| TClusterResponse = Union[T, Dict[bytes, T]] | ||
| TClusterDecodedResponse = Union[T, Dict[str, T]] |
| Args: | ||
| map1 (Optional[Union[Mapping[str, TResult], Dict[str, TResult]]]): The first map to compare. | ||
| map2 (Optional[Union[Mapping[str, TResult], Dict[str, TResult]]]): The second map to compare. | ||
| map1 (Optional[Union[Mapping[Union[str, bytes], TResult], Dict[Union[str, bytes], TResult]]]): The first map to compare. |
There was a problem hiding this comment.
Define new type GlideString = Union[str, bytes]. We have that in java client.
There was a problem hiding this comment.
It is not acceptable in Python to do this
There was a problem hiding this comment.
We do TClusterResponse same way, why not to do GlideString?
There was a problem hiding this comment.
The decision made by Bar and Ifarah is as of now, but might change in the future
|
|
||
|
|
||
| def convert_bytes_to_string_dict( | ||
| byte_string_dict: Optional[Union[Mapping[bytes, Any], Dict[bytes, Any]]] |
| // TODO create MATCH on the format | ||
| let data_bytes = PyBytes::new(py, text.as_bytes()); | ||
| Ok(data_bytes.into_py(py)) |
There was a problem hiding this comment.
Why return bytes from SimpleString and VerbatimString and then downcast to strings?
These types never contain binary strings.
There was a problem hiding this comment.
Here is the definition of the verbatim string type:
Verbatim string: a binary safe string that should be displayed to humans without any escaping or filtering. For instance the output of LATENCY DOCTOR in Redis.
There was a problem hiding this comment.
Sorry, I still don't understand why VerbatimString gets String -> byte[] -> string conversion.
There was a problem hiding this comment.
it's just String -> bytes, its not being converted to string again
c8327f3 to
c6bfbfc
Compare
c6bfbfc to
1f68145
Compare
| convert_bytes_to_string_cluster_response, | ||
| convert_bytes_to_string_dict, |
There was a problem hiding this comment.
Unused references, please revert unless you're going to use them.
I think python linter should warn about it
| from __future__ import annotations | ||
|
|
||
| from typing import Dict, List, Mapping, Optional, cast | ||
| from typing import Dict, List, Mapping, Optional, Union, cast |
| _build_sort_args, | ||
| ) | ||
| from glide.async_commands.transaction import BaseTransaction, Transaction | ||
| from glide.async_commands.utils.utils import convert_bytes_to_string_dict |
| self, | ||
| sections: Optional[List[InfoSection]] = None, | ||
| ) -> str: | ||
| ) -> bytes: |
There was a problem hiding this comment.
Update lines 53 and 56. Doesn't mypy detect this?
|
|
||
| return cast( | ||
| TClusterResponse[str], | ||
| TClusterResponse[bytes], |
| sections: Optional[List[InfoSection]] = None, | ||
| route: Optional[Route] = None, | ||
| ) -> TClusterResponse[str]: | ||
| ) -> TClusterResponse[bytes]: |
There was a problem hiding this comment.
Why bytes, but not Union[str, bytes] or even better TGlideString which is Union[str, bytes] (similar to TClusterResponse)?
* Fixed some tests to bytes.
| value = get_random_string(5) | ||
| value_encoded = value.encode("utf-8") |
There was a problem hiding this comment.
| value = get_random_string(5) | |
| value_encoded = value.encode("utf-8") | |
| value = get_random_string(5).encode("utf-8") |
| key_value_map1 = {key1: value, key2: value} | ||
| key_value_map2 = {key2: get_random_string(5), key3: value} | ||
|
|
||
| assert await redis_client.msetnx(key_value_map1) is True | ||
| mget_res = await redis_client.mget([key1, key2, non_existing]) | ||
| assert mget_res == [value, value, None] | ||
| assert mget_res == [value_encoded, value_encoded, None] |
There was a problem hiding this comment.
| assert mget_res == [value_encoded, value_encoded, None] | |
| assert mget_res == [value, value, None] |
|
|
||
| assert await redis_client.msetnx(key_value_map2) is False | ||
| assert await redis_client.get(key3) is None | ||
| assert await redis_client.get(key2) == value | ||
| assert await redis_client.get(key2) == value_encoded |
There was a problem hiding this comment.
| assert await redis_client.get(key2) == value_encoded | |
| assert await redis_client.get(key2) == value |
| with_coord=True, | ||
| with_dist=True, | ||
| with_hash=True, | ||
| ) == convert_str_to_bytes_list(result[::-1]) |
There was a problem hiding this comment.
change result like in the next test
ab9383c to
ba698bd
Compare
ba698bd to
b18ff66
Compare
python/python/tests/utils/utils.py
Outdated
| ) | ||
|
|
||
|
|
||
| def convert_bytes_to_string_dict( |
There was a problem hiding this comment.
| def convert_bytes_to_string_dict( | |
| def convert_bytes_to_string_object( |
python/python/tests/utils/utils.py
Outdated
| Union[ | ||
| Mapping[bytes, Any], | ||
| Dict[bytes, Any], | ||
| list[bytes, Any], |
There was a problem hiding this comment.
| list[bytes, Any], | |
| List[bytes, Any], | |
| Set[bytes, Any], |
As discussed, the pubsub channel name should stay bytes
* 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>
* 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>
* 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>
* 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>
* 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 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>
* 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 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>
* 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>
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that commands which returns Simple String/ Bulk String/ Verbatim String will return Bytes instead string.
This PR making this change in lib.rs file and all tests accordantly.
The next PR will change all command signature and docs.