- generated report added to redis_version_compliance.txt - to gen, just run CheckRedisCompliance.java
Note now am using Maven 3.0.4
- 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
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.
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.
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.
The new pending request class will issue a FLUSH to the pipeline on get() and get(timeout).
Added AdHocTestInfo to tests. Not entirely sure yet how to deal with db# info enteries in InfoMap. Compliance is now 2.2.6.