Permalink
Switch branches/tags
vector-clock-fixes v1.4.0 release-1.10.26-cutoff release-1.10.25-cutoff release-1.10.24-cutoff release-1.10.23-cutoff release-1.10.22-cutoff release-1.10.21-cutoff release-1.10.20-cutoff release-1.10.19.1-cutoff release-1.10.19-cutoff release-1.10.18-cutoff release-1.10.17-cutoff release-1.10.16-cutoff release-1.10.15-cutoff release-1.10.14-cutoff release-1.10.13-cutoff release-1.10.12-cutoff release-1.10.11-cutoff release-1.10.10-cutoff release-1.10.9-cutoff release-1.10.8-cutoff release-1.10.7-cutoff release-1.10.6-cutoff release-1.10.5-cutoff release-1.10.4-cutoff release-1.10.3-cutoff release-1.10.2-cutoff release-1.10.1-cutoff release-1.10.0-cutoff release-1.9.22-cutoff release-1.9.21-cutoff release-1.9.20-cutoff release-1.9.19-cutoff release-1.9.18-cutoff release-1.9.17-cutoff release-1.9.16-cutoff release-1.9.15-cutoff release-1.9.14-cutoff release-1.9.13-cutoff release-1.9.12-cutoff release-1.9.11-cutoff release-1.9.10-cutoff release-1.9.9-cutoff release-1.9.8-cutoff release-1.9.7-cutoff release-1.9.6-cutoff release-1.9.5-cutoff release-1.9.4-cutoff release-1.9.3-cutoff release-1.9.2-cutoff release-1.9.1-cutoff release-1.9.0-cutoff release-1.8.16-cutoff release-1.8.15-cutoff release-1.8.14-cutoff release-1.8.13-cutoff release-1.8.12-cutoff release-1.8.11-cutoff release-1.8.10-cutoff release-1.8.9-cutoff release-1.8.8-cutoff release-1.8.5-cutoff release-1.8.4-cutoff release-1.8.3-cutoff release-1.8.1-cutoff release-1.7.3-cutoff release-1.7.2-cutoff release-1.7.1-cutoff release-1.7.0-cutoff release-1.6.8-cutoff release-1.6.6-cutoff release-1.6.4 release-1.6.4-cutoff release-1.6.3-cutoff release-1.6.2-cutoff release-1.6.1-cutoff release-1.6.0-cutoff release-1.5.9-cutoff release-1.5.8-cutoff release-1.5.7-cutoff release-1.5.4-cutoff release-1.5.2-cutoff release-1.5.1-cutoff release-1.3.0-cutoff before-replicatype-was-removed before-donorbased-was-removed
Nothing to show
Commits on Jan 21, 2013
  1. Prepare to release version 1.2.0

    Chinmay Soman
    Chinmay Soman committed Jan 21, 2013
  2. Tweaked SimpleCounterTest to avoid passing negative value to sleep if…

    jayjwylie committed Jan 21, 2013
    … GC or other pause occurs at inopportune point during test.
Commits on Jan 15, 2013
  1. Reverted refactoring of PerformParallel* classes committed in f37b25e…

    jayjwylie committed Dec 4, 2012
    …cdd14ac27480a8ca353cae919464df3af
  2. Moved stress test for connection checkout/checkin and failure detecto…

    jayjwylie committed Dec 4, 2012
    …r to long unit test. Cleaned up comments in ClientRequestExecutorPool to make intended semantics clearer.
  3. Minor changes to tests

    jayjwylie committed Dec 3, 2012
    - renamed base keyedresourcepool test to avoid pattern that ant/junit uses to try and run tests.
    - tweaked stress tests parameters once more to make it easier to run locally.
  4. Substantial refactoring of (Queued)KeyedResourcePool tests.

    jayjwylie committed Dec 3, 2012
    - factored out a common base class in which all of the nested helper classes are defined
    - separated out the various types of tests into files:
      - simple/basic tests
      - contention tests that spawn threads to generate contention
      - specific race condition test
    - The specific race condition test for KeyedResourcePool shows that google issue 276 is resolved: http://code.google.com/p/project-voldemort/issues/detail?id=276
  5. Added stress test and cleaned up client request executor pool reset.

    jayjwylie committed Nov 30, 2012
    reset(dest)
    - changed behavior to match original KeyedResourcePool implementation. The original QueuedKeyedResourcePool.reset() was an unnecessary/bad behavior change that canceled enqueued requests. The original behavior was to destroy idle resources whenever pool is reset.
    
    test/integration/voldemort/socketpool/E2EClientRequestExecutorPoolAndFailureDetectorTest.java
    - stress test that has put and get threads contend for slow servers in such a manner as to trigger failure detection to mark nodes unavailable. This excercises connection tear down, reset(), and build up again. This also exercises the code paths in which callbacks do heavyweight work.
  6. Interim checkin with an ugly example of how threads could be created …

    jayjwylie committed Nov 30, 2012
    …to handle callback work. The ugly code is commented out.
  7. Refactor all PerformParallel*Request classes.

    jayjwylie committed Nov 29, 2012
    - got rid of anonymous call back classes
    - factored out waitForResponses logic and processResponses logic for most of these classes. GetAll stands out as being fairly different from the others.
    - did not refactor to the point of sharing common code across classes, just refactored within each class.
    - added many TODOs to the code for further refactoring.
  8. Reduce granularity of failure detector locking and do not destroy all…

    jayjwylie committed Nov 28, 2012
    … enqueued requests upon setUnavailable.
    
    src/java/voldemort/cluster/failuredetector/ThresholdFailureDetector.java
    - Reduce amount of work done within synchronized section to reduce lock granularity and so ensure "side effects" of node being marked (un)available are not w/in sync section.
    
    src/java/voldemort/store/socket/clientrequest/ClientRequestExecutorPool.java
    - Added TODO/comment to decide whether we want to actively destroy all connections upon node being marked unavailable
    - Switched behavior to lazily destroying connections.
  9. Less verbose logging in the face of expected exceptions and error log…

    jayjwylie committed Nov 28, 2012
    …ging in the face of a slop not being written.
    
    src/java/voldemort/cluster/failuredetector/AbstractFailureDetector.java
    - less verbose logging when a node is unavailable
    
    src/java/voldemort/store/routed/action/AbstractAction.java
    - less verbose logging in the face of expected "exceptional" responses.
    
    src/java/voldemort/store/slop/HintedHandoff.java
    - ensure that an error message is logged if a slop is not written (we can grep for "Slop write of key.*was not written" in logs)
    - added TODO because ObsoleteVersionExceptiosn are neither treated as failures or successes in the callback to sendHintParallel.
    
    test/integration/voldemort/nonblocking/E2ENonblockingCheckoutTest.java
    - minor fix
    
    test/unit/voldemort/server/socket/ClientRequestExecutorPoolTest.java
    - from junit3 to junit4
  10. Minor code clean up based on review feedback

    jayjwylie committed Nov 17, 2012
    Protected all logger.(debug|info) statements I added with an is(Debug|Info)Enabled() check.
    
    Made AsyncRecoveryFailureDetector less verbose. When it polls a server to see if it is available, it now prints out a clean INFO level message. It had been printing out a WARN level message *with* a stacktrace that made this expected behavior look much scarier than it really is.
  11. Added INFO level messages to better understand the performance of per…

    jayjwylie committed Nov 14, 2012
    …-request instrumentation. Expect to remove most of this after debugging.
  12. Added INFO level messages to better understand resetting stats in Cli…

    jayjwylie committed Nov 12, 2012
    …entSocketStats. Expect to remove this after debugging.
  13. Added INFO level messages to better understand connection creation. E…

    jayjwylie committed Nov 12, 2012
    …xpet to remove most of this after debugging.
    
    src/java/voldemort/store/socket/clientrequest/ClientRequestExecutorFactory.java
    - print out time to establish connection (if it takes longer than 1 ms)
    
    src/java/voldemort/utils/pool/KeyedResourcePool.java
    - print out info about object creation (connection establishment). In
      particular, how many outstanding creations (connection
      establishments) are in flight and how many idle resources are in the
      pool after the newly created resource is checked in.
  14. Added INFO level messages to better understand statistics tracking (S…

    jayjwylie committed Nov 12, 2012
    …toreStats, SocketClientStats, Histogram) behavior. Expect to remove most of these messages after debugging.
    
    src/java/voldemort/store/stats/Histogram.java
    - one more check to harden the imnplementation of insert
    
    src/java/voldemort/store/stats/RequestCounter.java
    - durationMs from int to long
    - print out timing of histogram reset (q95, q99, reset)
  15. Fixed Histogram: halved memory footprint, test boundary conditions, d…

    jayjwylie committed Nov 12, 2012
    …ropped unnecessary binary search.
    
    These changes preserve/correct behavior of the current Histogram.
    
    src/java/voldemort/store/stats/Histogram.java
    - Halved memory footprint by dropping unnecessary "bounds" array
    - Dropped unnecessary binary search, making insert O(1) rather than O(log(nBuckets))
    - Improved documentation
    - Made interface consistent for type of values inserted/got from histogram (i.e., all are 'long')
    
    test/unit/voldemort/store/stats/HistogramTest.java
    - Added tests for boundary conditions: -ive values are dropped on
      insert, "too large" values are bucketed in the final bucket on
      insert.
    
    Minor fixes to RequestCounter calls to histogram to conform to 'long' interfaces.
  16. Changed reset and destroyRequestQueue to avoid any heavy weight synch…

    jayjwylie committed Nov 8, 2012
    …ronization methods. This should fix deadlock issue.
  17. Change async checkout behavior to be more like sync checkout: only c…

    jayjwylie committed Nov 8, 2012
    …reate resources (connections) when they are needed.
    
        Now, connections should only be created on demand. The initial code created connections until the max limit of the pool was
    
        Some minor tweaks to test that confirm the desired behavior at a unit test level.
Commits on Jan 14, 2013