Commit Graph

1422 Commits

Author SHA1 Message Date
Shyngys Sapraliyev
a810d378b6 Fix DefaultSerializationContext assertion message.
Closes #2336
2022-06-28 09:34:35 +02:00
Mark Paluch
82b0ab3de7 Consider type hints of the actual value in MappingRedisConverter.
We now consider the actual value type when determining whether a value should be considered an entity. Previously, we relied on PersistentProperty type information only which made it impossible to use generic-typed (or Object) properties for entities.

Closes #2349
2022-06-23 11:39:00 +02:00
Mark Paluch
94600f13b4 Prepare 2.7.1 (2021.2.1).
See #2325
2022-06-20 11:29:06 +02:00
Mark Paluch
e7abb9a516 Correctly release connection after switching to Pub/Sub mode.
LettuceConnection.switchToPubSub now correctly releases its underlying connection when switching to Pub/Sub. Also, we improved safeguards to avoid using closed connections.

Closes #2331
2022-06-03 09:14:18 +02:00
Mark Paluch
14eebce19c Capture subscriber initialization exceptions in init future.
We now capture exceptions during the connection initialization and subscription to avoid getting the container into an invalid state.

Closes #2335
2022-06-02 09:07:17 +02:00
Mark Paluch
3c1e8579b0 Fix resource disposal ordering in LettuceConnectionFactory.
We now close the cluster command executor before cleaning up the connection pools so that we first release all held connections before pruning the connection pools.
Previously, the pools were pruned first leading to an attempt to return the connection held by the cluster command executor causing a PoolException.

Closes #2330
2022-05-24 15:18:11 +02:00
Christoph Strobl
4e74c7ede8 Prepare 2.7 GA (2021.2.0).
See #2303
2022-05-13 10:04:21 +02:00
Christoph Strobl
d35ed93321 Update spring.io project urls.
This commit updates outdated projects.spring.io links to spring.io/projects.

Closes: #2319
2022-05-10 12:52:56 +02:00
Mark Paluch
f30e93e8d0 Polishing.
Update Spring Framework documentation links.

See #2297
2022-04-21 11:49:29 +02:00
Dveamer
f9d85ebaab Fix broken link in the redis-transaction ref docs.
The link to "declarative transaction management" was broken.

Closes #2297
2022-04-21 11:35:54 +02:00
Mark Paluch
f66384a4ba Attempt early usage of custom converters.
We now try to eagerly apply a custom converter when reading Redis properties in the MappingRedisConverter before considering type hints from the hash.

We require type hints to properly restore the target type for a hash entry as Redis data is all byte arrays, so a simple String needs a type hint before we can load it back into an e.g. Object-typed property. Subtypes of properties (such as ZoneRegion for ZoneId) are sometimes not associated with a converter as only the parent type (ZoneId) is associated with a converter. Trying to convert the value into the subtype directly through our ConversionService would fail in that case.

Closes #2307
2022-04-20 15:16:56 +02:00
Christoph Strobl
509c02f0bd Prepare 2.7 RC1 (2021.2.0).
See #2284
2022-04-19 11:10:15 +02:00
Mark Paluch
ccb4fe4df2 Correctly return connection future from StaticMasterReplicaConnectionProvider.
We now pass on the connection future when connecting through StaticMasterReplicaConnectionProvider.getConnectionAsync(…).

Closes #2296
2022-04-06 14:26:50 +02:00
Mark Paluch
6cd9d2b3c3 Polishing.
Add nullable annotations. Add tests.

See #2279
Original pull request: #2280.
2022-03-31 10:07:40 +02:00
helei01_gza
71549a4605 Eagerly return null values in AbstractOperations.deserializeGeoResults(…) to avoid null dereference.
Closes #2279
Original pull request: #2280.
2022-03-31 10:07:27 +02:00
Greg L. Turnquist
16ffbbf6a9 Prepare 2.7 M4 (2021.2.0).
See #2267
2022-03-21 10:07:09 -05:00
Mark Paluch
8ab8a4a829 Polishing.
Update Bound operations parameter documentation order. Tweak wording.

See #2214
2022-03-10 13:52:15 +01:00
zhenqiangyi
70378b1183 Fix parameter documentation order of ZSetOperations methods.
Closes #2214
2022-03-10 13:51:52 +01:00
Mark Paluch
86d0b4f61d Polishing.
Update since tags. Move FlushOption converters to client-specific converters. Use method-references where possible.

See #2187
Original pull request: #2190.
2022-03-10 10:44:09 +01:00
Napster
3879a5a80d Add support for flush modes using FLUSHDB and FLUSHALL commands.
Closes #2187
Original pull request: #2190.
2022-03-10 10:43:37 +01:00
Mark Paluch
a0b70a346c Polishing.
Avoid races in command unsubscribe fetching.

See #2226
2022-03-09 13:53:01 +01:00
dengliming
39d7c37909 Simplify CLUSTER MYID command for Jedis.
Closes #2226
2022-03-09 13:43:15 +01:00
Mark Paluch
b87ef55eb4 Polishing.
Add support for MINID trimming. Add tests. Extract Jedis XAddParams conversion to StreamConverters.

Reorder methods. Simplify StreamRecord creation.

See #2247
2022-03-09 11:06:02 +01:00
dengliming
a3271f61f9 Support for approximate trimming in XAddOptions and AddStreamRecord.
Closes #2247
2022-03-09 09:46:13 +01:00
Mark Paluch
e63d5df8a7 Polishing.
Make tests less strict for random values test.

See #2267
2022-02-23 15:34:53 +01:00
Mark Paluch
47f2254089 Polishing.
Add since tags. Consistently document scan command with try-with-resources guidance. Use try-with-resources in tests.

See #2260
Original pull request: #2263.
2022-02-23 15:29:32 +01:00
Chen Li
14a1419feb Support scan in RedisTemplate.
Closes #2260
Original pull request: #2263.
2022-02-23 15:29:07 +01:00
Mark Paluch
c0d4d48c2c Prepare 2.7 M3 (2021.2.0).
See #2243
2022-02-18 11:08:48 +01:00
Mark Paluch
c93ddaba77 Polishing.
Allow Jedis to exist pub/sub loop gracefully. Await unsubscribe. Reduce retry backoff to allow from broken connection recovery. Do not use pooling to avoid using broken connections.

See #2256
2022-02-17 16:24:39 +01:00
Christoph Strobl
9e28039399 Update copyright year to 2022.
See: #2264
2022-02-17 11:22:47 +01:00
Christoph Strobl
c9f8d17b13 MessageListenerContainer must not be initialized twice.
Error when afterPropertiesSet is called more than once. Update documentation and error messages.
Original Pull Request: #2256
2022-02-17 11:16:12 +01:00
Mark Paluch
a87540e5cc Use proper subscribe methods and fix nullability assumptions.
See: #964
Original Pull Request: #2256
2022-02-17 11:14:35 +01:00
Mark Paluch
431dfc2a56 Revise implementation of RedisMessageListenerContainer.
RedisMessageListenerContainer is now reimplemented using non-blocking synchronization guards and a state management to simplify its maintenances. Additionally, listener registration and subscription setup through the start() method awaits until the listener subscription is confirmed by the Redis server. The synchronization removes potential race conditions that could happen by concurrent access to blocking Redis connectors in which the registration state was guessed and not awaited.

Resolves: #964
Original Pull Request: #2256
2022-02-17 11:14:11 +01:00
Oliver Drotbohm
1c3a241178 Adapt to changes in entity creation metadata APIs in Spring Data Commons. 2022-02-15 16:36:52 +01:00
Mark Paluch
ed9277236c Polishing.
Add author tags and update license years.

See #2222
2022-02-15 14:23:57 +01:00
Hendrik Duerkop
b9d6dd84dc Removed deprecated SpinBarrier.
Closes #2222
2022-02-15 13:51:09 +01:00
Christoph Strobl
2a6755f360 Lookup jackson config to figure out what to do with certain types (eg. java.time)
Related: #1566
Original Pull Request: #2253
2022-02-08 10:17:52 +01:00
Mark Paluch
2fc29d96ce Move inner test classes to top-level classes to run these by the Maven build.
Original Pull Request: #2253
2022-02-08 10:17:19 +01:00
Mark Paluch
73b49862df Retain target type hint when deserializing Stream records.
We now retain the target type when obtaining a HashMapper through StreamObjectMapper. To achieve this, we introduced the HashObjectReader interface accepting a target type.

Resolves: #2198
Related: #1566
Original Pull Request: #2253
2022-02-08 10:16:52 +01:00
Christoph Strobl
1100bdd2ee Prepare 2.7 M2 (2021.2.0).
See #2241
2022-01-18 09:09:01 +01:00
Christoph Strobl
36c66ed56f Prepare 2.7 M1 (2021.2.0).
See #2203
2022-01-14 10:57:51 +01:00
Christoph Strobl
93c25b0608 Switch Jackson default mapping default from NON_FINAL to EVERYTHING.
Closes #1566
Original pull request: #2237.
2022-01-13 14:48:50 +01:00
Mark Paluch
e53a5762b1 Polishing.
Add unit tests.

See #2234
2022-01-13 14:43:21 +01:00
sokomishalov
c363c4acb4 Add RedisScript and PartialUpdate extensions.
Closes #2234
2022-01-13 14:43:11 +01:00
Mark Paluch
d0f17b167e Polishing.
Reformat code. Consider sentinel username in JedisConnectionFactory. Update years in license headers.

See #2218
Original pull request: #2224.
2022-01-07 11:05:19 +01:00
Vikas Garg
f333b184a5 Support sentinel username in SentinelConfiguration.
Closes #2218
Original pull request: #2224.
2022-01-07 11:05:04 +01:00
Mark Paluch
be1663c95e Adopt to Mockito changes.
Closes #2221
2022-01-04 15:02:06 +01:00
Mark Paluch
45fdc5d0ab Polishing.
Consider configured PolymorphicTypeValidator.

See #2211
2022-01-03 10:49:32 +01:00
Guirong Hu
9af0f5f996 Move off deprecated ObjectMapper methods.
Closes #2211
2022-01-03 10:49:11 +01:00
Mark Paluch
3ca2191445 Respect ByteBuffer position and limits in ByteUtils.getBytes(ByteBuffer).
We now properly extract the byte array from a ByteBuffer by copying its content respecting the read position and limits.

Closes #2204
Original Pull Request: #2213
2021-12-15 09:52:49 +01:00