Commit Graph

717 Commits

Author SHA1 Message Date
Jungtaek Lim
e1f50b5fae Change method naming : ScanResult.getBinaryCursor to ScanResult.getCursorAsBytes 2014-03-05 21:30:36 +09:00
Jungtaek Lim
d9813a09dc Change ScanResult's cursor type to byte[]
* It's less probabilities to conversion with byte[] <-> ?
2014-03-05 08:30:09 +09:00
Jungtaek Lim
0cd32a6103 Expose *SCAN commands to BinaryJedis
* method signatures are a bit similar to Jedis's *SCAN
** but it takes parameters to byte[] instead of String
* ScanParams : allow match pattern with byte[]
* ScanResult : add method to get cursor with byte[] type
* *SCAN for BinaryJedis unit tests included
2014-03-04 23:54:44 +09: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
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
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
Jonathan Leibiusky
ce3e76f246 Merge pull request #540 from xetorthio/closeable-support
Closeable support
2014-02-11 12:35:34 -05:00
Jonathan Leibiusky
fcef705a6c Add unit tests to Closeable 2014-02-11 12:31:32 -05:00
Jonathan Leibiusky
79f1dcb92b Merge branch 'master' of github.com:hgschmie/jedis into hgschmie-master 2014-02-11 12:22:01 -05:00
Jonathan Leibiusky
ba767cc5d4 Merge branch 'introduce-new-sentinel-commands-added-to-Redis-2.8' of github.com:HeartSaVioR/jedis into HeartSaVioR-introduce-new-sentinel-commands-added-to-Redis-2.8 2014-02-11 12:11:57 -05:00
Jonathan Leibiusky
bd364c6f70 Merge branch 'master' into HeartSaVioR-unsigned_long_cursor_with_compatibility 2014-02-11 12:05:26 -05:00
Jonathan Leibiusky
e271acb79c Fix redis leak when testing 2014-02-11 12:04:47 -05:00
Jonathan Leibiusky
3bca5d8460 Merge branch 'unsigned_long_cursor_with_compatibility' of github.com:HeartSaVioR/jedis into HeartSaVioR-unsigned_long_cursor_with_compatibility 2014-02-11 11:29:18 -05:00
Jonathan Leibiusky
9776bbb4f8 Merge pull request #537 from HeartSaVioR/deprecated_transactionblock_and_pipelineblock
Mark @Duplicated to TransactionBlock and PipelineBlock related classes / methods
2014-02-11 11:28:09 -05:00
Jonathan Leibiusky
d8ec0f8a5c version bump 2014-02-11 11:21:18 -05:00
Jonathan Leibiusky
08ed0006e8 Merge pull request #539 from xetorthio/cluster_bugfix
Fix test to make jedis work with latest git master version of redis
2014-02-11 10:25:55 -05:00
Marcos Nils
e59e4a0d2a Fix test to make jedis work with latest git master version of redis 2014-02-11 02:51:58 -03:00