Permalink
Commits on Mar 17, 2012
Commits on Feb 4, 2012
  1. Merge pull request #54 from jlopez/master

    alphazero committed Feb 4, 2012
    MERGE: jlopez/jredis@6571cf9 - Added zrangebyscoreSubset - TESTED
     - need to add test for JRedisFuture as well
  2. Added compliance check for JRedis and JRedisFuture -- TESTED

    alphazero committed Feb 4, 2012
     - generated report added to redis_version_compliance.txt
     - to gen, just run CheckRedisCompliance.java
Commits on Feb 1, 2012
  1. NOP - added DEV-NOTES.txt

    alphazero committed Feb 1, 2012
  2. NOP - update NOTICE files

    alphazero committed Feb 1, 2012
  3. Cleanup the poms to add version numbers for various plugins -- TESTED

    alphazero committed Feb 1, 2012
    Note now am using Maven 3.0.4
Commits on Jan 31, 2012
  1. Cleanuped tests/poms (details) -- TESTED

    alphazero committed Jan 31, 2012
    - DISABLED JRedisPipelineService tests -- IT IS BROKEN !
    - poms updated to use latest TestNG 6.1.1
    - BGSAVE in JRedisClientTest keeps failing due to Redis
        doing AOF writes but that ERR response is in effect
    	verification of the BGSACE command so it is logged
    	and ignored
Commits on Jan 26, 2012
Commits on Jan 25, 2012
  1. Phase 3 of optimizing pipeline use cache line friendly ctl word - TESTED

    alphazero committed Jan 25, 2012
    Using an 8 byte (long) word to hold offset and index of the chunked
    buffer and pending array.  It appears to be a bit faster but I think
    moving to a 4 byte (int) word would be optimal.
Commits on Jan 24, 2012
  1. Phase 2 of decoupling socket and queue in critical section - TESTED

    alphazero committed Jan 24, 2012
    Introduced new BlockingQueue<E> implementation class based on the
    `Two-Lock Concurrent Queue Algorithm' of Michael & Scott (ref:
    http://www.cs.rochester.edu/research/synchronization/pseudocode/queues.html)
    removing the JVM concurrent Queue implementation (which was overkill for
    this use-case)
    
    Modified handoff queue payload from individual items to array-block
    of the same.
Commits on Jan 22, 2012
Commits on Jan 21, 2012
  1. Phase 1 of decoupling socket and queue in critical section - TESTED

    alphazero committed Jan 21, 2012
    This is a fairly substantial change to the pipeline queueRequest()
    method, introducing a temporary connection queue to reduce interference
    between clients and the response handler thread, and, to prepare for
    stripping the critical zone into finer sections to reduce overall
    contention.
    
    Performance is somewhat (measurable but marginal) better than the
    previous versionof the chunked pipeline.  Jitter seems to be lower
    but that needs to be actually measured.
Commits on Jan 19, 2012
Commits on Jan 18, 2012
  1. Added ChunkedPipelineConnection specific PendingRequest -- ADHOC-TESTED.

    alphazero committed Jan 18, 2012
    The new pending request class will issue a FLUSH to the pipeline on
    get() and get(timeout).
Commits on Jan 15, 2012
  1. Updated InfoMap to reflect changes in INFO -- TESTED (Redis 2.2.6)

    alphazero committed Jan 15, 2012
    Added AdHocTestInfo to tests.
    Not entirely sure yet how to deal with db# info enteries in InfoMap.
    
    Compliance is now 2.2.6.
Commits on Oct 11, 2011
Commits on Oct 6, 2011
  1. Cleanup PipeLine response handler - TESTED

    alphazero committed Oct 6, 2011
    Event handling is still not really consistent -- not really an issue
    for pipeline (as they are not yet attempting reconnects) but will
    need to be clarified and corrected (TODO).
    
    The response handler class also now wraps its thread reference in an
    atomic ref -- just being defensive.
Commits on Oct 5, 2011
  1. Tighten up the ResponseHandler event processing -- TESTED

    alphazero committed Oct 5, 2011
    Added atomic flag for thread state to distinguish from work flag
    (renamed back from run to work).  Note that it is possible there
    will be a race condition but it is benign and the stop/shutdown
    methods do not assert state but merely push for a desired end state.