Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Double timeout, avoid Tuple and more #2481

Merged
merged 11 commits into from
Mar 30, 2021
Merged

Conversation

sazzad16
Copy link
Collaborator

@sazzad16 sazzad16 commented Mar 23, 2021

(1) Implement double timeout:

Since Redis 6.0, timeout parameter of some blocking commands now supports double instead of integer.

  • Param type is changed for the methods that are yet to be released.
  • Similar methods are added for the existing (released) methods.
  • BRPOPLPUSH command is skipped as it is deprecated since Redis 6.2.

(2) Move away from Tuple:

The word Tuple means any finite number of elements. The way it is used not grammatically correct. We should move away from the class, introduce a proper name and avoid introducing wrong usage of the term.

  • KeyedTuple is just added targetting 3.6.0 for BZPOPMAX and BZPOPMIN commands. It has been renamed.

(3) Binary return type:

For binary methods, should we return custom objects or binary array(s) byte[]/List<byte[]>?

@sazzad16 sazzad16 added this to the 3.6.0 milestone Mar 23, 2021
@sazzad16 sazzad16 changed the title Double timeout Double timeout, avoid Tuple and more Mar 23, 2021
@dengliming
Copy link
Collaborator

For binary methods, should we return custom objects or binary array(s) byte[]/List<byte[]>?

👍 That really should be discussed. and It is weird to see both byte and non-byte attributes in the same class.

@mp911de
Copy link
Contributor

mp911de commented Mar 25, 2021

I'd suggest splitting the ticket into two topics and avoid breaking changes (return types) until Jedis 4.0. It would also make sense to have an overloaded method accepting double in addition to the long to not break existing code.

@sazzad16
Copy link
Collaborator Author

@mp911de There are no exact breaking changes. For methods that exist in 3.5.2, there are overloading methods. Methods that are seemingly breaking are just merged for 3.6.0.

@mp911de
Copy link
Contributor

mp911de commented Mar 25, 2021

I see, thanks.

to have common name in both BinaryClient and BinaryJedis
This package contains the classes that represent different Redis command arguments.
@sazzad16 sazzad16 merged commit 71dac36 into redis:master Mar 30, 2021
@sazzad16 sazzad16 deleted the double-timeout branch March 30, 2021 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants