Commit Graph

386 Commits

Author SHA1 Message Date
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
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
Jungtaek Lim
1ed231cf15 Mark @Duplicated to TransactionBlock and PipelineBlock related classes /
methods
2014-02-10 07:55:27 +09:00
Jungtaek Lim
ed81f37d1b Introduce *scan with "string" cursor parameter to support unsigned long
cursor

* overload all *scan method to change "int" cursor to "string" cursor
* set @Deprecated and leave reason to deprecate and when to remove to
current *scan method
* modify unit tests to make it work with new *scan method
2014-02-10 07:08:39 +09:00
Daniel Josefsson
40c8a93340 Merge branch 'master' into eval-with-nested-lists-and-longs
Conflicts:
	src/main/java/redis/clients/jedis/Jedis.java
	src/test/java/redis/clients/jedis/tests/commands/ScriptingCommandsTest.java
2014-02-05 22:24:23 +00:00
Marcos Nils
a69dd4e242 Add exception handling in caso of unexecpected errors 2014-02-05 00:06:29 -03:00
Marcos Nils
d846149ae1 Fix #526. Node parsing error uppon :0 2014-02-04 22:34:48 -03:00
Jungtaek Lim
a5363582a6 Apply "Java Convention" to met Jedis's preferred source code Convention 2014-02-05 07:52:53 +09:00
Jungtaek Lim
6efeb45952 Merge branch 'master' into introduce-new-sentinel-commands-added-to-Redis-2.8
Conflicts:
	Makefile
	src/main/java/redis/clients/jedis/Jedis.java
2014-02-05 00:26:14 +09:00
Jonathan Leibiusky
bfecfcb744 Merge pull request #523 from xetorthio/pubsub
Add pubsub commands
2014-02-03 07:47:49 -08:00
Jonathan Leibiusky
d5f984a9d6 Merge branch 'transaction-block-should-not-call-discard-when-exception-ocurred' of github.com:HeartSaVioR/jedis into HeartSaVioR-transaction-block-should-not-call-discard-when-exception-ocurred
Conflicts:
	src/test/java/redis/clients/jedis/tests/commands/TransactionCommandsTest.java
2014-02-03 10:46:23 -05:00
Marcos Nils
4ab54d955d Change pubSub to pubsub 2014-02-03 12:44:40 -03:00
Marcos Nils
4b53160a74 Remove unnecessary Builder and fix merge issue. Fixes #520 2014-02-01 20:52:41 -03:00
Marcos Nils
bd19193cb6 Merged with master 2014-02-01 20:41:14 -03:00
Marcos Nils
319a241de0 Remove unnecessary imports 2014-02-01 20:15:52 -03:00
Marcos Nils
8bec9fd373 Implement missing pubsub commands and fix indentation 2014-02-01 20:14:18 -03:00
Jonathan Leibiusky
8fef62e21d Merge branch 'pubsub-concurrency' of github.com:ibuildthecloud/jedis into ibuildthecloud-pubsub-concurrency
Conflicts:
	src/main/java/redis/clients/jedis/Connection.java
	src/main/java/redis/clients/jedis/JedisPubSub.java
2014-01-31 13:28:29 -05:00
Jonathan Leibiusky
105ca9f5bb Reformat all files in the project according to java conventions. 2014-01-31 11:24:06 -05:00
Jonathan Leibiusky
265eab0cc9 Merge branch 'reset-state-of-jedis-client' of github.com:HeartSaVioR/jedis into HeartSaVioR-reset-state-of-jedis-client 2014-01-28 16:50:11 -05:00
Marcos Nils
b05d9adfb0 Change zadd parameter order to allow duplicated scoremembers but not members 2014-01-26 13:53:34 -03:00
Mayank Kakodkar
5f5b80e6e3 Corrected documentation for Jedis.get(), it returns a Java null, not (nil) 2014-01-23 21:03:46 +05:30
Jungtaek Lim
a50cf3b15e Apply Sentinel runtime configuration API introduced on Redis 2.8.4
* Implements new sentinel commands (failover, monitor, remove, set) 
* unit test included
** added 2 redis-server and 1 sentinel for failover test
* with some refactoring
** SentinelCommands : refactor to have interface
** HostAndPortUtil : same format to cluster setup
2014-01-22 00:23:40 +09:00
Jonathan Leibiusky
01842e4731 Merge branch 'fix-eval-argument-in-binary-jedis' of github.com:HeartSaVioR/jedis into HeartSaVioR-fix-eval-argument-in-binary-jedis 2014-01-18 11:39:31 -05:00
Marcos Nils
37f629765e Improve performance in MOVED and ASK response parsing 2014-01-17 12:06:20 -03:00
Darren Shepherd
f11c1622de Allow safe multi-threaded access to JedisPubSub
If Thread A calls a subscribe method on Jedis it will block on a socket read
call waiting for messages or subscription notifications.  Thread B is now free
to call additional methods on JedisPubSub to change the current subscriptions
that thread A is waiting for.  Essentially Thread A will do reads on the
socket and Thread B will do writes.

An issue occurs in that while Thread A is doing reads, in the
getObjectMultiBulkReply() method there is an implicit flush() call.  This
means both Thread A and Thread B may do a write to the socket.  Under this
situation if Thread A does a flush while Thread B is writing the internal
buffer will be corrupted.  The fix is to make thread A never call flush().
This allows Thread A to be solely reads and Thread B to be solely writes.

Additionally since Thread B is sending commands, the internal pipeline count
is incremented and never decremented.  So when Thread A terminates it's read
it resets the pipeline count.
2014-01-16 23:48:08 -07:00
Jonathan Leibiusky
842dcd2a95 Merge branch 'cluster' of github.com:marcosnils/jedis into marcosnils-cluster
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
2014-01-16 16:35:04 -05:00
Marcos Nils
46733c5d5a Add test for redis cluster max redirections and refactor JedisClusterCommand exception handling 2014-01-16 18:04:27 -03:00
Marcos Nils
4ab8ea2ef7 Move Jedis CRC16 util as it's being used in the project.
Changed Makefile to cleanup redis cluster node configuration before running tests
Add cleanup to ClusterCommandTest.
2014-01-14 15:57:53 -03:00
Marcos Nils
33716e237c Add JedisClusterException file 2014-01-03 16:45:22 -03:00
Marcos Nils
dd0bbdaf91 Several changes have been added to this commit:
- Add asking to cluster commands
- Make jedis cluster return connection to original pool
- Add tests for MOVED and ASK cluster responses
- Refactor connection handler to recalculate connections based on slots

This commit makes the first usable version of Jedis along with Redis Cluster
2014-01-03 16:42:21 -03:00
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
Jungtaek Lim
53b3e041f3 Fix BinaryJedis.eval() method bug (argument)
* append unit test for BinaryJedis
2013-12-23 14:19:28 +09: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
Jungtaek Lim
3073f778b4 JedisPool / JedisSentinelPool resets returning object's state (watched,
multi)

* BinaryClient / BinaryJedis : added feature to reset its state
(watched, multi)
* JedisPool / JedisSentinelPool : calls new feature (reset state) when
Jedis object returns to pool
* Unit Test included
2013-12-21 01:33:46 +09: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
Jungtaek Lim
10c131bbf0 BinaryJedis.multi(TransactionBlock) should not call discard when exception occurred
* In BinaryJedis.multi(TransactionBlock), multi & exec already fired before exception occured, so sending discard has no effect, and made another error
** add unit test (error inside TransactionBlock)
*** Transaction with error - Redis discards transaction automatically (execabort)
*** Transaction with error - Redis doesn't roll back (force to execute all)
2013-12-09 10:54:53 +09: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
46734e646a add WAIT command 2013-12-05 09:35:13 -05:00
Jonathan Leibiusky
0c00108f96 Merge pull request #490 from xetorthio/speedup_tests
Speedup tests
2013-12-03 16:51:04 -08:00
Jonathan Leibiusky
ceac8123d6 make control command tests fast 2013-12-03 17:54:35 -05:00
Jonathan Leibiusky
a27c67de66 add SCAN, HSCAN, SSCAN and ZSCAN 2013-12-03 16:55:52 -05:00
Jonathan Leibiusky
fa614bd2b8 Merge branch 'handles-client-output-buffer-limit' of github.com:HeartSaVioR/jedis into HeartSaVioR-handles-client-output-buffer-limit 2013-12-03 07:41:07 -05: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