-
Notifications
You must be signed in to change notification settings - Fork 949
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove not readonly commands #2832 #2871
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @thachlp , thanks for submitting this PR.
I think there are a few things we needs to address first:
- Seems like there are two
ReadOnlyCommands
classes - one in theio.lettuce.core.masterreplica
package and one in theio.lettuce.core.protocol
package. The one you modified (in theio.lettuce.core.masterreplica
) appears to be unused. I believe the change needs to be done in theio.lettuce.core.protocol.ReadOnlyCommands
class. Let's change both classes for now similar to how it was done in Add GEOSEARCH to read-only commands #2568 #2569 - The
GEOSEARCH
command is read-only, let's not remove it from the list:
COMMAND INFO GEOSEARCH
1) 1) "geosearch"
2) "-7"
3) 1) "readonly"
4) "1"
- In a perfect world I'd love to see an integration test that loops over these commands and verifies that they are readonly so we can quickly adapt to server change (optional, but would be very nice).
Just talked to @mp911de and he agreed that we should probably remove |
Add test
@tishun, |
You should be able to run test locally if you call |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks perfect, the two notes are good-to-have
} | ||
|
||
@Test | ||
void testReadOnlyCommands() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! This is exactly what I wanted to see and it would help us keep this list up-to-date.
Two notes:
- you can move this test to the
ServerCommandIntegrationTest
- no need to create a whole new class for it - you can use the
CommandDetailParser
to parse the result, instead of parsing it yourself (would also mean that if something changes in the result API you would not have to modify the test and we will keep the change locally to the parser)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @tishun, thanks for the notes.
I updated the test, please help check 🙇
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
btw, If anything need to pass the CI check, please suggest.
On local, I got this message:
[ERROR] Failed to execute goal net.revelc.code.formatter:formatter-maven-plugin:2.16.0:validate (default) on project lettuce-core: File '/...lettuce/src/test/java/io/lettuce/core/commands/ServerCommandIntegrationTests.java' has not been previously formatted. Please format file and commit before running validation! -> [Help 1]
You'd need to format your new changes too, try using |
Thanks @tishun 🙇 |
Hey @thachlp , List.of() is a feature of Java 9, and we compile with Java 8 to achieve maximum backwards compatibility. Could you change the use of this method with something else like |
Nice, thanks |
I think you need to rebase your changes to include the latest fixes to the unit tests to pass the CI |
workaround for apt update issue related to Clearsigned file
* GitHub issue template polishing and stale issues action * Addressing feedback on message test and a better label for the stale issues
* HEXPIRE implemented with integration tests * Polishing to integration test, added unit test * Move new commands to RedisHashCommands, added HEXPIREAT, HEXPIRETIME and HPERSIST * Make sure we reset the configuration setting after the new hash commands were tested * Broke one test because of wrong configuration setting; the other is unstable, trying to fix it * Polishing imports * Polishin : Copyright change not needed
* implementation of SPUBLISH * sort methods by name * test cluster spublish with no redirects * use injected cluster client in RedisClusterPubSubConnectionIntegrationTests
* Let's try this again * Add tests and templates * Merge formatting issues + formatter using wrong configuration
the issue related apt repo has been fixed https://github.com/orgs/community/discussions/120966#discussioncomment-9211925
* Add support CLIENT KILL [MAXAGE] * polish * address review changes * format code
* Add support for `SUNSUBSCRIBE` redis#2759 * replace junit.Assert with assertj
) * Fixes to the hash field expiration functions * Implemented HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HTTL, HPTTL * Format the files * FIELDS keyword was introduced as per the PRD * Extend tests to include HTTL * Repair unit tests, add new ones for the new commands * Disable failing test, becasue it is very unstable * Modify return value to list of long values, fix cluster logic * Polishing * Polishing - addressed Ali's comments * Polishing: Modified by mistake * Polishing : Addressed Marks' comments
* Add last() utility method to the XArgs.StreamOffset * Submitted one more file by mistake
…edis#2868) * Add a evalReadOnly overload that accepts the script as a String * Fix @SInCE annotation for 7.0
* Release-drafter, dependabot, OCD polishing * Commitish not needed and pointing to the wrong branch anyway, also wrong version chosen * Pipeline is also very confusing as there are many pipelines, this is the INTEGRATION pipeline * Adding commitish, as it is required for filter-by-commitish * Autolabeling hits issues when using pull_request, using pull_request_target instead * pull_request_target does nothing, trying the other suggestion from release-drafter/release-drafter#1125
redis#2873) Bumps [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.6.3 to 3.7.0. - [Release notes](https://github.com/apache/maven-javadoc-plugin/releases) - [Commits](apache/maven-javadoc-plugin@maven-javadoc-plugin-3.6.3...maven-javadoc-plugin-3.7.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-javadoc-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…s#2874) Bumps [org.codehaus.mojo:flatten-maven-plugin](https://github.com/mojohaus/flatten-maven-plugin) from 1.5.0 to 1.6.0. - [Release notes](https://github.com/mojohaus/flatten-maven-plugin/releases) - [Commits](mojohaus/flatten-maven-plugin@1.5.0...1.6.0) --- updated-dependencies: - dependency-name: org.codehaus.mojo:flatten-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…edis#2875) Bumps [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) from 3.3.0 to 3.4.1. - [Release notes](https://github.com/apache/maven-jar-plugin/releases) - [Commits](apache/maven-jar-plugin@maven-jar-plugin-3.3.0...maven-jar-plugin-3.4.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-jar-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…s#2876) Bumps [org.openjdk.jmh:jmh-generator-annprocess](https://github.com/openjdk/jmh) from 1.21 to 1.37. - [Commits](openjdk/jmh@1.21...1.37) --- updated-dependencies: - dependency-name: org.openjdk.jmh:jmh-generator-annprocess dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps org.apache.commons:commons-pool2 from 2.11.1 to 2.12.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-pool2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump version of lettuce-core to 6.4.0 * Change all @SInCE notations to match the next release 6.4.x and also fixed two typos in the API JavaDoc * Fixed formatting issues
…e, make releasing manually available too (redis#2885)
COMMAND INFO READWRITE 1) 1) "readwrite" 2) "1" 3) 1) "loading" 2) "stale" 3) "fast"
1cdc708
to
fe2f247
Compare
@tishun, it's done 🙇 |
Thanks for the contribution! |
* Remove not readonly commands redis#2832 * Fix comment Add test * Update test * Update cicd.yaml workaround for apt update issue related to Clearsigned file * GitHub issue template polishing and stale issues action (redis#2833) * GitHub issue template polishing and stale issues action * Addressing feedback on message test and a better label for the stale issues * Implement HEXPIRE, HEXPIREAT, HEXPIRETIME and HPERSIST (redis#2836) * HEXPIRE implemented with integration tests * Polishing to integration test, added unit test * Move new commands to RedisHashCommands, added HEXPIREAT, HEXPIRETIME and HPERSIST * Make sure we reset the configuration setting after the new hash commands were tested * Broke one test because of wrong configuration setting; the other is unstable, trying to fix it * Polishing imports * Polishin : Copyright change not needed * MAke sure we wait for the check so it does not fail on the slower pipeline (redis#2844) * Add support for `SPUBLISH` (redis#2838) * implementation of SPUBLISH * sort methods by name * test cluster spublish with no redirects * use injected cluster client in RedisClusterPubSubConnectionIntegrationTests * Applying code formatter each time we run a Maven build (redis#2841) * Let's try this again * Add tests and templates * Merge formatting issues + formatter using wrong configuration * Update cicd.yaml the issue related apt repo has been fixed https://github.com/orgs/community/discussions/120966#discussioncomment-9211925 * Add support CLIENT KILL [MAXAGE] (redis#2782) * Add support CLIENT KILL [MAXAGE] * polish * address review changes * format code * Add support for `SUNSUBSCRIBE` redis#2759 (redis#2851) * Add support for `SUNSUBSCRIBE` redis#2759 * replace junit.Assert with assertj * Mark dnsResolver(DnsResolver) as deprecated. (redis#2855) * Implement HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HTTL and HPTTL (redis#2857) * Fixes to the hash field expiration functions * Implemented HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HTTL, HPTTL * Format the files * FIELDS keyword was introduced as per the PRD * Extend tests to include HTTL * Repair unit tests, add new ones for the new commands * Disable failing test, becasue it is very unstable * Modify return value to list of long values, fix cluster logic * Polishing * Polishing - addressed Ali's comments * Polishing: Modified by mistake * Polishing : Addressed Marks' comments * XREAD support for reading last message from stream (redis#2863) * Add last() utility method to the XArgs.StreamOffset * Submitted one more file by mistake * Add a `evalReadOnly` overload that accepts the script as a `String` (redis#2868) * Add a evalReadOnly overload that accepts the script as a String * Fix @SInCE annotation for 7.0 * Add release drafter workflow (redis#2820) * Release-drafter, dependabot, OCD polishing * Commitish not needed and pointing to the wrong branch anyway, also wrong version chosen * Pipeline is also very confusing as there are many pipelines, this is the INTEGRATION pipeline * Adding commitish, as it is required for filter-by-commitish * Autolabeling hits issues when using pull_request, using pull_request_target instead * pull_request_target does nothing, trying the other suggestion from release-drafter/release-drafter#1125 * Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.3 to 3.7.0 (redis#2873) Bumps [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.6.3 to 3.7.0. - [Release notes](https://github.com/apache/maven-javadoc-plugin/releases) - [Commits](apache/maven-javadoc-plugin@maven-javadoc-plugin-3.6.3...maven-javadoc-plugin-3.7.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-javadoc-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.codehaus.mojo:flatten-maven-plugin from 1.5.0 to 1.6.0 (redis#2874) Bumps [org.codehaus.mojo:flatten-maven-plugin](https://github.com/mojohaus/flatten-maven-plugin) from 1.5.0 to 1.6.0. - [Release notes](https://github.com/mojohaus/flatten-maven-plugin/releases) - [Commits](mojohaus/flatten-maven-plugin@1.5.0...1.6.0) --- updated-dependencies: - dependency-name: org.codehaus.mojo:flatten-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.4.1 (redis#2875) Bumps [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) from 3.3.0 to 3.4.1. - [Release notes](https://github.com/apache/maven-jar-plugin/releases) - [Commits](apache/maven-jar-plugin@maven-jar-plugin-3.3.0...maven-jar-plugin-3.4.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-jar-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.openjdk.jmh:jmh-generator-annprocess from 1.21 to 1.37 (redis#2876) Bumps [org.openjdk.jmh:jmh-generator-annprocess](https://github.com/openjdk/jmh) from 1.21 to 1.37. - [Commits](openjdk/jmh@1.21...1.37) --- updated-dependencies: - dependency-name: org.openjdk.jmh:jmh-generator-annprocess dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.apache.commons:commons-pool2 from 2.11.1 to 2.12.0 (redis#2877) Bumps org.apache.commons:commons-pool2 from 2.11.1 to 2.12.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-pool2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Setting the next release to be 6.4.x as part of redis#2880 (redis#2881) * Bump version of lettuce-core to 6.4.0 * Change all @SInCE notations to match the next release 6.4.x and also fixed two typos in the API JavaDoc * Fixed formatting issues * Modify the release acrtion to call the proper maven target for release, make releasing manually available too (redis#2885) * Format file * Using interface method from java 8 instead of java 9 * Fix test * Revert readwrite command to the list COMMAND INFO READWRITE 1) 1) "readwrite" 2) "1" 3) 1) "loading" 2) "stale" 3) "fast" --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: atakavci <[email protected]> Co-authored-by: Tihomir Krasimirov Mateev <[email protected]> Co-authored-by: Liming Deng <[email protected]> Co-authored-by: Wang Zhi <[email protected]> Co-authored-by: Luis Miguel Mejía Suárez <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Modify the release acrtion to call the proper maven target for release, make releasing manually available too (#2885) * Server addressed the issues of empty list returned for missing keys (#2899) * Server addressed the issues of empty list returned for missing keys * Refresh the template to include isntrustion how to format the code * Remove not readonly commands #2832 (#2871) * Remove not readonly commands #2832 * Fix comment Add test * Update test * Update cicd.yaml workaround for apt update issue related to Clearsigned file * GitHub issue template polishing and stale issues action (#2833) * GitHub issue template polishing and stale issues action * Addressing feedback on message test and a better label for the stale issues * Implement HEXPIRE, HEXPIREAT, HEXPIRETIME and HPERSIST (#2836) * HEXPIRE implemented with integration tests * Polishing to integration test, added unit test * Move new commands to RedisHashCommands, added HEXPIREAT, HEXPIRETIME and HPERSIST * Make sure we reset the configuration setting after the new hash commands were tested * Broke one test because of wrong configuration setting; the other is unstable, trying to fix it * Polishing imports * Polishin : Copyright change not needed * MAke sure we wait for the check so it does not fail on the slower pipeline (#2844) * Add support for `SPUBLISH` (#2838) * implementation of SPUBLISH * sort methods by name * test cluster spublish with no redirects * use injected cluster client in RedisClusterPubSubConnectionIntegrationTests * Applying code formatter each time we run a Maven build (#2841) * Let's try this again * Add tests and templates * Merge formatting issues + formatter using wrong configuration * Update cicd.yaml the issue related apt repo has been fixed https://github.com/orgs/community/discussions/120966#discussioncomment-9211925 * Add support CLIENT KILL [MAXAGE] (#2782) * Add support CLIENT KILL [MAXAGE] * polish * address review changes * format code * Add support for `SUNSUBSCRIBE` #2759 (#2851) * Add support for `SUNSUBSCRIBE` #2759 * replace junit.Assert with assertj * Mark dnsResolver(DnsResolver) as deprecated. (#2855) * Implement HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HTTL and HPTTL (#2857) * Fixes to the hash field expiration functions * Implemented HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HTTL, HPTTL * Format the files * FIELDS keyword was introduced as per the PRD * Extend tests to include HTTL * Repair unit tests, add new ones for the new commands * Disable failing test, becasue it is very unstable * Modify return value to list of long values, fix cluster logic * Polishing * Polishing - addressed Ali's comments * Polishing: Modified by mistake * Polishing : Addressed Marks' comments * XREAD support for reading last message from stream (#2863) * Add last() utility method to the XArgs.StreamOffset * Submitted one more file by mistake * Add a `evalReadOnly` overload that accepts the script as a `String` (#2868) * Add a evalReadOnly overload that accepts the script as a String * Fix @SInCE annotation for 7.0 * Add release drafter workflow (#2820) * Release-drafter, dependabot, OCD polishing * Commitish not needed and pointing to the wrong branch anyway, also wrong version chosen * Pipeline is also very confusing as there are many pipelines, this is the INTEGRATION pipeline * Adding commitish, as it is required for filter-by-commitish * Autolabeling hits issues when using pull_request, using pull_request_target instead * pull_request_target does nothing, trying the other suggestion from release-drafter/release-drafter#1125 * Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.3 to 3.7.0 (#2873) Bumps [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.6.3 to 3.7.0. - [Release notes](https://github.com/apache/maven-javadoc-plugin/releases) - [Commits](apache/maven-javadoc-plugin@maven-javadoc-plugin-3.6.3...maven-javadoc-plugin-3.7.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-javadoc-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.codehaus.mojo:flatten-maven-plugin from 1.5.0 to 1.6.0 (#2874) Bumps [org.codehaus.mojo:flatten-maven-plugin](https://github.com/mojohaus/flatten-maven-plugin) from 1.5.0 to 1.6.0. - [Release notes](https://github.com/mojohaus/flatten-maven-plugin/releases) - [Commits](mojohaus/flatten-maven-plugin@1.5.0...1.6.0) --- updated-dependencies: - dependency-name: org.codehaus.mojo:flatten-maven-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.4.1 (#2875) Bumps [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) from 3.3.0 to 3.4.1. - [Release notes](https://github.com/apache/maven-jar-plugin/releases) - [Commits](apache/maven-jar-plugin@maven-jar-plugin-3.3.0...maven-jar-plugin-3.4.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-jar-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.openjdk.jmh:jmh-generator-annprocess from 1.21 to 1.37 (#2876) Bumps [org.openjdk.jmh:jmh-generator-annprocess](https://github.com/openjdk/jmh) from 1.21 to 1.37. - [Commits](openjdk/jmh@1.21...1.37) --- updated-dependencies: - dependency-name: org.openjdk.jmh:jmh-generator-annprocess dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump org.apache.commons:commons-pool2 from 2.11.1 to 2.12.0 (#2877) Bumps org.apache.commons:commons-pool2 from 2.11.1 to 2.12.0. --- updated-dependencies: - dependency-name: org.apache.commons:commons-pool2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Setting the next release to be 6.4.x as part of #2880 (#2881) * Bump version of lettuce-core to 6.4.0 * Change all @SInCE notations to match the next release 6.4.x and also fixed two typos in the API JavaDoc * Fixed formatting issues * Modify the release acrtion to call the proper maven target for release, make releasing manually available too (#2885) * Format file * Using interface method from java 8 instead of java 9 * Fix test * Revert readwrite command to the list COMMAND INFO READWRITE 1) 1) "readwrite" 2) "1" 3) 1) "loading" 2) "stale" 3) "fast" --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: atakavci <[email protected]> Co-authored-by: Tihomir Krasimirov Mateev <[email protected]> Co-authored-by: Liming Deng <[email protected]> Co-authored-by: Wang Zhi <[email protected]> Co-authored-by: Luis Miguel Mejía Suárez <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fixed the release flow (#2896) * Updated release notes (#2882) * Updated release notes * Polishing * Spellsheck fixes * Modify the release acrtion to call the proper maven target for release, make releasing manually available too (#2885) (#2893) * Added the nexus staging plugin * Make version step conditional on the availability of a tag name in the event * Missed the GPG configuration --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Thach Le <[email protected]> Co-authored-by: atakavci <[email protected]> Co-authored-by: Liming Deng <[email protected]> Co-authored-by: Wang Zhi <[email protected]> Co-authored-by: Luis Miguel Mejía Suárez <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Issue: #2832
Make sure that: