Commit Graph

1234 Commits

Author SHA1 Message Date
Mark Paluch
ec79fad433 Updated changelog.
See #2024
2021-04-14 11:32:46 +02:00
Mark Paluch
1bdb0bcde3 Updated changelog.
See #2004
2021-04-14 11:17:44 +02:00
ooooo-youwillsee
8fe6b87990 Update reference documentation to set RedisConnectionFactory on RedisTemplate.
Closes #2030
2021-04-13 10:07:50 +02:00
Mark Paluch
a61bcaa88c Prepare 2.4.7 (2020.0.7).
See #2005
2021-03-31 18:19:20 +02:00
Mark Paluch
6c2447b9bf Updated changelog.
See #2005
2021-03-31 18:19:17 +02:00
Mark Paluch
b44252e9dc Updated changelog.
See #2003
2021-03-31 17:26:09 +02:00
Mark Paluch
f002bea3b2 Make RedisConnectionProxy public.
RedisConnectionProxy is now public so it can be used properly for Java proxy creation across different class loaders. Previously, creating a Java proxy from a different class loader failed because of visibility/access restrictions.

Closes #2016
2021-03-24 09:36:26 +01:00
Mark Paluch
da6b04b6a2 Updated changelog.
See #1974
2021-03-17 11:31:32 +01:00
Mark Paluch
ae8c33713c Prepare 2.4.6 (2020.0.6).
See #1976
2021-03-17 10:53:44 +01:00
Mark Paluch
42296e766c Updated changelog.
See #1976
2021-03-17 10:53:42 +01:00
Mark Paluch
2eda0e4c1e Updated changelog.
See #1972
2021-03-17 10:35:15 +01:00
Mark Paluch
67ef82b116 Polishing.
Add integration tests for Lettuce Cluster zRevRangeByLex. Fix converter usage in tests.

See #1998
2021-03-15 17:29:20 +01:00
Mark Paluch
996c749c1f Fix JedisClusterZSetCommands.reverseRangeByLex(…) parameter order.
max/min parameter are now used in the correct order.

Closes #1998
2021-03-15 17:29:20 +01:00
Mark Paluch
ede4b0805b Move off deprecated API.
Original Pull Request: #1991
2021-03-08 10:02:45 +01:00
Mark Paluch
ed0bba9c32 Accept cluster nodes without hostname.
RedisNode can now be constructed using an empty hostname. This can happen when a node is in failover state. RedisNode exposes hasValidHost() to check whether the node has a valid hostname.

Also, introduce copy constructor to avoid mutations caused by the builder.

Original Pull Request: #1991
2021-03-08 10:02:28 +01:00
Mark Paluch
91dc24f7d0 Polishing.
Tweak Javadoc. Extract comparator as constant. Remove Map copying for toString usage.

Closes #1982
2021-03-03 11:15:16 +01:00
Stefan Berger
65da767516 Improved performance of Bucket.extract().
By using a TreeMap, entries starting with a certain prefix can be found
much faster than before.

Closes #1982
2021-03-03 11:15:16 +01:00
Mark Paluch
aaf3cabeb6 Pass-thru custom Redis commands using Lettuce.
We now accept unknown custom Redis commands when using the Lettuce driver. Previously, custom commands were required to exist in Lettuce's CommandType enumeration and unknown commands (such as modules) failed to run.

Closes #1979
2021-02-23 09:30:00 +01:00
jongjin-bae
9179967d4a Move off deprecated code in reference documentation.
Fix example to create an instance of the LettuceClientConfiguration type with the appropriate constant variable.

Closes #1964
Original pull request: #1966.
2021-02-19 13:42:40 +01:00
Christoph Strobl
9f9c41c432 Updated changelog.
See #1975
2021-02-18 11:37:50 +01:00
Christoph Strobl
6cff1397bc Prepare 2.4.5 (2020.0.5).
See #1973
2021-02-18 10:58:50 +01:00
Christoph Strobl
a3c000dd5f Updated changelog.
See #1973
2021-02-18 10:58:48 +01:00
Christoph Strobl
1c321b33b4 Updated changelog.
See #1944
2021-02-17 14:20:37 +01:00
Christoph Strobl
b062d02b8b Prepare 2.4.4 (2020.0.4).
See #1943
2021-02-17 11:59:37 +01:00
Christoph Strobl
338ac0a30b Updated changelog.
See #1943
2021-02-17 11:59:36 +01:00
Christoph Strobl
b5c1f6c094 Updated changelog.
See #1830
2021-02-17 11:34:26 +01:00
Christoph Strobl
c959747abc Updated changelog.
See #1810
2021-02-17 10:58:30 +01:00
Christoph Strobl
5d3d2122c0 Move expires check to dedicated method.
Introduce helper method to unify expiry check and simplify control flow.

Original Pull Request: #1961
2021-02-16 12:09:38 +01:00
Muchnik Andrey
3f4df6d353 Remove phantom copy of expiring data when source gets persisted.
This commit makes sure to clean up resources when a previously expiring entity is persisted by setting the time to live to zero or negative.
In case a phantom copy exists for the changed entity, it is removed to free space on the server and prevent expiration events from being sent.

See #1955
Original Pull Request: #1961
2021-02-16 12:09:12 +01:00
Christoph Strobl
206d87fee2 Preserve order in SetConverter.
This commit fixes an issue where the order of elements in a set is not preserved when converting elements of the set.

Closes #1969.
Original pull request: #1968.
2021-02-15 14:57:17 +01:00
Christoph Strobl
443e37d552 Updated changelog.
See #1831
2021-01-13 15:49:53 +01:00
Christoph Strobl
2e976f8902 Prepare 2.4.3 (2020.0.3).
See #1832
2021-01-13 14:17:43 +01:00
Christoph Strobl
e75f41ca79 Updated changelog.
See #1832
2021-01-13 14:17:42 +01:00
Christoph Strobl
014ae63c69 Update issue tracker references after GitHub issues migration.
See: #1779
2021-01-13 08:22:12 +01:00
Mark Paluch
98accd265d Update copyright year to 2021.
Closes #1942
2021-01-12 10:44:23 +01:00
Greg L. Turnquist
4da17f0759 DATAREDIS-1263 - Include proper import statements.
To ensure Kotlin builds work properly, certain types need explicit import statements.
2020-12-09 11:53:45 -06:00
Mark Paluch
e83d5f7400 DATAREDIS-1249 - Prepare 2.4.2 (2020.0.2). 2020-12-09 16:00:55 +01:00
Mark Paluch
0a625f9b40 DATAREDIS-1249 - Updated changelog. 2020-12-09 16:00:51 +01:00
Mark Paluch
e894d0124a DATAREDIS-1242 - Updated changelog. 2020-12-09 15:33:29 +01:00
Mark Paluch
e66ca76ad6 DATAREDIS-1240 - Updated changelog. 2020-12-09 12:42:30 +01:00
Mark Paluch
2ee443e1ac DATAREDIS-1239 - Updated changelog. 2020-12-09 09:59:19 +01:00
Pavel
48a29318c6 DATAREDIS-1257 - Update redis-repositories documentation.
Update reading converter sample since it converts `Map` to an `Address`, it shall have opposite declaration.

Original Pull Request: #575
2020-12-07 12:25:10 +01:00
Mark Paluch
55141f873b DATAREDIS-1230 - Revise error handling in StreamReceiver and StreamMessageListenerContainer.
Reading and deserialization in StreamReceiver and StreamMessageListener is now decoupled from each other to allow fine-grained control over errors and resumption.

Previously, we used the Template API to read and deserialize stream records. Now the actual read happens before the deserialization so that errors during deserialization of individual messages can be handled properly. This split also allows advancing in the stream read. Previously, the failed deserialization prevented of getting hold of the non-serialized Stream record which caused the stream receiver to remain at the offset that fetched the offending record which effectively lead to an infinite loop.

We also support a resume function in StreamReceiver to control whether stream reads should be resumed or terminated.

Original Pull Request: #576
2020-12-07 11:16:31 +01:00
Christoph Strobl
be22fc677a DATAREDIS-891 - Update documentation.
Update since tags, add issue reference and fix new line issues in reference documentation.

Original Pull Request: #573
2020-12-07 10:34:42 +01:00
Mark Paluch
c4cba7fe26 DATAREDIS-891 - Revise RedisConnection transaction/closure resource binding.
We now correctly consider the transactional state along with the requested bindings scope when binding RedisConnection for reuse.

Previously, enabling transaction support on RedisTemplate registered the connection unconditionally with TransactionSynchronizationManager expecting a TransactionManager to close/unbind the connection upon transaction cleanup. This behavior could easily lead to lingering connections when a transactional RedisTemplate was used outside of a managed transaction.

We now distinguish between closure-scope binding and transaction binding.

Closure-scoped bindings (RedisTemplate.execute(SessionCallback)) do not interfere with transactional resources if there's no transactionally bound RedisConnection.

Closure-scope however reuses a transactionally bound connection.

Transaction-scoped binding binds only a connection to the transaction if there's an active transaction. Without an ongoing transaction, RedisTemplate does no longer bind connections to TransactionSynchronizationManager.

Original Pull Request: #573
2020-12-07 10:34:27 +01:00
Mark Paluch
3ea93c9c4a DATAREDIS-1241 - Prepare 2.4.1 (2020.0.1). 2020-11-11 11:58:36 +01:00
Mark Paluch
476e659f00 DATAREDIS-1241 - Updated changelog. 2020-11-11 11:58:31 +01:00
Mark Paluch
6619b9f2fb DATAREDIS-1248 - Use fresh JedisConnectionFactory in PubSubTests.
We make sure to use a dedicated JedisConnectionFactory for Pub/Sub tests as connections can easily break in previous tests which causes connection synchronization issues in the connection itself and in consequence, tests fail with an unrelated cause.
2020-11-11 10:25:15 +01:00
Mark Paluch
e6ac965a3e DATAREDIS-1246 - Use Queue.offer(…) instead of Queue.add(…) to buffer Stream subscription overflow.
Using now the method implemented by SpscArrayQueue instead of the not implemented one.
2020-11-11 09:56:38 +01:00
Christoph Strobl
0811b520be DATAREDIS-1245 - Use ClassUtils for assignable check in connection.ReturnType.
Original Pull Request: #571
2020-11-10 12:34:01 +01:00