Commit Graph

1180 Commits

Author SHA1 Message Date
Oliver Gierke
cf055b062a DATAREDIS-420 - After release cleanups. 2015-08-04 14:09:23 +02:00
Spring Buildmaster
3023d3f53a DATAREDIS-420 - Prepare next development iteration. 2015-08-04 04:27:29 -07:00
Spring Buildmaster
e6440dd7d1 DATAREDIS-420 - Release version 1.6.0.RC1 (Gosling RC1). 2015-08-04 04:27:26 -07:00
Oliver Gierke
a642e1bfa1 DATAREDIS-420 - Prepare 1.6.0.RC1 (Gosling RC1). 2015-08-04 13:02:49 +02:00
Oliver Gierke
4ab164b69a DATAREDIS-420 - Updated changelog. 2015-08-04 11:48:38 +02:00
Christoph Strobl
444b290863 DATAREDIS-348 - Polishing.
Fixed connection problems leaving sockets open. Added missing JUnit rules for Sentinels. Added missing author information update, license header and Javadoc.

Upgraded test script to use Redis 3.0.2. Upgrade test script to shut down Redis in case of test errors. Added Redis 3.0 to TestProfileValueSource. Enabled ZRANGEBYLEX tests for lettuce.

Original pull request: #144.
Related pull request: #104.
2015-08-04 10:12:39 +02:00
Mark Paluch
7426b27688 DATAREDIS-348 - Switch to mp911de/lettuce 3.0.
Updated lettuce redis client to latest snapshot, adopt changed API and use API for commands which were emulated using LUA script

Implemente Sentinel support using lettuce library, adopt finer grained exceptions and aligned exception behavior to match other libraries. Added shutdown-timeout property in order to control shutdown duration of the netty framework which reduces test run duration. Documentation updated as well. Contains also a fix to use psetex instead of setex (typo).

Switch to Jedis for Redis Version discovery in tests. Polished documentation. Use LettuceConverter and native time() method.

Original pull request: #144.
Related pull request: #104.
2015-08-04 10:12:39 +02:00
Oliver Gierke
4cd6b82e7b DATAREDIS-418 - Updated changelog. 2015-07-28 16:44:01 +02:00
Christoph Strobl
a08e90a1f7 DATAREDIS-414 - Serialization now occurs after pooled connection was released.
Moved key serialization and value deserialization outside of callback so that pooled connections get released more quickly.

Original pull request: #153.
2015-07-28 14:18:26 +02:00
Christoph Strobl
7073502e42 DATAREDIS-416 - RedisCache.putIfAbsent(…) now returns null for first addition.
We now return null for RedisCache.putIfAbesent(…) when value is set to meet the contract defined by org.springframework.cache.Cache.putIfAbsent(…).

Original pull request: #150.
2015-07-28 13:42:10 +02:00
Christoph Strobl
b2bae8f8fb DATAREDIS-412 - Assert compatibility with Jedis 2.7.1, 2.7.2 and 2.7.3.
Bump Jedis version and fix SendCommand class type differences between versions.

We now also lazily init the transaction on first call of multi() since pre initialization causes issues releasing Jedis connections and returning them to pool.

Original pull request: #149.
Related ticket: #139.
2015-07-22 14:39:30 +02:00
Christoph Strobl
1ad3392a72 DATAREDIS-401 - RedisCacheManager should operate on RedisOperations.
We now no longer require RedisCache and RedisCacheManager to be initialized with a RedisTemplate but use RedisOperations instead.

Original pull request: #142.
2015-07-09 19:10:13 +02:00
Andy Wilkinson
f694be772d DATAREDIS-413 - Use the latest version of the Spring IO Plugin
Spring IO Platform 2.0 will remove the managed versions .properties
file as support for it has been removed in Spring Boot 1.3.

This commit moves the build onto a new version of the Spring IO Plugin
that uses the Maven bom rather than the properties file.
2015-07-08 13:03:45 +02:00
Oliver Gierke
ab6c77c263 DATAREDIS-408 - Updated changelog. 2015-07-01 10:03:13 +02:00
Oliver Gierke
8aed73dfbe DATAREDIS-409 - Updated changelog. 2015-07-01 07:49:54 +02:00
Oliver Gierke
5afd7f5de6 DATAREDIS-410 - Updated changelog. 2015-06-30 14:29:45 +02:00
Christoph Strobl
aa04e73dbd DATAREDIS-402 - RedisCache should not expire known keys in case ttl of element is not set.
We now skip defining expire on known keys set in case element is eternal.

Original pull request: #141.
2015-06-16 09:38:54 +02:00
Oliver Gierke
281c9c58ae DATAREDIS-403 - Fixed configuration of JavaDoc task.
We now depend on the task that extracts shared resources and use the CSS provided with that.
2015-06-02 15:56:37 +02:00
Oliver Gierke
104489829f DATAREDIS-400 - After release cleanups. 2015-06-02 12:04:08 +02:00
Spring Buildmaster
9651f3d85d DATAREDIS-400 - Prepare next development iteration. 2015-06-02 01:42:04 -07:00
Spring Buildmaster
4974956b91 DATAREDIS-400 - Release version 1.6.0.M1 (Gosling M1). 2015-06-02 01:42:02 -07:00
Oliver Gierke
cbb546f4ad DATAREDIS-400 - Prepare 1.6.0.M1 (Gosling M1). 2015-06-02 08:54:51 +02:00
Oliver Gierke
70c4a07f88 DATAREDIS-400 - Updated changelog. 2015-06-02 08:25:04 +02:00
Thomas Darimont
31351b0463 DATAREDIS-352 - Enhance range options for ZSET.
Raising required redis version for zRangeByLexTest to fix failing test on CI server.
2015-05-22 18:59:54 +02:00
Christoph Strobl
283a9638f2 DATAREDIS-352 - Enhance range options for ZSET.
We now allow usage of Range and Limit types (newly introduced for ZRANGEBYLEX) on mostly all ZSET range operations.
Extracted constants for plus/minus and -inf/+inf expressions.

Original pull request: #138.
2015-05-22 15:16:08 +02:00
Thomas Darimont
3d4f62f5b7 DATAREDIS-396 - Update Jedis driver to version 2.7.2.
Adapted sendCommand lookup in JedisConnection to honor the changed signature of redis.clients.jedis.Connection.sendCommand(Command, String…) to redis.clients.jedis.Connection.sendCommand(ProtocolCommand, String…).

Original pull request: #140.
2015-05-19 13:26:33 +02:00
Christoph Strobl
ff37da5197 DATAREDIS-378 - Add support for ZRANGEBYLEX.
We now support ZRANGEBYLEX on RedisConnection and StringRedisConnection when using the Jedis driver. The upper and lower bounds can be defined using the Range type which will be converted to the according binary representation including prefix and/or infinite operators.

	range().gt("a")          => (a +
	range().gte("a")         => [a +
	range().lt("z")          => - (z
	range().lte("z")         => - [z
	range().gte("a").lt("z") => [a (z
2015-04-13 14:15:10 +02:00
Thomas Darimont
b916ff7549 DATAREDIS-393 - Upgrade to Spring Version 4.1.6. 2015-04-13 13:48:22 +02:00
Thomas Darimont
cf4fa9e4fb DATAREDIS-332 - @Transactional operation should use the same connection.
We only unbind the current redisConnectionFactory from the current thread if the transaction is not active anymore.
Previously we performed the unbinding in RedisTemplate.execute(RedisCallback, boolean, boolean) overtime which lead to the fact that the next redis operation within the same transaction used a different redis connection, which could lead to exhaustion of the connection pool.
We also ensure that we correctly unbind the RedisConnectionFactory resource from the TransactionSynchronizationManager on transaction completion in RedisTransactionSynchronizer.afterCompletion(int).
Added test case supplied from issue.

Original pull request: #134.
2015-04-13 12:58:54 +02:00
Thomas Darimont
bc6f93c43a DATAREDIS-388 - Upgrade to Jedis 2.7.
Original pull request: #135.
2015-03-30 12:14:33 +02:00
Oliver Gierke
2f3596611b DATAREDIS-385 - After release cleanups. 2015-03-23 14:04:26 +01:00
Spring Buildmaster
dc12e6c7c9 DATAREDIS-385 - Prepare next development iteration. 2015-03-23 14:04:16 +01:00
Spring Buildmaster
13d4753688 DATAREDIS-385 - Release version 1.5.0.RELEASE. 2015-03-23 05:46:24 -07:00
Oliver Gierke
f91458870b DATAREDIS-385 - Prepare 1.5.0.RELEASE (Fowler GA).
A few dependency upgrades to be in sync with all other Spring Data modules.
2015-03-23 12:44:56 +01:00
Oliver Gierke
2b1b01c593 DATAREDIS-385 - Updated changelog. 2015-03-23 12:04:11 +01:00
Thomas Darimont
c47292d173 DATAREDIS-374 - Adapt JedisConnectionFactory for changes in Jedis 2.7.
We now support both Jedis 2.6.2 (current release) as well as the upcoming 2.7 version. Therefore we call the in 2.7 renamed `getTimeout` / `setTimeout` Methods on `JedisShardInfo` via reflection to read/set `soTimeout`.

Since there’s no change in r.c.j.JedisFactory that would allow to individually configure connection and socket timeout, we use the socketTimeout of `JedisShardInfo`. This will cause `r.c.j.JedisFactory` to use the socket timeout for the connection as well, which is the same behavior as in 2.6.2.

Tested against Jedis 2.7 branch with Redis 3.0.0.RC4.

Original Pull Request: #127
2015-03-19 11:41:57 +01:00
Thomas Darimont
8bf624b1bb DATAREDIS-384 - Remove Java6 build for Travis-CI.
The only reason why the travis-ci build for SD Redis fails is because it still tries to build with java 6 which isn't supported by the asciidoctor gradle plugin.
2015-03-18 13:28:19 +01:00
Stephane Nicoll
d0a0a6a78b DATAREDIS-383 - Improve JavaDoc of RedisCacheManager.
Extended description on setCacheNames(..).

Original pull request: #132.
2015-03-18 13:10:10 +01:00
Christoph Strobl
738f41b169 DATAREDIS-379 - Update reference documentation.
- Added new-features section.
- Update command matrix.
- Updated Sentinel config and template section.

Original pull request: #130.
2015-03-16 13:43:35 +01:00
Thomas Darimont
45a0c95c82 DATAREDIS-380 - Use Redis 2.8.19 for tests.
Updated redis version.

Original Pull Request: #131
2015-03-11 15:02:34 +01:00
Oliver Gierke
d869cf8015 DATAREDIS-377 - After release cleanups. 2015-03-11 14:03:59 +01:00
Spring Buildmaster
1797a1f6a1 DATAREDIS-377 - Prepare next development iteration. 2015-03-11 14:03:52 +01:00
Spring Buildmaster
b4b94645db DATAREDIS-377 - Release version 1.5.0.RC1. 2015-03-05 08:18:03 -08:00
Oliver Gierke
5c2f22aaad DATAREDIS-377 - Prepare 1.5.0.RC1 (Fowler RC1). 2015-03-05 16:33:27 +01:00
Oliver Gierke
4af3351399 DATAREDIS-377 - Updated changelog. 2015-03-05 15:54:40 +01:00
Thomas Darimont
a8e4659f75 DATAREDIS-375 - Avoid repeatedly decorating a cache.
Previously a transactional RedisCacheManager decorated a cache with the TransactionAwareCacheDecorator twice. We now make sure that a particular cache is only decorated once with a TransactionAwareCacheDecorator.

Original Pull Request: #128
2015-03-04 17:28:32 +01:00
Christoph Strobl
c662c46d02 DATAREDIS-372 - Allow easier RedisSentinelConfiguration setup.
We now allow to initialize a RedisSentinelConfiguration based on a given String collection of host:ports.
  sentinelHostAndPorts[0] = 127.0.0.1:23679
  sentinelHostAndPorts[1] = 127.0.0.1:23680

Further on it’s possible to pass in a PropertySource containing master name and sentinel nodes.
  spring.redis.sentinel.master=myMaster
  spring.redis.sentinel.nodes=127.0.0.1:23679,127.0.0.1:23680

Original pull request: #126.
2015-02-16 15:16:09 +01:00
Christoph Strobl
43a6a60c8d DATAREDIS-371 - Upgrade Spring to 4.0.9.RELEASE. 2015-02-05 10:12:47 +01:00
Christoph Strobl
7a6b127355 DATAREDIS-369 - Avoid resource leak in RedisCache.
Introduce dedicated types RedisCache is supposed to work upon. We still stick to the contract defined by previous versions to assure source and binary compatibility.
In a next step RedisCache should be decoupled from o.s.cache.Cache by an additional indirection via RedisCacheCache.

Original Pull Request: #122
2015-02-05 08:32:50 +01:00
Christoph Strobl
b242d4ac6d DATAREDIS-369 - Avoid resource leak in RedisCache.
We now check the presence of a prefix which allows to identify the keys associated with the cache to either keep track of keys or use the prefix to remove them on clear.

This is a small fix intended to be back ported to the Evans (1.4.x) release train. Additional refactoring will be done for the Fowler release.

Original Pull Request: #122
2015-02-05 08:32:36 +01:00