Commit Graph

269 Commits

Author SHA1 Message Date
Marcos Nils
1b26815799 Add functionality to recalculate slots when receiving MOVED response from node.
Add test to check for ASK responses (implementation missing)
2014-01-02 20:52:17 -03:00
Marcos Nils
b2d22e2060 Add slot based connection which routes requests according to key slot 2013-12-28 00:59:35 -03:00
Marcos Nils
9f767a0848 Add automatic discovery of cluster nodes 2013-12-27 23:09:44 -03:00
Marcos Nils
af72248c22 Implement all Jedis cluster commands and rename RedisSlot class 2013-12-20 16:56:29 -03:00
Marcos Nils
0bc27ac3a2 Refactor redis cluster connection handler and add JedisAskDataException handling 2013-12-20 15:28:32 -03:00
Marcos Nils
c008070045 Add JedisClusterCommand and updated code to use it respectively 2013-12-10 10:25:41 -03:00
Marcos Nils
0ebbf02c94 Change Moved cluster test and add confirmation for jedis cluster tests 2013-12-09 15:17:13 -03:00
Marcos Nils
726c3151b6 Add RedisSlot helper to calculate key slot 2013-12-08 01:08:14 -03:00
Marcos Nils
a8987ed865 Add first test to thorw MovedDataException when receiving MOVED from a cluster node 2013-12-07 17:55:17 -03:00
Jonathan Leibiusky
46966fb89f Prepare redis cluster for testing. The cluster will always be in a deterministic state to be able to reproduce -MOVED and -ASK 2013-12-02 19:27:12 -05:00
Jonathan Leibiusky
77d244b96a Add CLUSTER INFO, CLUSTER SETSLOT and CLUSTER GETKEYSINSLOT commands 2013-12-02 14:05:35 -05:00
Jonathan Leibiusky
dde278152f Add CLUSTER ADDSLOTS and CLUSTER DELSLOTS commands 2013-12-02 11:36:55 -05:00
Jonathan Leibiusky
403f2b292c Add CLUSTER MEET command 2013-12-02 10:01:19 -05:00
Jonathan Leibiusky
e7e2bfaedf Launch 3 nodes on ports 7379 to 7381 with cluster enabled.
Add command CLUSTER NODES
2013-12-02 09:53:40 -05:00
Jungtaek Lim
15891c4117 make jedis unit tests pass to Redis 2.8.1
* increase sentinel instance to test JedisSentinelTest
** clear() called, slave promoted to master (slave of no one), New
Sentinel force to restore it (demote) -> slave is not reusable
* ipv6 applied at Redis 2.8 -> localhost / 127.0.0.1 / ::1 is now all same

* Makefile: sleep some time for launch each sentinel (workaround to sentinel's issue)
** issue to sentinel leader vote: https://github.com/antirez/redis/issues/1419
*** sentinel may confused to vote with sentinels launched approximately same time
2013-12-02 22:11:52 +09:00
Jonathan Leibiusky
18652b906b Merge branch 'speed-up-unit-test' of github.com:HeartSaVioR/jedis into upgrade_libs
Conflicts:
	src/test/java/redis/clients/jedis/tests/JedisPoolTest.java
	src/test/java/redis/clients/jedis/tests/JedisSentinelPoolTest.java
	src/test/java/redis/clients/jedis/tests/JedisSentinelTest.java
	src/test/java/redis/clients/jedis/tests/ShardedJedisPipelineTest.java
	src/test/java/redis/clients/jedis/tests/ShardedJedisPoolTest.java
	src/test/java/redis/clients/jedis/tests/benchmark/PoolBenchmark.java
	src/test/java/redis/clients/jedis/tests/commands/TransactionCommandsTest.java
2013-11-29 12:12:30 -05:00
Jonathan Leibiusky
bbb867781d upgrade to commons-pool 2 2013-11-28 08:13:57 -05:00
Jungtaek Lim
7e1a1a70b2 Speed up Sentinel related tests
* remove FIXME sleep codes for Sentinel related tests
** add functions for Sentinel tests (JedisSentinelTestUtil)
*** waitForSentinelRecognizeRedisReplication
*** waitForNewPromotedMaster
*** waitForSentinelsRecognizeEachOthers
**** TODO: there're no command for sentinel to list recognized sentinel
**** sleep 5.5 sec (sentinel pings to master every 5 sec)

* set HostAndPort class to public(no longer inner) class
** reason: We cannot know pool's current master if HostAndPort class is
private inner class / HostAndPort classes are duplicated (main/test)
** make getter method and parameterized constructor
*** set fields once, get anytime
2013-10-07 11:03:32 +09:00
Hisham Mardam-Bey
597366343d Fixed up eval(sha) tests to better check that the lua script ran properly. 2013-10-05 18:13:30 -04:00
Eoin Coffey
796f80d9c0 Allow JedisPool to set a custom client name 2013-10-05 16:44:52 -04:00
Hisham Mardam-Bey
bc4d0ed0b6 Added test from pull request #429. 2013-10-05 16:43:00 -04:00
Jungtaek Lim
35a2dfd4c0 JedisSentinelPool now takes care of multi failover
* Now Pool.initPool() call closeInternalPool(), instead of destroy()
** calling destroy() in Pool.initPool() may have side effect, and JedisSentinelPool did
* modify unit test to test failover twice (needs +1 slave)
** modify configurations for additional slave
2013-09-26 10:48:17 +09:00
Jonathan Leibiusky
ad58f816b6 make sure that JedisSentinelPool use timeout, password and db 2013-09-15 15:33:22 -03:00
Jonathan Leibiusky
2ed1f073ff it might happen that it is alredy saving, so make sure that test won't fail because of this 2013-09-03 14:05:50 -03:00
Jonathan Leibiusky
fddd41d796 change makefile to accept "start" and "stop" to be able to start the testing environment and stopping it for manual testing purposes.
raising down-after-milliseconds of sentinel 1 to avoid taking the master down and up all the time.
change sleep to 10 seconds after doing a "salveof" to avoid false negatives.
2013-09-02 18:13:14 -03:00
Hisham Mardam-Bey
39d81d8f1f Added a JUnit test for JedisSentinelPool.
This test will set up and get a master from a Redis master slave pair being
watched by 2 Sentinels. It pings the master, segfaults it, asks the pool for
another connection and makes sure it can ping it.

This commit also restores the pom.xml file's scm information back to
xetorthio and adds the default Sentinel port to the Procotol.
2013-08-28 23:10:50 -04:00
Hisham Mardam-Bey
d377bcf6d3 Fail if the Sentinel does not return the slave. 2013-08-21 23:04:07 -04:00
Hisham Mardam-Bey
33e64bdb6e Changed redis.clients.jedis.tests.commands.AllKindOfValuesCommandsTest#ttl so that it passes assertion. Once this issue is resolved in Redis the test can be fixed. 2013-08-21 23:03:53 -04:00
Hisham Mardam-Bey
9b78d19dcf Merge branch 'fix-issue-438' of https://github.com/vrischmann/jedis 2013-08-21 21:01:03 -04:00
Hisham Mardam-Bey
1f3b5f1977 Merge branch 'master' of https://github.com/anthonyu/jedis 2013-08-21 20:57:08 -04:00
Hisham Mardam-Bey
a71c3dff17 Merge remote-tracking branch 'amimimor/master' 2013-08-21 20:32:27 -04:00
anthonyu
2475f24f7e Fix formatting. 2013-08-20 20:43:50 -07:00
anthonyu
bc86b1210b Pipeline eval and evalsha. 2013-08-20 19:43:32 -07:00
Vincent Rischmann
6dbad88250 Fix issue #438 2013-08-06 00:36:48 +02:00
mindwind
1080d136ec new - command for redis 2.6 2013-06-29 23:15:56 +08:00
mindwind
e7a88a49e9 new - pexpire, pexpireat and pttl command 2013-06-29 15:13:21 +08:00
mindwind
8b3ea5f2de new - dump and restore command 2013-06-29 14:17:44 +08:00
amitm
24c6b7c867 support for new 'set' command (redis 2.6.12+) 2013-05-13 12:40:24 +03:00
Jonathan Leibiusky
69f5340aa6 add info optional parameter 2013-02-05 15:55:48 -03:00
Jonathan Leibiusky
9d538a06fd when a script returns Null value, jedis throws NullPointerException 2013-02-05 15:44:35 -03:00
Jonathan Leibiusky
23e50a363e Change the way we test sentinel commands so it is automatic 2013-01-30 15:24:53 -03:00
Jonathan Leibiusky
846397d985 Merge branch 'master' of git://github.com/hamsterready/jedis into hamsterready-master
Conflicts:
	src/main/java/redis/clients/jedis/BinaryClient.java
	src/main/java/redis/clients/jedis/Client.java
	src/main/java/redis/clients/jedis/Jedis.java
	src/main/java/redis/clients/jedis/Protocol.java
2013-01-30 10:50:58 -03:00
Jonathan Leibiusky
406d52b271 fix tests, since ttl now return -2 or -1 depending if the key exists
already
2013-01-30 10:41:12 -03:00
samhendley
c8ddd237c3 extracted common Pipeline operations into PipelineBase and used that to simplify BinaryTransaction/Transaction 2013-01-10 01:16:54 -05:00
samhendley
4c7cc57ede Added bitcount to standard interfaces and bitop to MultiKey interfaces (since it is non-shardable)
Merge branch 'impl-bitcount-and-bitop' of git://github.com/koron/jedis

Conflicts:
	src/main/java/redis/clients/jedis/JedisCommands.java
2013-01-09 23:49:05 -05:00
samhendley
1a96769481 updated scripting test to be more tolerant of changing error messages (changed since 2.6.0) 2013-01-09 22:52:38 -05:00
shendley
45be143e23 Fixed binary safe pipeline commands and added tests for pipelined hash functions 2012-12-18 10:26:56 -05:00
Maciej Lopacinski
69b5291f80 SENTINEL commands 2012-11-18 19:58:13 +01:00
Ben Smith
909be715bc adding del to sharded jedis pipeline 2012-10-21 17:17:26 +01:00
MURAOKA Taro
4570329924 implemented bitcount and bitop commands for Redis 2.6 2012-08-23 10:29:36 +09:00