Commit Graph

728 Commits

Author SHA1 Message Date
Jungtaek Lim
c0697cd6d7 Add "closeable" unit tests to JedisSentinelPool, ShardedJedisPoolTest 2014-03-16 22:58:26 +09:00
Jungtaek Lim
28fdd60f98 Merge branch 'closeable' of https://github.com/hgschmie/jedis into pool-closeable-support 2014-03-16 22:25:58 +09:00
Jonathan Leibiusky
bcd40b4e34 [maven-release-plugin] prepare for next development iteration 2014-03-12 13:14:51 -04:00
Jonathan Leibiusky
70fa35f3ba [maven-release-plugin] prepare release jedis-2.4.2 2014-03-12 13:14:49 -04:00
Jonathan Leibiusky
d00e8b6444 revert back version 2014-03-12 13:13:48 -04:00
Jonathan Leibiusky
ec03c0940e [maven-release-plugin] prepare for next development iteration 2014-03-12 10:44:02 -04:00
Jonathan Leibiusky
e449923ec0 [maven-release-plugin] prepare release jedis-2.4.2 2014-03-12 10:44:00 -04:00
Jonathan Leibiusky
12ab600dee Merge pull request #549 from HeartSaVioR/make_multi_in_pipeline_and_sync_work_smoothly
Fix multi in Pipeline and sync() - JedisDataException (fixes #547)
2014-03-12 10:41:51 -04:00
Jonathan Leibiusky
0c16cbde8b Merge pull request #587 from xetorthio/null-check
add a number of null check to return methods.
2014-03-12 10:36:33 -04:00
Jonathan Leibiusky
62b98a3e63 Add tests to check returning null to pool 2014-03-12 10:31:22 -04:00
Jonathan Leibiusky
f35567cc9f Merge branch 'null-check' of github.com:hgschmie/jedis into null-check 2014-03-12 10:28:44 -04:00
Marcos Nils
4e78b811be Merge JedisSlotBasedConnectionGuaranteedConnectionHandler to JedisSlotBasedConnectionHandler 2014-03-03 18:56:04 -03:00
Marcos Nils
b5fe10729b Merge branch 'fix-jedis-cluster-failover-to-slave' of https://github.com/HeartSaVioR/jedis into HeartSaVioR-fix-jedis-cluster-failover-to-slave 2014-03-03 18:49:43 -03:00
Henning Schmiedehausen
46eef9530b add a number of null check to return methods.
This allows calling these methods on error cleanup paths without having
to surround them with if checks all the time.
2014-02-27 10:58:46 -08:00
Henning Schmiedehausen
dc054268fa Add Closeable to JedisPool.
This allows JedisPool instances to also participate in try-with-resources.

Adds tests (both for JedisPool and the Jedis code itself).
2014-02-27 10:48:44 -08:00
Marcos Nils
ddb1870a5f Fix bug in JedisCluster del command. Fix #568 2014-02-27 10:48:46 -03:00
Jungtaek Lim
fcea0fe0fe CLUSTERDOWN : JedisClusterException 2014-02-26 07:54:08 +09:00
Jungtaek Lim
882d662470 Make Jedis Cluster more likely to antirez's redis-rb-cluster
JedisClusterCommand

* improvements on connection error handling
** if based on slot connection throws connection related exception, retry to random node
** if we retry with random node, but all nodes are unreachable, throw JedisConnectionException without retry
** try to release connection whether connection is broken or not

* bug fix : if asking flag is on, and success this time, set asking flag to off

JedisClusterConnectionHandler

* have flexibility on initializing slots cache
** allow some nodes connection failure - skip
** if current node is success initializing slots cache, skip other nodes
** if current node failed to initialize slots cache, discard all discovered nodes and slots

* set nodes if node does not exist in nodes
** it restricts JedisPool to replace - prevent IllegalStateException : Returned object not currently part of this pool

JedisSlotBasedConnectionGuaranteedConnectionHandler

* getConnection (random connection)
** check all connections by random sequence
** always return valid connection (able to ping-pong)
** throw exception if all connections are invalid

* some refactoring
2014-02-25 18:29:09 +09:00
Jonathan Leibiusky
e9cf469200 Merge pull request #554 from xetorthio/jediscluster_multithread
Make JedisCluster multihread by improving connection handling
2014-02-21 10:44:36 -05:00
Marcos Nils
756113821f Make JedisClusterCRC16 multi-thread 2014-02-20 14:58:04 -03:00
Marcos Nils
3f8507a117 Remove unnecessary connection allocation 2014-02-20 14:39:51 -03:00
Marcos Nils
756dc8deec Merge with master 2014-02-18 22:30:40 -03:00
Marcos Nils
e4de67048e Make JedisCluster multihread by improving connection handling 2014-02-18 21:59:53 -03:00
Jonathan Leibiusky
bfa4a80b01 [maven-release-plugin] prepare for next development iteration 2014-02-17 18:12:23 -05:00
Jonathan Leibiusky
89ccd8dfdd [maven-release-plugin] prepare release jedis-2.4.1 2014-02-17 18:12:21 -05:00
Jonathan Leibiusky
b7d551149a It is better to point everything to localhost and we just make sure
there is not redis running on port 1234 when renning the tests.
2014-02-17 18:01:19 -05:00
Jonathan Leibiusky
8ac9bd612c Merge pull request #546 from HeartSaVioR/sentinel_unit_test_revised
Sentinel unit test revised (use "sentinel failover", take care of "-failover-abort", etc)
2014-02-17 17:14:54 -05:00
Marcos Nils
752305a60a Merge pull request #551 from mayankdang/master
Fix #550 : Removed redundant call to connectionPool.getResource()
2014-02-17 09:36:56 -02:00
Mayank Dang
c4fb2b4adc Fix #550 : Removed redundant call to connectionPool.getResource() in method getConnectionFromSlot(int slot) in class JedisSlotBasedConnectionHandler 2014-02-17 16:52:19 +05:30
Jungtaek Lim
68ee4e49d0 Set dependency to Response when multi in pipeline and build dependency
first if Response's dependency found and not built

* there's some dependency with exec response and command responses
within multi
* if command responses's get() called before exec response's build(), it
calls exec response's build() first
* unit test included
2014-02-17 13:37:06 +09:00
Jungtaek Lim
05d63bbda4 Shift Redis/Sentinel instances to remove unused index
* Redis instances : 6, 7, 8 -> 5, 6, 7
* Sentinel instances : 4 -> 3
2014-02-15 20:22:50 +09:00
Jungtaek Lim
ef95688701 set sentinel failover-timeout longer (120000 ms)
* failover-timeout 60000 (ms) always success with local machine
** but sometimes failed with Travis CI
2014-02-15 13:21:07 +09:00
Jungtaek Lim
cee792dbfb Modify method sequence : public -> private 2014-02-15 13:13:32 +09:00
Jungtaek Lim
57b17dcc71 Clean up JedisSentinelTestUtil
* remove all unused methods
* move JedisSentinelPoolTest.waitForJedisSentinelPoolRecognizeNewMaster to JedisSentin
** both JedisSentinelTest and JedisSentinelPoolTest can use this implementation
* introduce FailoverAbortedException
** throws when we subscribe sentinel channels and got message by "-failover-abort-*" c
* respect Source Format to Java Convention (by Eclipse -> Source -> Format)
2014-02-15 13:12:08 +09:00
Jungtaek Lim
d937b48f90 Revert "Clean up JedisSentinelTestUtil"
This reverts commit a3862bc2dd.
2014-02-15 12:57:40 +09:00
Jungtaek Lim
a3862bc2dd Clean up JedisSentinelTestUtil
* remove all unused methods
* move JedisSentinelPoolTest.waitForJedisSentinelPoolRecognizeNewMaster to JedisSentinelTestUtil
** both JedisSentinelTest and JedisSentinelPoolTest can use this implementation
* introduce FailoverAbortedException
** throws when we subscribe sentinel channels and got message by "-failover-abort-*" channel
* respect Source Format to Java Convention (by Eclipse -> Source -> Format)
2014-02-15 12:53:30 +09:00
Jungtaek Lim
0909811538 Let JedisSentinelPoolTest recognizes "aborted failover" and fail fast
* let unit test fail if -failover-abort-* message is produced while waiting to failover
** waiting more is meaningless, and there is nothing we can do
** we can request "sentinel failover" to failover again, but it may can fail again
2014-02-15 11:00:46 +09:00
Jungtaek Lim
d2e073b2f2 Use "sentinel failover" to force failover
* Use "sentinel failover" to force failover
** faster than kill redis instances
* set failover timeout to 1 min
** It makes sense with failover within localhost
* reduce instances : 1 Redis Server and 1 Sentinel
** port is not changed -> I'll changed later at end of refactoring
2014-02-15 10:30:01 +09:00
Marcos Nils
b2fa6b6c40 Improve Jedis Cluster tests and cleanup son they run much faster and reliable 2014-02-14 05:31:16 -03:00
Marcos Nils
1d0290d000 Improve JedsClusterTest setup speed 2014-02-13 22:15:28 -03:00
Jonathan Leibiusky
1f7d1fda00 Makes sentinel tests more reliable by reducing the time it takes to mark
master as odown.
2014-02-13 13:41:31 -05:00
Marcos Nils
072232038f Add travis build status 2014-02-13 15:41:29 -02:00
Marcos Nils
b0648f78e8 Merge pull request #544 from ibuildthecloud/travis-ci
Add support for Travis CI
2014-02-13 14:00:00 -02:00
Darren Shepherd
7dc03cea1d Add support for Travis CI 2014-02-13 07:31:14 -07:00
Jonathan Leibiusky
8d79bdef26 [maven-release-plugin] prepare for next development iteration 2014-02-12 10:24:08 -05:00
Jonathan Leibiusky
9530eedf4d [maven-release-plugin] prepare release jedis-2.4.0 2014-02-12 10:24:06 -05:00
Jonathan Leibiusky
c84039c367 Merge pull request #541 from xetorthio/jedis_cluster_hashtag
Add support for redis cluster hashtags
2014-02-11 22:53:27 -05:00
Marcos Nils
76814b56a1 Remove unnecessary lines 2014-02-12 00:41:51 -03:00
Marcos Nils
ba9989e64c Add support for redis cluster hashtags 2014-02-12 00:39:12 -03:00
Marcos Nils
adc9cb215a Fix ClusterCommandTest AfterClass handling as it may leave the cluster inconsistent 2014-02-11 14:39:19 -03:00