Commit Graph

1266 Commits

Author SHA1 Message Date
Christoph Strobl
849091d6cf DATAREDIS-974 - Apply SSL configuration when creating Jedis Cluster.
Original pull request: #472.
2019-09-02 14:59:40 +02:00
Christoph Strobl
07099dc833 DATAREDIS-1021 - Fix not null assertion in KeyCommands. 2019-08-19 09:59:05 +02:00
Mark Paluch
3fad6e5adc DATAREDIS-1027 - Dispose reactive LettuceConnectionProvider on connection factory shutdown.
LettuceConnectionFactory.destroy() now disposes also the reactive LettuceConnectionProvider to free resources of a connection pool.

Original Pull Request: #470
2019-08-16 11:17:36 +02:00
Mark Paluch
595c0796c4 DATAREDIS-1025 - Add HTTPS entries into spring.schemas.
To resolve XSD files properly from the classpath, their HTTPS reference must be present in the spring.schemas to avoid internet interaction for resolving an XSD file.
2019-08-06 16:48:47 +02:00
Mark Paluch
9a110ea85c DATAREDIS-997 - Prepare 2.2 RC2 (Moore). 2019-08-05 15:35:05 +02:00
Mark Paluch
6a84bbce5d DATAREDIS-997 - Updated changelog. 2019-08-05 15:35:03 +02:00
Mark Paluch
2b45d5b7a8 DATAREDIS-996 - Updated changelog. 2019-08-05 11:34:28 +02:00
Mark Paluch
9076e6f77f DATAREDIS-984 - Updated changelog. 2019-08-05 11:08:59 +02:00
Christoph Strobl
a87e78cc5d DATAREDIS-1000 - Polishing.
Deprecate raw() and introduce dedicated methods for byteArray and byteBuffer.

Original Pull Request: #459
2019-07-30 14:37:30 +02:00
Mark Paluch
1491b93078 DATAREDIS-1000 - Fix raw/byte array serialization via RedisSerializationContext.
We now use the correct generic parameters for raw serialization via RedisSerializationContext returning ByteBuffer.

Introduce RedisSerializer.raw() and cleanups.

Original Pull Request: #459
2019-07-30 14:37:30 +02:00
Mark Paluch
7f9aca031a DATAREDIS-588 - Use JedisCluster.psetex(…) instead dispatching to a node.
We now use JedisCluster's psetex command instead of looking up the topology and dispatching the command ourselves.

Original Pull Request: #463
2019-07-30 07:51:44 +02:00
Mark Paluch
15fd1d38de DATAREDIS-588 - Polishing.
Simplify SET command usage with Jedis using various expiry and presence/absence flags to use consistently SetParams.

Original Pull Request: #463
2019-07-30 07:50:40 +02:00
Mark Paluch
9118af48a5 DATAREDIS-1013 - Polishing.
Remove flakey tests.
2019-07-26 14:55:37 +02:00
Mark Paluch
2de4141514 DATAREDIS-1013 - Polishing.
Add test. Consider grammar depending on argument count.

Original pull request: #468.
2019-07-26 14:49:07 +02:00
Sebastien Volle
c6267e7d47 DATAREDIS-1013 - Fix argument count validation for SELECT command.
Redis SELECT command requires a single argument.

Original pull request: #468.
2019-07-26 14:48:51 +02:00
Mark Paluch
18c862210c DATAREDIS-1015 - Upgrade to Jedis 3.1.0.
Add pipelining/transactional implementation for zcount.
2019-07-24 12:17:00 +02:00
Mark Paluch
485ee1d5a2 DATAREDIS-549 - Polishing.
Replace some AtTest(expected = …) and ExpectedException with the corresponding AssertJ assertThatExceptionOfType(…) and assertThatIllegalArgumentException().isThrownBy(…).
2019-07-10 17:57:38 +02:00
Mark Paluch
0205c9c98b DATAREDIS-549 - Migrate to AssertJ. 2019-07-10 17:57:38 +02:00
Mark Paluch
e506691f70 DATAREDIS-1001 - Polishing.
Use untyped serializers/serializers for Calendar and Date. Serialize JSR-310 types to String.

Original pull request: #467.
2019-07-09 16:44:57 +02:00
Christoph Strobl
a2831bef84 DATAREDIS-1001 - Fix java.util.Date hash mapping when flattening out entries.
The AsArrayTypeDeserializer causes date values to be rendered as an array like [java.util.Date, 1561543964015] an therefore is 1. skipped when flattening and 2. if not skipped cannot be read back.
We now register an error handler along with a custom deserializer aware of the used date format to write and read date values without having to store an array but just the date msec.

Original pull request: #467.
2019-07-09 16:33:33 +02:00
Christoph Strobl
1bdf875d45 DATAREDIS-976 - Polishing.
Add missing nullable annotations.

Original pull request: #457
2019-07-03 11:49:16 +02:00
Mark Paluch
05798fb637 DATAREDIS-976 - Allow extension of Lettuce Connection and Subscription classes.
LettuceConnection, LettuceClusterConnection, and LettuceSubscription can now be properly subclassed so they can be extended and created by LettuceConnectionFactory.

LettuceConnectionFactory provides template methods doCreateLettuceConnection and doCreateLettuceClusterConnection.

Original pull request: #450 & #457
2019-07-03 11:11:49 +02:00
Mark Paluch
6d4be98ce1 DATAREDIS-976 - Add Pub/Sub tests for Redis Cluster.
Original pull request: #450 & #457
2019-07-03 11:11:11 +02:00
Bruce Cloud
d14ca572d4 DATAREDIS-976 - Polishing.
ClusterConnectionProvider now accepts cluster-specific connection interfaces for Pub/Sub connections.

Original pull request: #450 & #457
2019-07-03 11:10:26 +02:00
Mark Paluch
ad54341953 DATAREDIS-990 - Propagate SSL configuration to Lettuce driver when using Redis Sentinel.
We now appropriately set SSL configuration when using the Lettuce driver with Redis Sentinel to enable Sentinel usage with SSL. Using Sentinel with SSL requires Lettuce 5.2 or newer.

Original Pull Request: #462
2019-07-03 09:48:04 +02:00
Christoph Strobl
64b8913764 DATAREDIS-988 - Polishing.
Original Pull Request: #453
2019-07-03 08:19:11 +02:00
Mark Paluch
ae2042b1eb DATAREDIS-988 - Consider transaction participation when releasing connections.
We now consider RedisTemplate's enableTransactionSupport configuration when releasing connections. Previously, we released bound connections when being in a read-only transaction regardless the configuration in RedisTemplate. This broke session callbacks that expected to remain on the same connection all but the first command were executed on a different connection.

Releasing a connection now no longer unbinds a connection if transaction support is disabled.

Original Pull Request: #453
2019-07-03 08:15:02 +02:00
Mark Paluch
da1de92645 DATAREDIS-988 - Discard transactions when releasing pooled connections.
We now check on connection release whether a connection is in MULTI state. If so, then we discard (rollback) the transaction to reset the connection to a fresh state.

Original Pull Request: #453
2019-07-03 08:03:19 +02:00
Mark Paluch
dfa366d8f7 DATAREDIS-999 - Use UsingWhen to apply functions to reactive Redis connections.
We now use Flux.usingWhen() to apply functions on reactive Redis connections and to release connections calling non-blocking methods.

Original Pull Request: #461
2019-07-02 13:52:52 +02:00
Mark Paluch
e9b5e6ee8e DATAREDIS-1005 - Polishing.
Implement cluster-wide scriptFlush(), scriptKill(), and scriptLoad(). Add method argument assertions and author tags. Adapt and fix tests.

Original pull request: #460.
2019-07-02 10:56:31 +02:00
Pavel Khokhlov
988a7e71b7 DATAREDIS-1005 - Add support for scripting commands for Jedis Cluster.
Original pull request: #460.
2019-07-02 10:54:10 +02:00
Mark Paluch
011ae5cda4 DATAREDIS-1009 - Polishing.
Increase StreamReadRequest.builder() method visibility to public.

Original pull request: #465.
2019-07-02 09:26:34 +02:00
Jacob O'Brien
558ac1f008 DATAREDIS-1009 - Make StreamMessageListenerContainerOptions builder method public.
Builder method should be public to be usable from the calling code.

Original pull request: #465.
2019-07-02 09:25:29 +02:00
weiyuc
1ee8200d1a DATAREDIS-1008 - Fix command reference in Javadoc.
Original pull request: #466.
2019-07-02 09:21:00 +02:00
Mark Paluch
b01b18fdc6 DATAREDIS-793 - Use GETRANGE instead of SUBSTR command.
We now use GETRANGE with the Jedis client instead of the deprecated SUBSTR command. This allows us to natively use long values for start/end and removes the need for String/byte conversion on command level.
2019-06-28 12:56:55 +02:00
Mark Paluch
755a78c210 DATAREDIS-639 - Unify logging framework usage.
Move off SLF4J to Commons Logging for code that used SLF4J.

Original pull request: #248.
2019-06-18 12:08:03 +02:00
Shyam Anand
4ada49d88b DATAREDIS-992 - Fix Bitwise AND to logical AND in AbstractOperations.
Bitwise AND was used instead of logical AND.

Original pull request: #454.
2019-06-18 11:53:59 +02:00
Mark Paluch
f77eccbc16 DATAREDIS-993 - Polishing.
Original pull request: #455.
2019-06-18 11:51:27 +02:00
Romain Beghi
548d8e7545 DATAREDIS-993 - Fix StreamOperations MapRecord HashValue serialization.
We now use the appropriate serializer to serialize hash values.

Original pull request: #455.
2019-06-18 11:51:02 +02:00
Christoph Strobl
759ee1a62b DATAREDIS-966 - Prepare 2.2 RC1 (Moore). 2019-06-14 14:43:17 +02:00
Christoph Strobl
0ad8376bd7 DATAREDIS-966 - Updated changelog. 2019-06-14 14:43:15 +02:00
Christoph Strobl
211ed5a563 DATAREDIS-983 - Updated changelog. 2019-06-14 13:27:17 +02:00
Christoph Strobl
1ca6659ef4 DATAREDIS-973 - Polishing.
Use connection factory customizer for setting db index when creating new connection. This allows to grasp the tests setup more quickly and improves readability.

Original Pull Request: #451
2019-06-06 07:31:39 +02:00
Mark Paluch
06e368b430 DATAREDIS-973 - Fix database selection using Lettuce.
We now correctly set the requested database using RedisURI so the driver performs the database selection. We no longer need to call select ourselves.

For shared connections (pooled and single shared connection) we now no longer call select. This can leave connections with a different database associated.

Original Pull Request: #451
2019-06-05 12:37:40 +02:00
Mark Paluch
e4446697cd DATAREDIS-955 - Polishing.
Eliminate warnings. Formatting. Remove test without assertions.

Original pull request: #452.
2019-05-21 14:38:34 +02:00
Christoph Strobl
db2e3bcae6 DATAREDIS-955 - Fix collection initialization when reading nested structures with same name.
We now make sure to not falsely populate instances with null values from nested structures.

Original pull request: #452.
2019-05-21 14:38:23 +02:00
Mark Paluch
0a6e40f66d DATAREDIS-980 - Updated changelog. 2019-05-13 18:19:11 +02:00
Mark Paluch
fbcc6e3271 DATAREDIS-979 - Updated changelog. 2019-05-13 14:59:28 +02:00
Mark Paluch
4f71d418ad DATAREDIS-970 - Prepare 2.2 M4 (Moore). 2019-05-13 11:59:04 +02:00
Mark Paluch
467a7a12da DATAREDIS-970 - Updated changelog. 2019-05-13 11:59:01 +02:00