Commit Graph

674 Commits

Author SHA1 Message Date
Nelson Rodrigues
fceb719848 Proper master failover detection depends on testOnBorrow 2014-07-28 11:35:39 -07:00
Nelson Rodrigues
c02c663776 Add check that JedisSentinelPool accepts closing connections before and after failover 2014-07-28 11:34:00 -07:00
Nelson Rodrigues
9013078d40 Fix race condition in JedisSentinelPoolTest
The test was issuing the failover command and only afterwards
connecting to the pub-sub channel to receive failover notifications.
If the failover occurred fast enought the pub-sub listener would never
get the notification.

Run the failover command on a separate Jedis connection after we're
absolutely sure that we're subscribed to the pub-sub channel.
2014-07-28 10:56:21 -07:00
Nelson Rodrigues
75d2ba751b Race condition when switching masters in JedisSentinelPool
Instead of recreating GenericObjectPool, we change the
underlying factory destination host. When returning
objects to the pool we make sure they are pointing at
the correct master.
2014-07-25 18:55:19 -07:00
xuyifei
088d86a60f Update Jedis.java
edit the rpop note (just makei it Specific
2014-07-17 16:40:22 +08:00
Jungtaek Lim
15ab934945 Re-format source to respect Jedis convention 2014-07-02 23:52:42 +09:00
Jungtaek Lim
4b72a4d254 Replace synchronized keyword lock to ReaderWriterLock 2014-07-02 23:46:15 +09:00
Jungtaek Lim
94966e6163 Renew slots when MOVED occured during request to Cluster
* It's suggested by http://redis.io/topics/cluster-spec
** antirez/redis-rb-cluster implementation does it, too
* Since Redis 3.0-beta 7 introduces CLUSTER SLOTS, it becomes easier
* FIXME: It's fully synchronized, so it hurts performance (somewhat poor implementation)
** We can try Reader / Writer strategy to make lock waiting make shorter
2014-07-02 23:29:30 +09:00
Jungtaek Lim
b7b10df0a1 Merge branch 'master' into renew-slots-info-when-moved-has-occurred 2014-07-02 23:21:58 +09:00
Jungtaek Lim
0f472c97a2 fix build after CLUSTER NODES output has been changed
* https://github.com/antirez/redis/issues/1848
* we don't need to handle :0 by changes
2014-07-02 07:42:29 +09:00
Jungtaek Lim
fd23f8b8f7 Support CLUSTER SLOTS command
* CLUSTER SLOTS returns a Redis-formatted mapping from slot ranges to IP/Port pairs serving that slot range
* description link including output format
** e14829de30
* Unit test included
2014-07-02 06:46:58 +09:00
Lars Strojny
18c4a987d5 Completing interface 2014-07-01 15:41:57 +02:00
Jungtaek Lim
4c4446a71f Remove unused (by accident?) import 2014-06-24 09:23:19 +09:00
Jungtaek Lim
1d29b759fe Make it better to use URI from Jedis / JedisPool
* no need to provide password / DB index when user uses URI
* can provide timeout when user users URI
2014-06-15 21:50:38 +09:00
Mayank Dang
19fc1f87cf Merge remote-tracking branch 'upstream/master' 2014-05-30 16:16:23 +05:30
Jonathan Leibiusky
d02e56c4f8 Merge pull request #651 from xetorthio/protocol_bound_fix
Checks for buffer out of bounds before writing to the stream. Fixes #636
2014-05-29 11:43:16 -04:00
Mayank Dang
334d2ec19b Added test case for testing if PoolConfig applies to ClusterPools 2014-05-29 20:50:23 +05:30
Mayank Dang
0e25cf65fb Merging upstream 2014-05-29 20:44:40 +05:30
Jungtaek Lim
6f8d46ae4f Merge branch 'master' into implements-closeable-to-pooled-jedis-shardedjedis
Conflicts:
	src/main/java/redis/clients/jedis/Jedis.java
	src/main/java/redis/clients/jedis/JedisSentinelPool.java
	src/main/java/redis/clients/jedis/ShardedJedis.java
	src/test/java/redis/clients/jedis/tests/JedisPoolTest.java
2014-05-26 11:18:45 +09:00
Marcos Nils
667eeaf815 Merge pull request #626 from HeartSaVioR/fix-pipeline-throws-npe-without-multi
Fix Pipeline throws NPE using exec without multi (fixes #623)
2014-05-25 22:52:41 +03:00
Marcos Nils
f3834e1a1b Merge branch 'master' of https://github.com/PumpkinJack/jedis into PumpkinJack-master 2014-05-25 16:43:33 -03:00
Marcos Nils
1782aaeeb1 Manual merge of #581 2014-05-25 16:30:41 -03:00
Marcos Nils
50052e90ad Manually merge #400 2014-05-25 15:32:12 -03:00
Marcos Nils
0d5062c347 Merge branch 'master' of github.com:xetorthio/jedis 2014-05-25 15:23:59 -03:00
Marcos Nils
3131279b5b Manually merge with #574 2014-05-25 15:22:20 -03:00
Marcos Nils
213d186c8d Merge pull request #576 from aniketschneider/pexpire-long-with-deprecation
Accept long parameter for pexpire
2014-05-25 21:12:33 +03:00
Marcos Nils
6106f5bbe6 Manually merge #578 to master 2014-05-25 15:01:24 -03:00
Jonathan Leibiusky
bc9e49d6c9 Merge pull request #571 from rherget/master
add a returnBrokenResource method to ShardedJedisPool
2014-05-25 13:36:27 -04:00
Marcos Nils
20d1450124 Merge pull request #622 from mindwind/master
ScanParams should be return this reference for chain code style like SortingParams
2014-05-25 20:34:30 +03:00
Jonathan Leibiusky
8f52dc743f Merge pull request #615 from xetorthio/hll-resurrect-afefb71e57b0258a52b465b2b4e57c132aef4db9
Support for HLL
2014-05-25 13:34:13 -04:00
Marcos Nils
c17a228b45 Merge pull request #637 from HeartSaVioR/fix-cluster-nodes-parse-error
fix "cluster nodes" parse error when slot is in transition (fixes #635)
2014-05-25 20:32:28 +03:00
wjw
ab2f43b8c0 fix issue #642 2014-05-23 16:18:07 +08:00
wjw
268706b65c format test code 2014-05-23 15:39:51 +08:00
wjw
3917a50c03 format code use STS 2014-05-23 15:04:52 +08:00
Steve Parrington
742e83b1e0 Added override annotation to ShardedJedis.set() 2014-05-22 11:29:55 +01:00
Steve Parrington
51de5f72ab Added Set NXXX and EXPX options for JedisCluster and ShardedJedis 2014-05-21 16:09:47 +01:00
Jungtaek Lim
7255a8cae1 fix "cluster nodes" parse error when slot is in transition
* extract cluster nodes info. parser from JedisClusterConnectionHandler
* unit test for migrating slot included
2014-05-21 08:08:12 +09:00
Marcos Nils
4b07966e74 Checks for buffer out of bounds before writing to the stream. Fixes #636 2014-05-20 11:42:16 -03:00
PumpkinJack
942fc1d77b add the time() method 2014-05-04 15:15:21 +08:00
PumpkinJack
c63e901232 add 'time()' method to MultiKeyPipellineBase 2014-05-03 17:25:10 +08:00
Jungtaek Lim
6485a7ec08 Add Binary Pipeline version of pfcount 2014-04-30 08:17:59 +09:00
Alok Singh
d9d039d060 Added pfcount(keys) to BinaryJedis interfaces 2014-04-29 08:58:15 -07:00
Alok Singh
b633024c11 Move pfcount(keys) method to multikey interfaces 2014-04-28 16:41:09 -07:00
Alok Singh
cd722e5a82 Add support for pfcount with multiple keys 2014-04-28 14:17:46 -07:00
Jungtaek Lim
bbc9078c3f Fix Pipeline NPE or sth with multi
* followings are now throwing JedisDataException: it was uncontrolled or controlled by Redis itself
** exec without multi
** discard without multi
** multi within multi
* updates unit test

actually Redis returns ERR and we can pick, but Pipeline + multi has some complex sequence
so it can just throw NPE without ERR
2014-04-29 00:05:49 +09:00
mindwind
69de8d84d5 fix - ScanParams should be return this reference
build pattern for chain code style
2014-04-24 10:58:57 +08:00
Jungtaek Lim
409740f06c Support Sorted Set with LEX commands
* new commands : ZLEXCOUNT, ZRANGEBYLEX, ZREMRANGEBYLEX
** added commands to Jedis, ShardedJedis, JedisCluster, PipelineBase with Binary
/ Normal(String)
** description links
*** http://redis.io/commands/zlexcount
*** http://redis.io/commands/zrangebylex
*** http://redis.io/commands/zremrangebylex
** Unit test included
2014-04-22 23:39:37 +09:00
Jungtaek Lim
986acc8c9e Revert "Revert "Add support for HLL""
This reverts commit ac53759f97.

Sorry for double reverting, I should revert "merged commit", not origin commit

Conflicts:
	src/main/java/redis/clients/jedis/BinaryClient.java
	src/main/java/redis/clients/jedis/Jedis.java
	src/test/java/redis/clients/jedis/tests/commands/HyperLogLogCommandsTest.java
2014-04-06 00:19:16 +09:00
Jungtaek Lim
334314d3c5 Merge branch 'master' into hll-resurrect-afefb71e57b0258a52b465b2b4e57c132aef4db9
it resurrects afefb71e57

Conflicts:
	src/main/java/redis/clients/jedis/BinaryClient.java
	src/main/java/redis/clients/jedis/Jedis.java
	src/test/java/redis/clients/jedis/tests/commands/HyperLogLogCommandsTest.java
2014-04-06 00:11:40 +09:00
Jungtaek Lim
c2cf79c972 Apply PF* (string, binary) commands to Pipeline
* Apply PF* (string, binary) commands to Pipeline
* PF* Pipeline (string, binary) commands to interface
** pfadd / pfcount : BinaryRedisPipeline, RedisPipeline
** pfmerge : MultiKeyBinaryRedisPipeline, MultiKeyCommandsPipeline
2014-04-05 23:48:49 +09:00