Commit Graph

705 Commits

Author SHA1 Message Date
dengliming
d2dce680cc DATAREDIS-1226 - Add support for xClaimJustId using Lettuce.
Original Pull Request: #567
2020-10-07 12:25:15 +02:00
Christoph Strobl
67fc916512 DATAREDIS-1214 - Fix null return value of GEODIST command.
Original pull request: #565.
2020-10-05 13:59:33 +02:00
anshlykov
446e58c505 DATAREDIS-1222 - Fix limit parameter in DefaultStringRedisConnection#zRangeByLex(String,Range,Limit)
Original Pull Request: #564
2020-09-28 14:59:32 +02:00
Mark Paluch
c16e13ae75 DATAREDIS-1085 - Polishing.
Add author and since tags. Introduce separate approximate() method instead of changing count(…) to retain backwards compatibility.

Original pull request: #561.
2020-09-16 09:56:27 +02:00
dengliming
99cf4a2238 DATAREDIS-1085 - Support approximate trimming using XTRIM.
Original pull request: #561.
2020-09-16 09:50:08 +02:00
Mark Paluch
c72a84885c DATAREDIS-1196 - Polishing.
Tweak Redis 6.0.6 requirement wording. Join assertions where possible and use more concise assertions.

Original pull request: #563.
2020-09-16 09:28:34 +02:00
Christoph Strobl
76cbe5124d DATAREDIS-1196 - Add support for LPOS command.
Original pull request: #563.
2020-09-16 09:28:16 +02:00
Christoph Strobl
bdbba085da DATAREDIS-1046 - Polishing.
Guard tests to allow execution against single node instance for quick dev turnaround and replace usage of Optional with null and @Nullable annotations.

Original Pull Request: #558
2020-09-11 13:41:32 +02:00
Mark Paluch
717a196da0 DATAREDIS-1145 - Support Sentinel password for Jedis.
We now support password-protected Sentinel configurations when using Jedis.

Original Pull Request: #558
2020-09-11 13:21:31 +02:00
Mark Paluch
d97c5df130 DATAREDIS-1046 - Use ACL authentication when username is configured.
Upgrade to Redis 6 for tests. Introduce support for username in configurations that support authentication.

Original Pull Request: #558
2020-09-11 13:20:48 +02:00
Mark Paluch
da5bab1fb2 DATAREDIS-1197 - Upgrade to Lettuce 6.0 RC1.
Adopt to API changes.

Original Pull Request: #554
2020-09-10 12:34:16 +02:00
Christoph Strobl
51ea73afc6 DATAREDIS-1207 - Fix LettuceStreamCommands.xPending Range conversion..
Original Pull Request: #556
2020-09-03 10:25:39 +02:00
Dejan Jankov
0ee04a7dc6 DATAREDIS-1207 - Fix LettuceStreamCommands.xRevRange Range conversion.
LettuceStreamCommands.xRevRange converts Ranges with a StringCodec that produces Boundary<ByteBuffer>, while Lettuce expects the range's Boundary to include strings. The conversion worked well only in cases where the Range was unbounded (- or +), and failed with ClassCastException on the consuming site for other cases.

Original pull request: #556
2020-09-03 10:25:28 +02:00
kazhang
9b87d3f080 DATAREDIS-1210 - Fix loop in StreamReadOptions toString().
Original Pull Request: #557
2020-09-01 07:24:10 +02:00
Mark Paluch
e37f2f08ee DATAREDIS-1190 - Cluster rename now correctly overwrites existing keys.
rename(…) behavior in cluster-mode is now aligned with standalone Redis behavior that overwrites the target key if it already exists and the renamed key uses a different slot. Previously, the underlying restore command was called without the replace option which caused BUSYKEY failures.

Original Pull Request: #555
2020-08-12 09:48:17 +02:00
Mark Paluch
0929ddbdcd DATAREDIS-1199 - Polishing.
Improve test synchronization.
2020-08-12 09:14:11 +02:00
Mark Paluch
5440bea5c0 DATAREDIS-1189 - Consistently translate Lettuce connection exceptions.
We now translate consistently connection/pooling exceptions in LettuceConnectionFactory by wrapping LettuceConnectionProvider with a variant that considers exception translation.
2020-07-28 14:18:48 +02:00
Mark Paluch
d054e2e5de DATAREDIS-1173 - Polishing.
Add Override annotations and Javadoc. Reformat test.

Original Pull Request: #549
2020-07-21 14:33:28 +02:00
Mark Paluch
e4fd036d81 DATAREDIS-1173 - Correctly unsubscribe from patterns/channels through LettuceSubscription.
doPUnsubscribe(…) and doUnsubscribe(…) now consider the all flag to unsubscribe from all subscribed patterns/channels. Previously, both methods didn't consider all and were invoked with an empty byte array which unsubscribed from an empty pattern/channel name and left subscriptions active.

Original Pull Request: #549
2020-07-21 14:33:02 +02:00
Mark Paluch
48e2360595 DATAREDIS-1172 - Polishing.
Suppress rawtypes/unchecked warnings. Use static imports for mockito.

Original pull request: #542.
2020-07-15 11:58:41 +02:00
Eddie McDaniel
b23e972b55 DATAREDIS-1172 - Fix parameter type of hash value serializer in StreamReceiver.
Original pull request: #542.
2020-07-15 11:58:41 +02:00
Mark Paluch
9267f39abb DATAREDIS-1179 - Polishing.
Reorder methods. Make MappingRedisConverter(RedisMappingContext) public. Tweak docs wording.

Original pull request: #548.
2020-07-15 11:16:26 +02:00
Christoph Strobl
3453558d5c DATAREDIS-1179 - Polishing.
Transition Tests to Junit Jupiter.
Fix C/P error in callout within reference documentation.

Original pull request: #548.
2020-07-15 10:42:32 +02:00
Christoph Strobl
59065ab0bc DATAREDIS-1179 - Allow reuse of RedisConverter in ObjectHashMapper.
Original pull request: #548.
2020-07-15 10:42:11 +02:00
Mark Paluch
f92ed7632d DATAREDIS-1091 - Polishing.
Make fields final where possible. Update since tags.

Original pull request: #517.
2020-07-15 10:09:50 +02:00
Christoph Strobl
546ebda2f2 DATAREDIS-1091 - Add configuration to disable storage of shadow copies for entities using TimeToLive.
Original pull request: #517.
2020-07-15 10:09:45 +02:00
Christoph Strobl
cae161feb4 DATAREDIS-1175 - Allow direct mapping of Collection like structures like java.util.List via MappingRedisConverter.
It is now possible to hand a plain list to the converter that is then converted into a hash structure using index numbers as keys.

Original pull request: #546.
2020-07-15 09:33:32 +02:00
Mark Paluch
1ceb7d4c8b DATAREDIS-1082 - Polishing.
Tweak documentation wording. Remove trailing whitespaces. Remove unused methods. Improve method names. Return zero stats when stats do not get collected.

Original Pull Request: #545
2020-07-13 08:51:48 +02:00
Christoph Strobl
72c20447b8 DATAREDIS-1082 - Capture per cache statistics.
Original Pull Request: #545
2020-07-13 08:51:06 +02:00
Mark Paluch
6daeb1a04c DATAREDIS-1082 - Expose cache metrics for RedisCache.
We now expose CacheStatistics for RedisCache. Each cache tracks its statistics (retrievals, hits, misses, stores, removals, lock wait) locally. CacheStatistics is exposed through RedisCacheWriter to allow for statistics customization depending on the cache writer strategy. The statistic object is a singleton per cache instance that gets updated with as the cache operates.

RedisCache cache = …;
CacheStatistics statistics = cache.getStatistics();
statistics.getRetrievals();
statistics.getHits();

Original Pull Request: #545
2020-07-13 08:50:12 +02:00
Christoph Strobl
fee28536e5 DATAREDIS-911 - Polishing.
Reorder tests and remove deprecation warning in MappingRedisConverter.

Original Pull Request: #537
2020-06-22 14:43:48 +02:00
sajib
0a67b7a096 DATAREDIS-911 - Support CustomConverter for root entity.
Original Pull Request: #537
2020-06-22 14:42:26 +02:00
Christoph Strobl
bf4f41bf52 DATAREDIS-1150 - Polishing
Defer cluster topology resolution, update Javadoc and add tests.

Original Pull Request: #533
2020-06-17 10:02:35 +02:00
Mark Paluch
6d32eab67f DATAREDIS-1150 - Add ReactiveRedisClusterCommands.
We now provide Redis Cluster commands (CLUSTER INFO, CLUSTER NODES, …) exposed through a reactive API.

Original Pull Request: #533
2020-06-17 10:01:35 +02:00
andrea.como
2d04af6a99 DATAREDIS-1142 - Use Lettuce reactive cluster connection if configured.
Original Pull Request: #529
2020-05-12 11:07:08 +02:00
Mark Paluch
8c59586fc8 DATAREDIS-1042 - Polishing.
Set MKSTREAM by default when calling createGroup on the operations API as that should be the default behavior in the first place. Reformat code. Add since tags.

Original pull request: #527.
2020-05-07 16:00:44 +02:00
Tugdual Grall
d7b8d9b018 DATAREDIS-1042 - Allow consumer group creation without an existing stream.
Original pull request: #527.
2020-05-07 15:47:20 +02:00
Mark Paluch
f4676edbd2 DATAREDIS-1138 - Fix detection whether XREAD is blocking.
We now correctly check if a BLOCK option is configured using a timeout of zero or higher. Previously we only checked if the configured value is greater than zero and didn't consider that a timeout of zero blocks indefinitely.

Original Pull Request: #528
2020-05-06 15:22:09 +02:00
Mark Paluch
0e0519ce25 DATAREDIS-1128 - Improve test stability.
Replace condition-based polling/waiting with Awaitility. Improve assertions for timing-based checks. Increase number of HyperLogLog samples to reduce probability of clashing elements.

Remove long-waiting sleeps that did not lead to an assertion.

Original Pull Request: #525
2020-04-27 09:53:23 +02:00
Christoph Strobl
73da68a6f4 DATAREDIS-1127 - Polishing.
Add issue reference.

Original Pull Request: #524
2020-04-22 09:44:38 +02:00
Ajith Kumar
964c55959a DATAREDIS-1127 - Handling ping failures for getSentinelConnection method.
Original Pull Request: #524
2020-04-22 09:44:32 +02:00
Mark Paluch
254d60e820 DATAREDIS-1119 - Polishing.
Add getAndMap(…) method to simplify post-retrieval mapping of non-null values. Require key on XInfoCommand command construction.

Tweak javadoc. Reformat code.

Original pull request: #519.
2020-04-20 11:54:11 +02:00
Christoph Strobl
3f5533ea9a DATAREDIS-1119 - Support XINFO via ReactiveStreamCommands.
Original pull request: #519.
2020-04-20 11:54:09 +02:00
Christoph Strobl
c010472c42 DATAREDIS-1119 - Support XINFO via RedisStreamCommands.
Original pull request: #519.
2020-04-20 11:54:03 +02:00
Mark Paluch
0d2e4474f8 DATAREDIS-1122 - Consistently use as(StepVerivier::create) in tests.
Original pull request: #523.
2020-04-20 11:13:18 +02:00
Christoph Strobl
43ef4700c1 DATAREDIS-1122 - Add support for MAXLEN attribute of XADD.
Original pull request: #523.
2020-04-20 11:13:09 +02:00
Christoph Strobl
cca1f7a8cf DATAREDIS-1106 - Remove expiration phantom key on delete via KeyValueAdapter.
Original pull request: #521.
2020-04-07 11:56:31 +02:00
Christoph Strobl
86b3f45783 DATAREDIS-1118 - Polishing.
Switch tests to JUnit Jupiter.

Original Pull Request: #522
2020-04-07 10:28:47 +02:00
Mark Paluch
0a8d431570 DATAREDIS-1118 - Allow configuration of RedisCacheWriter on existing RedisCacheManagerBuilder.
We now allow configuration of the RedisCacheWriter on existing RedisCacheManagerBuilder objects.

Original Pull Request: #522
2020-04-07 10:28:16 +02:00
Mark Paluch
87d3bb5660 DATAREDIS-1084 - Polishing.
Rename PendingMessage.getStringId to PendingMessage.getIdAsString for consistent naming scheme. Remove getElapsedTimeSinceLastDeliveryMS method for now in favor of getElapsedTimeSinceLastDelivery.

Use primitive long instead of boxed wrapper to avoid nullability where possible. Move PendingMessage* converters to StreamConverters.

Add assertions.

Original pull request: #512.
2020-03-10 09:41:10 +01:00