Commit Graph

1479 Commits

Author SHA1 Message Date
Mark Paluch
0267caffe3 DATAREDIS-764 - Fix code quotation and mention default serializers.
Original Pull Request: #305
2018-02-16 13:44:21 +01:00
Christoph Strobl
90c86a533a DATAREDIS-768 - Polishing.
Added test with decimal and date map keys to verify those are flattened out correctly using the converters registered and updated documentation to point out limitation of map keys to simple types.

Original Pull Request: #312
2018-02-16 13:00:41 +01:00
Mark Paluch
0fd0c8c213 DATAREDIS-768 - Consider map key type in MappingRedisConverter.readMap…(…).
We now consider the key type when reading a map from a Redis Hash. Previously, map keys were read as string while a map could declare numeric keys.

Original Pull Request: #312
2018-02-16 11:17:40 +01:00
Mark Paluch
5268549710 DATAREDIS-673 - Prevent false positive cache hits while Redis keys expire.
We now prevent false positive cache hits after checking for key presence and the Redis key gets removed before fetching its value.
This can happen if we check positively for presence but the key expires (TTL) or gets removed before the GET call is able to fetch the value.

Previously, we returned a RedisCacheElement wrapping null without regard to whether the cache is able to store/return null values. We now inspect the returned value for presence to eagerly return a negative cache hit and to preserve cached null values.

Original Pull Request: #310
2018-02-12 08:37:25 +01:00
Christoph Strobl
a44bb10a6a DATAREDIS-710 - Updated changelog. 2018-02-06 11:14:01 +01:00
Mark Paluch
434b9e369d DATAREDIS-766 - Configure SSL usage in JedisConnectionFactory depending on JedisShardInfo.
We now enable/disable SSL usage when configuring JedisConnectionFactory with JedisShardInfo based on the configured SSL use in JedisShardInfo.

Original Pull Request: #308
2018-02-05 09:37:33 +01:00
Mark Paluch
404a66f437 DATAREDIS-765 - Enable pooling when configuring Jedis to use Redis Sentinel.
We now enable pool usage when configuring JedisConnectionFactory with RedisSentinelConfiguration to prevent accidental connections using the non-pooled standalone configuration. Jedis can operate with Sentinel only with pooling.

We also reject calls to disable pooling when JedisConnectionFactory is configured to use Sentinel.

Original Pull request: #307
2018-02-01 15:27:23 +01:00
Mark Paluch
c5eea4affd DATAREDIS-737 - Updated changelog. 2018-01-24 13:41:25 +01:00
Mark Paluch
f8f422f948 DATAREDIS-759 - Fix line endings to LF. 2018-01-24 13:04:01 +01:00
Mark Paluch
29bcdb55d4 DATAREDIS-736 - After release cleanups. 2018-01-24 12:20:14 +01:00
Mark Paluch
c6735d4f8e DATAREDIS-736 - Prepare next development iteration. 2018-01-24 12:20:14 +01:00
Mark Paluch
bbb305253e DATAREDIS-736 - Release version 1.8.10 (Ingalls SR10). 2018-01-24 12:20:14 +01:00
Mark Paluch
a776fe78df DATAREDIS-736 - Prepare 1.8.10 (Ingalls SR10). 2018-01-24 12:20:14 +01:00
Mark Paluch
dd8908afe2 DATAREDIS-736 - Updated changelog. 2018-01-24 12:20:11 +01:00
Christoph Strobl
9a74434917 DATAREDIS-756 - Polishing.
Visibility changes.

Original Pull Request: #303
2018-01-23 14:29:11 +01:00
Mark Paluch
f79d292142 DATAREDIS-756 - Order results of partitioned multi-key commands by positional keys.
We now order and assemble results of multi-key commands (e.g. MGET with cross-slot keys) that are executed on different nodes by positional keys to retain duplicate keys in the requested order and retain the server response.

Previously duplicate keys were treated as set of keys and the response didn't match the requested keys.

Original Pull Request: #303
2018-01-23 12:57:16 +01:00
Christoph Strobl
765a6d1cb0 DATAREDIS-744 - Polishing
Move binary lookup methods to ByteUtils, update license headers and restore altered tests by creating additional ones.

Original Pull Request: #298
2018-01-11 14:53:13 +01:00
Mark Paluch
c6ad238cea DATAREDIS-744 - Support Redis hashes with colon in their id.
We now support Redis hashes via Repository support that contain colon in their id. We're using colons to split a composite id string into keyspace and id parts. Previously, we partially rejected processing of id's that don't exactly match the number of parts delimited by colon. This caused leftovers in secondary indexes.

Original Pull Request: #298
2018-01-11 14:52:36 +01:00
Mark Paluch
8e481f484c DATAREDIS-738 - Align changelog layout with other modules.
Remove links to Jira Github branches. Fix letter casing.
2017-12-02 15:45:47 -08:00
Mark Paluch
dc98b3df34 DATAREDIS-723 - Updated changelog. 2017-11-27 16:43:45 +01:00
Mark Paluch
b2e950c372 DATAREDIS-717 - After release cleanups. 2017-11-27 15:56:40 +01:00
Mark Paluch
0958ae131b DATAREDIS-717 - Prepare next development iteration. 2017-11-27 15:56:38 +01:00
Mark Paluch
9643ef8f02 DATAREDIS-717 - Release version 1.8.9 (Ingalls SR9). 2017-11-27 15:17:06 +01:00
Mark Paluch
832a8ecd93 DATAREDIS-717 - Prepare 1.8.9 (Ingalls SR9). 2017-11-27 15:16:09 +01:00
Mark Paluch
0dfceb3c63 DATAREDIS-717 - Updated changelog. 2017-11-27 15:16:07 +01:00
Zhiwei Sun
f0b835ca2d DATAREDIS-733 - Fix typo in ValueOperations Javadoc link.
Original pull request: #269.
2017-11-16 14:48:52 +01:00
Oliver Gierke
583e47aad7 DATAREDIS-709 - Updated changelog. 2017-10-27 16:36:56 +02:00
Oliver Gierke
f27999a4c3 DATAREDIS-689 - After release cleanups. 2017-10-11 19:00:16 +02:00
Oliver Gierke
650e0e154a DATAREDIS-689 - Prepare next development iteration. 2017-10-11 19:00:12 +02:00
Oliver Gierke
b5eaecfb84 DATAREDIS-689 - Release version 1.8.8 (Ingalls SR8). 2017-10-11 16:42:43 +02:00
Oliver Gierke
f34a9daa3c DATAREDIS-689 - Prepare 1.8.8 (Ingalls SR8). 2017-10-11 16:41:09 +02:00
Oliver Gierke
ff9a9438df DATAREDIS-689 - Updated changelog. 2017-10-11 16:41:04 +02:00
Mark Paluch
3c3d98d779 DATAREDIS-691 - Updated changelog. 2017-10-02 11:41:39 +02:00
Christoph Strobl
cbd9dad96f DATAREDIS-603 - Polishing.
Fix erroneous test setup.

Original Pull Request: #275
2017-09-30 10:42:47 +02:00
Mark Paluch
06c37880f7 DATAREDIS-603 - Fall back to RedisSystemException for non translateable exceptions during cluster execution.
We now use a fallback exception translation strategy in JedisClusterConnection to map all non-mapped exceptions to RedisSystemException. This change prevents null pointer exceptions caused by potentially throwing null.

Original Pull Request: #275
2017-09-30 10:42:10 +02:00
Oliver Gierke
2dd172e771 DATAREDIS-671 - Updated changelog. 2017-09-11 17:42:50 +02:00
Mark Paluch
94787c2cbb DATAREDIS-672 - After release cleanups. 2017-09-11 12:23:36 +02:00
Mark Paluch
1f2c7be4bd DATAREDIS-672 - Prepare next development iteration. 2017-09-11 12:23:35 +02:00
Mark Paluch
b039279bb0 DATAREDIS-672 - Release version 1.8.7 (Ingalls SR7). 2017-09-11 11:45:05 +02:00
Mark Paluch
749c1c673f DATAREDIS-672 - Prepare 1.8.7 (Ingalls SR7). 2017-09-11 11:44:21 +02:00
Mark Paluch
9721e511bd DATAREDIS-672 - Updated changelog. 2017-09-11 11:44:19 +02:00
Mark Paluch
9ac21cdafa DATAREDIS-687 - Polishing.
Parse Spring version for semantic version comparision. Remove redundant cast. Add issue tag to test, Visibility, formatting, imports.

Original pull request: #273.
2017-09-11 08:32:02 +02:00
Christoph Strobl
6e855f779e DATAREDIS-687 - Adapt Redis Cache tests to Spring 5.
Original pull request: #273.
2017-09-11 08:31:39 +02:00
Mark Paluch
fc07828b2f DATAREDIS-684 - Release Jedis cluster node connections with close().
We now release Jedis cluster node connections with Jedis.close() to the pool instead of Pool.returnResource(…). The close() method itself checks whether the connection was broken and if so, the connection gets destroyed. Destroying broken connections prevents the pool from supplying broken connections on borrow when testOnBorrow is disabled.

The only case where we return broken resources ourselves to the Pool is when we discover a broken connection ourselves: If we run into a NullPointerException or RedisConnectionFailureException, then we consider a connection is broken.

Original Pull Request: #271
2017-09-07 14:11:42 +02:00
Christoph Strobl
8b06c54246 DATAREDIS-679 - Polishing.
Use IllegalState- instead of IllegalArgumentException and utilize ExpectedException rule in tests.

Original Pull Request: #270
2017-09-07 11:06:01 +02:00
Mark Paluch
c855750535 DATAREDIS-679 - Reconfigure Jedis cluster connection pools for discovered cluster nodes.
We now request a cluster node connection directly from the driver's connection handler and initiate reconfiguration if a cluster node is known through the topology but has no connection pool yet. This can happen if a cluster node is added to the cluster after the connection was initialized.

The connection handler cannot be obtained directly although the field where it's held is protected which increases the amount of necessary test code and reflection access to the connection handler.

Jedis discovers nodes during startup, on demand (full scan) or when requested (e.g. by a cluster redirection).

Original Pull Request: #270
2017-09-07 11:05:51 +02:00
Mark Paluch
2ac028916b DATAREDIS-686 - Polishing.
Remove explicit boxing. Fix typo in ResultByReferenceKeyPositionComparator.

Original pull request: #272.
2017-09-05 16:25:40 +02:00
Christoph Strobl
1c52490fe0 DATAREDIS-686 - Use Java 6 compatible integer comparison in ClusterCommmandExecutor.
Original pull request: #272.
2017-09-05 16:15:34 +02:00
Mark Paluch
b07fe8d582 DATAREDIS-674 - Polishing.
Rename JedisConverters.zAddArgsConvertor(…) to toTupleMap(…) and reorder method to group with other tuple conversion methods. Add author tags.

Create tests for zadd with tuple using Redis Cluster. Enable pipelining and transactions for zadd using Jedis. Adopt tests.

Original pull request: #263.
2017-08-25 14:40:10 +02:00
Clement Ong
8c75fbd7ad DATAREDIS-674 - Support zAdd with a Set of Tuples using Jedis Cluster connections.
Original pull request: #263.
2017-08-25 14:40:05 +02:00