Commit Graph

370 Commits

Author SHA1 Message Date
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
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
5b15d48803 Refactor to have interfaces.
Add cluster pipeline commands.
2013-12-02 14:34:05 -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
Hisham Mardam-Bey
2ee7430518 Fixed issue #456 (evalsha loses args). 2013-10-05 17:33:25 -04:00
Eoin Coffey
796f80d9c0 Allow JedisPool to set a custom client name 2013-10-05 16:44:52 -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
Hisham Mardam-Bey
ebf1380eea Fixed bug where timeout, password, and database were not set in the
JedisSentinelPool overloaded contructor and hence not passed to JedisFactory.
2013-09-12 21:52:29 -04: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
52286d6942 Refactored the inline thread that monitors the master and turned it into its
own class. The pool shuts down the monitors as well now.
2013-08-24 17:14:03 -04:00
Hisham Mardam-Bey
c2a48afafd Initial JedisSentinelPool based on code from hamsterready/jedis-sentinel-pool.
Given a master name and a set of sentinels this pool will subscribe to the
Sentinel notifications about master changes (+switch-master) and
re-establishes the pool to the new master when one is announced.
2013-08-23 23:06:13 -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
Hisham Mardam-Bey
ed80e7ce70 Allow the Pool to be constructed without having an internal pool created.
This is useful when extending the Pool without being able to create one at
construction time.
2013-08-21 00:06:30 -04:00
Hisham Mardam-Bey
625e2235fd Merge remote-tracking branch 'mindwind/master'
Conflicts:
	src/main/java/redis/clients/jedis/BinaryClient.java
2013-08-20 23:36:42 -04: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
155aff09e0 fix - recover zadd with one score memeber 2013-07-15 15:57:03 +08:00
mindwind
5f11954d31 fix - pipeline zadd method signature
from: zadd(String key, double score, String member)
to: zadd(String key, Map<Double, String> scoreMembers)
2013-07-09 16:42:01 +08:00
mindwind
fffd119c63 fix - pipeline sort 2013-07-08 16:26:13 +08:00
mindwind
d57bfb94a9 fix - CLIENT command 2013-07-05 09:13:09 +08:00
mindwind
96c789aaab new - zcount with string min and max 2013-07-03 16:20:31 +08:00
mindwind
27b9eba0c0 fix - srandmember missing parameter 2013-07-03 08:50:14 +08:00
mindwind
7655994933 new - supplement transaction missing api and fix some args type definition which is inconsistent with jedis 2013-07-01 14:30:19 +08: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
mindwind
7b6006b669 merge - jedis pull request #429 2013-06-29 12:59:32 +08:00
mindwind
20a75417cd fix - suppress warnings 2013-06-29 12:58:25 +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
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
samhendley
258ac300fc added variadic versions of lpush/rpush(x) functions 2013-01-10 02:39:48 -05:00
samhendley
6b5fccdc0a refactored pipelinebase so it is usable to implement SharedJedisPipeline as well. 2013-01-10 02:29:39 -05: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
4f9ddb3b5f fixed many pipeline requests that were returning the wrong types 2013-01-10 00:50:19 -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