acb1543 | Jay J Wylie | 30 October 2012, 15:24:10 UTC | Bumped curr.release to 1.1.1 | 30 October 2012, 15:24:10 UTC |
72e02b0 | Jay J Wylie | 30 October 2012, 04:27:42 UTC | Prepare to release version release-1.1.1 | 30 October 2012, 04:27:42 UTC |
6246d4e | Jay J Wylie | 29 October 2012, 23:32:32 UTC | Fixes for connection leak and ZenStoreClient config - Applied fix for socketChannel leak in ClientRequestExecutorFactory.create() - Added comments to document other code paths at risk of leaking socketDestinations - changed ClientConfig default from ZenStoreClient to DefaultStoreClient - updated release notes | 29 October 2012, 23:32:32 UTC |
c227e34 | Vinoth Chandar | 19 October 2012, 19:10:48 UTC | Updating release notes and version | 19 October 2012, 19:10:48 UTC |
3f1ec39 | Vinoth Chandar | 19 October 2012, 04:13:49 UTC | Resolving Conflict: Adding Imports back in test | 19 October 2012, 04:13:49 UTC |
cd16456 | Vinoth Chandar | 02 October 2012, 22:05:37 UTC | Add RetentionEnforcingStore, with support for online retention on reads | 19 October 2012, 04:09:44 UTC |
08e5258 | Vinoth Chandar | 01 October 2012, 17:50:03 UTC | Added parameters to control retention job 1. day of the week the retention job starts 2. if the retention job starts at the same hour each day | 19 October 2012, 04:07:25 UTC |
3d51f85 | Vinoth Chandar | 19 October 2012, 03:56:09 UTC | Fixing SlowStorageEngine and FileBackedCachingStorageEngine build issues | 19 October 2012, 03:56:09 UTC |
5e48136 | Vinoth Chandar | 19 October 2012, 03:28:08 UTC | BDB data conversion utility | 19 October 2012, 03:50:44 UTC |
7c9e2b0 | Vinoth Chandar | 18 October 2012, 01:38:51 UTC | Add BDB params -- background_proactive_migration, level based eviction | 19 October 2012, 03:50:44 UTC |
68b31b9 | Vinoth Chandar | 10 October 2012, 20:13:29 UTC | Adding Partition Scan support for rebalancing | 19 October 2012, 03:50:44 UTC |
98182b6 | Vinoth Chandar | 24 September 2012, 19:09:35 UTC | Code review - partition scan | 19 October 2012, 03:50:44 UTC |
fbe56d2 | Vinoth Chandar | 15 September 2012, 00:22:03 UTC | Partition scans - more tests, typo fixes | 19 October 2012, 03:50:44 UTC |
4c1064e | Vinoth Chandar | 14 September 2012, 04:02:42 UTC | Implementing partition scans | 19 October 2012, 03:47:16 UTC |
07e509d | Vinoth Chandar | 31 August 2012, 19:51:20 UTC | Upgrading to JE 4.1.17 | 19 October 2012, 03:45:40 UTC |
0d449a7 | Vinoth Chandar | 02 August 2012, 00:40:52 UTC | Code review changes | 19 October 2012, 03:45:40 UTC |
692b63f | Vinoth Chandar | 27 July 2012, 02:53:58 UTC | initial commit - new duplicate handling | 19 October 2012, 03:42:51 UTC |
5a021db | Jay J Wylie | 18 October 2012, 14:59:42 UTC | Revised NOTE in the release_notes about version numbering. | 18 October 2012, 14:59:42 UTC |
922ec3a | Jay J Wylie | 17 October 2012, 22:47:43 UTC | Explained the versioning number change. | 17 October 2012, 22:47:43 UTC |
b6447a5 | Jay J Wylie | 17 October 2012, 22:36:48 UTC | Tweaked release notes | 17 October 2012, 22:36:48 UTC |
c6a6e21 | Jay J Wylie | 17 October 2012, 21:34:53 UTC | Bumped release to 1.0.0 and added release notes. | 17 October 2012, 21:34:53 UTC |
e1796c4 | Jay J Wylie | 17 October 2012, 15:41:29 UTC | Hardened junit long test RebalanceLongTest.java. Other test hardening. build.xml - bumped all maxmemory settings to 2048m - Placed a 90 minute timeout on the long test at ant level. test/long/voldemort/client/rebalance/RebalanceLongTest.java - null out some objects in the hopes of reducing the overall memory footprint of these tests. We are truly abusing junit with a long-running, multi-threaded test, that has 10 sub tests and 4 distinct parameter settings. test/unit/voldemort/client/rebalance/AbstractRebalanceTest.java - start of tests is not clear in junit log output. Added logger.info to start of tests to make grepping through the log when tests have failed badly and/or are running in an infitie loop easier. - Bumped each test timeout up to 10 minutes. Again, note abuse of junit: tests should not be defined at the abstract class level. This makes it hard to set appropriate limits (such as timeout) for each specific test. Long tests should have a different timeout than short tests... | 17 October 2012, 16:03:40 UTC |
34ab463 | Jay J Wylie | 15 October 2012, 19:05:25 UTC | Added two tools for repeatedly running junit tests. Either specific tests, or all of junit. The benefit of these scripts is that the results from each run are archived toa temp directory. This allows you to stress test big changes, find intermittent failures, and so on. | 16 October 2012, 21:34:09 UTC |
61c11c7 | Jay J Wylie | 15 October 2012, 14:55:31 UTC | Cleaned up comments and TODOs from prior commits. | 16 October 2012, 21:34:09 UTC |
2411377 | Jay J Wylie | 12 October 2012, 23:26:42 UTC | Fixed two small errors I introduced while fixing tests (or merging with master). | 16 October 2012, 21:34:08 UTC |
7d60d6f | Jay J Wylie | 12 October 2012, 21:25:45 UTC | updated copyrights on touched files. | 16 October 2012, 21:34:08 UTC |
7c793f6 | Jay J Wylie | 12 October 2012, 21:20:07 UTC | Additional hardening of tests to reduce the number of intermittent BindException errors due to a TOCTOU issue with getLocalCluster. test/integration/voldemort/performance/RoutedStoreParallelismTest.java - switched to startVoldemortCluster test/unit/voldemort/server/gossip/GossiperTest.java - hand-coded test-specific startParallelVoldemortCluster. Not pretty. Not pretty at all. But, should retry in the face of such exceptions. Switched TODO to comment about possible susceptability to BindExceptions: - test/unit/voldemort/client/rebalance/RebalanceTest.java - test/unit/voldemort/scheduled/StreamingSlopPusherTest.java | 16 October 2012, 21:34:08 UTC |
de66f98 | Jay J Wylie | 12 October 2012, 19:00:12 UTC | Hardening test utils and tests to reduce the number of intermittent BindException errors due to a TOCTOU issue with getLocalCluster. The main improvement is the addition of ServerTestUtils.startVoldemortCluster that wraps getLocalCluster and a bunch of startVoldemortServer calls in a retry loop based on wether a BindException occurs. This is suitable to ~75% of our test cases that use getLocalCluster. test/common/voldemort/ServerTestUtils.java - Added startVoldemortCluster test/unit/voldemort/utils/ServerTestUtilsTest.java - Tests for ServerTestUtils to reproduce intermittent failures src/java/voldemort/server/VoldemortServer.java - TODO note about method that plays a role in another intermittent test failure invovling cluster.xml Switched test to use startVoldemortCluster test/unit/voldemort/client/AdminServiceBasicTest.java test/unit/voldemort/client/rebalance/AdminRebalanceTest.java test/unit/voldemort/cluster/failuredetector/ServerStoreVerifierTest.java test/unit/voldemort/server/EndToEndTest.java test/unit/voldemort/server/socket/NioStatsJmxTest.java test/unit/voldemort/store/readonly/swapper/StoreSwapperTest.java test/unit/voldemort/store/rebalancing/RebootstrappingStoreTest.java test/unit/voldemort/versioning/ChainedInconsistencyResolverTest.java Junit3 -> Junit 4 test/unit/voldemort/client/AdminServiceBasicTest.java test/unit/voldemort/client/rebalance/AdminRebalanceTest.java test/unit/voldemort/server/gossip/GossiperTest.java test/unit/voldemort/server/socket/NioStatsJmxTest.java test/unit/voldemort/store/readonly/swapper/StoreSwapperTest.java test/unit/voldemort/versioning/ChainedInconsistencyResolverTest.java Annotated with a TODO about the test still needing to be hardened against TOCTOU issue with getLocalCluster: test/integration/voldemort/performance/RoutedStoreParallelismTest.java test/unit/voldemort/client/rebalance/RebalanceTest.java test/unit/voldemort/scheduled/StreamingSlopPusherTest.java test/unit/voldemort/server/gossip/GossiperTest.java | 16 October 2012, 21:34:08 UTC |
03c60ce | Jay J Wylie | 12 September 2012, 18:00:53 UTC | Adding a specific mini test that exercises ServerTestUtils.startVoldemortServer. This ~15 line program that simply starts some Voldemort servers using test utils can tickle two different intermittent failures: (1) ObsoleteVersionException when loading cluster.xml Testcase: startMultipleVoldemortServers took 0.385 sec Caused an ERROR A successor version version() to this version() exists for key cluster.xml voldemort.versioning.ObsoleteVersionException: A successor version version() to this version() exists for key cluster.xml and (2) A bind issue characterized as follows: Testcase: startMultipleVoldemortServers took 2.066 sec Caused an ERROR java.net.BindException: Address already in use voldemort.VoldemortException: java.net.BindException: Address already in use at voldemort.server.niosocket.NioSocketService.startInner(NioSocketService.java:131) at voldemort.server.AbstractService.start(AbstractService.java:62) at voldemort.server.VoldemortServer.startInner(VoldemortServer.java:255) at voldemort.server.AbstractService.start(AbstractService.java:62) at voldemort.ServerTestUtils.startVoldemortServer(ServerTestUtils.java:666) at voldemort.utils.ServerTestUtilsTest.setUp(ServerTestUtilsTest.java:50) Caused by: java.net.BindException: Address already in use at sun.nio.ch.Net.bind(Native Method) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52) at voldemort.server.niosocket.NioSocketService.startInner(NioSocketService.java:125) | 16 October 2012, 21:34:08 UTC |
d685b67 | Abhinay Nagpal | 16 October 2012, 21:29:06 UTC | fixed try catch in versioned avro serializer | 16 October 2012, 21:29:06 UTC |
1524721 | Abhinay Nagpal | 16 October 2012, 03:10:09 UTC | Added testcase for schema evolution check | 16 October 2012, 03:10:09 UTC |
5aacdc7 | Abhinay Nagpal | 16 October 2012, 02:52:20 UTC | Added comments to the new functions | 16 October 2012, 02:52:20 UTC |
20261b9 | Abhinay Nagpal | 15 October 2012, 19:18:28 UTC | - Refactored schema check method - added fix to the verioned serializer to support writing of objects created using the old schema | 15 October 2012, 20:27:03 UTC |
f2bfbc0 | Abhinay Nagpal | 15 October 2012, 17:26:19 UTC | Added check in serializer if writer's schema greater than reader raise an exception | 15 October 2012, 20:27:03 UTC |
1ba1779 | Abhinay Nagpal | 13 October 2012, 19:14:41 UTC | Added support for Avro schema evolution in RO Stores | 15 October 2012, 20:27:03 UTC |
0c4bef5 | Chinmay Soman | 15 October 2012, 18:24:31 UTC | Updated AsyncMetadataVersionManagerTest for checking individual store definition updates. Added mechanism in VoldemortAdminTool to update individual store metadata version | 15 October 2012, 18:24:31 UTC |
8804f79 | Chinmay Soman | 12 October 2012, 18:56:21 UTC | Added the ability to auto-bootstrap on store definition changes | 12 October 2012, 19:02:40 UTC |
5e00c76 | Abhinay Nagpal | 12 October 2012, 02:50:30 UTC | code cleanup | 12 October 2012, 02:50:30 UTC |
d919558 | Abhinay Nagpal | 11 October 2012, 23:40:48 UTC | fixed test case | 11 October 2012, 23:40:48 UTC |
dc4d7b6 | Abhinay Nagpal | 01 October 2012, 23:26:18 UTC | Changed test case to Junit 4 | 11 October 2012, 22:29:12 UTC |
f66c20d | Abhinay Nagpal | 01 October 2012, 22:26:41 UTC | Refactored checkcompatibility into Validator class as a static method | 11 October 2012, 22:29:12 UTC |
46f42fe | Abhinay Nagpal | 01 October 2012, 20:59:46 UTC | Added check for schema backwards compatibility for Avro in Admin Client tool and server startup | 11 October 2012, 22:21:02 UTC |
9656114 | Abhinay Nagpal | 19 September 2012, 00:47:24 UTC | Fixed comment Please enter the commit message for your changes. Lines starting | 11 October 2012, 21:59:54 UTC |
6aaecc8 | Abhinay Nagpal | 19 September 2012, 00:42:23 UTC | Added unit test | 11 October 2012, 21:59:54 UTC |
4b83abd | Abhinay Nagpal | 18 September 2012, 02:39:09 UTC | Added support for schema evolution for the Avro generic serializer | 11 October 2012, 21:59:54 UTC |
79d9163 | Jay J Wylie | 11 October 2012, 15:29:46 UTC | Added comment to explain why NPEs can end up in the log during shutdown if there async requests are queued up. | 11 October 2012, 15:29:46 UTC |
a34e62a | Jay J Wylie | 11 October 2012, 03:38:52 UTC | Changed both serial (sync) operations and parallel (async) operations to deduct the elapsed checkout time from the operation (routing) timeout for specific requests. | 11 October 2012, 03:38:52 UTC |
bb73de1 | Jay J Wylie | 10 October 2012, 20:42:47 UTC | Fixed up ClientSocketStatsTest to match change in return code from -1 to 0. | 10 October 2012, 20:42:47 UTC |
0df53c0 | Jay J Wylie | 10 October 2012, 16:52:30 UTC | Minor fixes to various comments to clarify some implementation/usage details. | 10 October 2012, 16:52:30 UTC |
31bc42e | Jay J Wylie | 09 October 2012, 21:07:05 UTC | Added @override to some methods as Eclipse asked me to. Fixed missing include in test. | 09 October 2012, 21:07:05 UTC |
1890420 | Jay J Wylie | 09 October 2012, 16:24:32 UTC | Changes to make tight timing tests for QueuedKeyedResourcePool and SlowStorageEngine less sensitive on slower machines. | 09 October 2012, 20:26:14 UTC |
e070703 | Jay J Wylie | 09 October 2012, 02:20:18 UTC | Clean up get stats methods in (Queued)KeyedResourcePool. Fix error in test case. | 09 October 2012, 20:26:13 UTC |
0626f60 | Jay J Wylie | 09 October 2012, 01:57:29 UTC | Switched SlowStorageEngine to take a StorageEngine<K,V,T> in the constructor to be more flexible. | 09 October 2012, 20:26:13 UTC |
e372717 | Jay J Wylie | 08 October 2012, 23:23:56 UTC | Fixed E2E non blocking checkout test to actually check for non-blocking checkouts. (Addresses review feedback from Chinmay Soman.) | 09 October 2012, 20:26:13 UTC |
4e6e8b4 | Jay J Wylie | 08 October 2012, 22:58:16 UTC | synchronize the reset of a specific keyed pool to avoid invoking destroyResource on the same resource multiple times. | 09 October 2012, 20:26:13 UTC |
a3ca980 | Jay J Wylie | 08 October 2012, 22:33:50 UTC | bumped up test timeouts since Hudson seems slower than local machine for contention experiments. | 09 October 2012, 20:26:13 UTC |
f2466fa | Jay J Wylie | 05 October 2012, 16:48:07 UTC | Copyright statement cleanup. | 09 October 2012, 20:26:13 UTC |
b4c3bff | Jay J Wylie | 05 October 2012, 16:18:23 UTC | Additional Jmx Getters so that we can better understand stats sample sizes. | 09 October 2012, 20:26:13 UTC |
133b9c7 | Jay J Wylie | 05 October 2012, 15:33:53 UTC | Minor changes to deal with remaining TODOs in this change. I still believe there are some ugly code paths that fire off too many exceptions when we tear down a connection. Hopefully, the connection re-write that is starting off will clean up these ugly code paths. | 09 October 2012, 20:26:13 UTC |
a28bcd9 | Jay J Wylie | 04 October 2012, 22:26:59 UTC | Minor cleanup --- changed some todos to documentation and comments. | 09 October 2012, 20:26:13 UTC |
e1fc74c | Jay J Wylie | 04 October 2012, 21:59:39 UTC | Added Jmx interfaces for all queue stats we now track. Updated ClientSocketStatsTest as well. Added a big TODO expressing concern over how statistics are tracked with suggestions for improvements. | 09 October 2012, 20:26:13 UTC |
233ceb1 | Jay J Wylie | 04 October 2012, 15:33:55 UTC | Removed the commented out implementations of distinct policies for async socket checkout. | 09 October 2012, 20:26:13 UTC |
f1cd8ef | Jay J Wylie | 04 October 2012, 15:11:33 UTC | Implementations of various async vs sync queueing policies for socket checkout. Two commented out policies are included in this commit. src/java/voldemort/store/socket/clientrequest/ClientRequestExecutorPool.java - a few TODOs to be investigated before completing work on async checkouts /src/java/voldemort/utils/pool/AsyncResourceRequest.java - a couple helper methods for implementing/debugging queueing policies src/java/voldemort/utils/pool/KeyedResourcePool.java - refactor to clean up checkin method - TODOs for further code cleanup - cleaned up all methods for tracking stats, added stats tracking of length of synchronous queue - various aspects of (commented out) socket checkout queuing policies src/java/voldemort/utils/pool/QueuedKeyedResourcePool.java - fixes to async socket checkout - various aspects of (commented out) socket checkout queuing policies - TODOs for further code cleanup - cleaned up stats tracking for async queue length *Test.java - minor tweaks/cleanup | 09 October 2012, 20:26:13 UTC |
8f7c4a7 | Jay J Wylie | 03 October 2012, 23:45:00 UTC | src/java/voldemort/store/routed/action/PerformParallelPutRequests.java - clean up handling of ObsoleteVersionException to do what the client said should be done. This will stop ObsoleteVersionExceptions from being escalated to InsufficientOperationalNodes exceptions. test/integration/voldemort/performance/benchmark/Benchmark.java - Add connections/node to configuration of benchmark tool - Set client timeouts to recommended values src/java/voldemort/store/socket/clientrequest/ClientRequestExecutor.java - refactored a synchronized method to isolate the bare minimum steps that need to be synchronized. This allows local.complete to be called outside of 'synchronized' which avoids deadlocking nio selector threads. | 09 October 2012, 20:26:13 UTC |
4b05dcf | Jay J Wylie | 13 September 2012, 14:48:43 UTC | Addressed most of the feedback from the code review. - Renamed many variables, methods & classes - Addressed most of the TODOs in my changes based on the feedback | 09 October 2012, 20:26:13 UTC |
714cd46 | Jay J Wylie | 11 September 2012, 18:04:20 UTC | Fix the problems with the RebalanceTest when using the revised KeyedResourcePool. The test setup worked before the changes because the KeyedResourcePool did not aquire resources until full. With the new behavior, there is some mismatch between pool sizes and numbers of threads. Increasing the number of admin threads fixes the issue. There may be a better way of fixing this problem. | 09 October 2012, 20:23:33 UTC |
0c2bd87 | Jay J Wylie | 07 September 2012, 22:23:50 UTC | Moved SlowStorageEngine into tests/integration. | 09 October 2012, 20:23:33 UTC |
ad3d0cc | Jay J Wylie | 07 September 2012, 22:15:51 UTC | Addressed most feedback from reviews by refactoring: - Made ResourceRequest a first class entity rather than a nested interface - Refactored TimeoutConfig to tease apart an OpTimeMap which may be more generally useful. - Renamed slow storage configs in Voldemort config with to make their testing nature more clear. - Dropped OperationDelays object from SlowStorage in favor of OpTimeMap | 09 October 2012, 20:23:33 UTC |
3dfd81f | Jay J Wylie | 07 September 2012, 18:47:44 UTC | Wrapped tests that hang because of my changes with timeouts. This is necessary for me to debug these tests and easily run all the other tests. (By 'hang', I mean get into a state where clients run forever complaining that there are not enough servers.) Wrapping with timeouts is done both at the Junit level (i.e., "@Test(timeout = ...") and at the ant level (i.e., for an entire unit test). Switched the tests I was touching to use Junit4 idiom rather than Junit3 idiom. I.e., removed the 'extends TestCase' from the class declaration. Upped the memory allowed for all junit tets in ant from 1024m to 2048m since I ran into ant out of memory errors. | 09 October 2012, 20:23:33 UTC |
4afb8c4 | Jay J Wylie | 05 September 2012, 23:04:38 UTC | Change SlowStorageEngineTest to avoid JUnit assertions in worker threads. Also removed JUnit4 style annotations (@Test) since this is actually a Junit3 style test (because it extends other Junit3 style tests that extend TestCase). | 09 October 2012, 20:23:33 UTC |
8301415 | Jay J Wylie | 05 September 2012, 20:30:21 UTC | Made ant target 'junit-test' produce a report like all the other junit ant targets. The report is useful because for a test class with many sub-tests, the report clearly explains which sub-tests failed. Unlike other ant junit targets, this target also produce a plain text report. The plain text report is useful for running a single test in a loop until it fails. Clarified the help message for the 'junit-test' ant target. | 09 October 2012, 20:23:33 UTC |
cd50792 | Jay J Wylie | 30 August 2012, 18:34:12 UTC | Added unit test for QueuedKeyedResourcePool. Minor clean up of QueuedKeyedResourcePool and of KeyedResourcePoolTest. Still one outstanding TODO in QueuedKeyedResourcePool wrt semantics of close(K key) method. | 09 October 2012, 20:23:33 UTC |
ca6dcd7 | Jay J Wylie | 29 August 2012, 23:03:56 UTC | Clean up of KeyedResourcePool and significant hardening of the unit test. src/java/voldemort/utils/pool/KeyedResourcePool.java - Documented the invariants (or lack thereof) guaranteed by this class. - Documented this classes expectations of its users. - Moved attemptGrow into the inner Pool class. - Got rid of the attemptCheckoutGrowCheckout method. ;) src/java/voldemort/utils/pool/QueuedKeyedResourcePool.java - tweaked to match revised attemptGrow interface test/unit/voldemort/utils/pool/KeyedResourcePoolTest.java - Added a bunch of 'negative' tests. I.e., they demonstrate non-desirable behavior of current KeyedResourcePool. - Added a contention test that has many threads checkout, possibly invalidate, and then checkin resources for some key. | 09 October 2012, 20:23:33 UTC |
3841081 | Jay J Wylie | 27 August 2012, 22:28:25 UTC | Initial commit of asynchronous checkouts. src/java/log4j.properties - print out more concise timestamp (don't print the date) - print thread at end of message src/java/voldemort/utils/pool/KeyedResourcePool.java - reverted all protected data members back to private - refactored attemptGrow to do the size check to determine if it is worth trying to attempt to grow. This made the method more useful to subclasses and cleaned up the local member that called it. - added an internalClose method that returns whether or not the caller is "the one thread" responsible for closing everything down src/java/voldemort/utils/pool/QueuedKeyedResourcePool.java - first complete implementation of this class - Four TODOs left in the code for the sake of interim code review test/integration/voldemort/nonblocking/E2ENonblockingCheckoutTest.java - minor tweaks to the test | 09 October 2012, 20:23:33 UTC |
51ab567 | Jay J Wylie | 24 August 2012, 22:43:18 UTC | Additional refactoring and code prep before making connection checkout async. src/java/voldemort/store/socket/clientrequest/ClientRequestExecutorPool.java Substantial refactoring and preparation of ClientRequestExecutorPool to actually do an asynchronous checkout. I believe I have essentially preserved prior behavior. I.e., checkout of destination still blocks. But, the pattern now looks a lot more like what is needed to do the checkout asyncrhnously and then callback with the checkedout resource. The exact exception strings likely changed during this refactoring (but control flow should be the same). src/java/voldemort/utils/pool/QueuedKeyedResourcePool.java Skeleton of new class QueuedKeyedResourcePool that extends KeyedResourcePool. | 09 October 2012, 20:23:33 UTC |
2d62421 | Jay J Wylie | 24 August 2012, 18:17:28 UTC | Code clean up and refactoring in preparation of adding truly nonblocking requests. src/java/voldemort/store/socket/SocketStore.java - Moved logic from request async into ClientRequestExecutorPool::submitAsync - Also moved private class NonblockingStoreCallbackClientRequest into ClientRequestExecutorPool src/java/voldemort/store/socket/clientrequest/ClientRequestExecutorPool.java - added private class AsyncRequestContext to start parceling up request context - added submitAsync and submitAsyncRequest methods. These currently do exactly what was done by SocketStore:requestAsync - I.e., I do not believe I have changed the behavior of any of this code. I just moved it to where I need to change it. src/java/voldemort/utils/pool/KeyedResourcePool.java - made some private methods protected with the expectation of extending this class with a subclass that can queue up async requests for resources - changed many variable names to be more consistent in naming/usage - refactored attemptCheckout to be simpler; added attemptCheckoutGrowCheckout to parcel up old behavior of attemptCheckout - Do not believe I changed any behavior with these code changes. - added getResourcePoolForExistingKey method - Throws IllegalArgumentException whenever a non existing pool is requested - changed all bare resourcePoolMap.get(key) accesses in other methods to use this method - May have changed behavior in that NPEs due to pool==null will now be IllegalArgumentExceptions in some methods - Documented that some getFooCount methods are approximate in face of concurrency via comments in the code | 09 October 2012, 20:23:33 UTC |
158c0fc | Jay J Wylie | 23 August 2012, 16:44:26 UTC | he current nonblocking API can actually block if a server slows down. The server slowdown can result in a socket checkout blocking because all sockets are exhausted and there are a queue of threads doing a blockingGet to get the socket. Adding an integration test, E2ENonblockingCheckoutTest, that demonstrates this undesirable behavior. Once a fix is in place, this integration test may become a unit test for the correct behavior. test/integration/voldemort/nonblocking/E2ENonblockingCheckoutTest.java - Demonstrates the blocking behavior of the current socket checkout code. The integration test sets up a local voldemort instance with three servers, one of which is slow. Puts are done by two threads to a specific key that uses a fast node as the master, then the slow node, followed by the other fast node for the parallel puts. The second thread to attempt parallel operations blocks upon the first returning the checkout socket. This is observed in the console output. test/common/voldemort/ServerTestUtils.java - Added another startVoldemortServer method that takes a VoldemortConfig src/java/voldemort/store/socket/SocketStore.java - minor fix to logger.debug print out so .toString is not called on null object | 09 October 2012, 20:22:18 UTC |
c00291a | Jay J Wylie | 22 August 2012, 23:33:07 UTC | Adding a SlowStorageEngine to permit end-to-end testing with slow servers in a cluster. src/java/voldemort/store/memory/SlowStorageConfiguration.java src/java/voldemort/store/memory/SlowStorageEngine.java - The SlowStorageEngine/Configuration is inspired by the SlowStore used in other unit tests. The SlowStorageEngine produces delays on a per-operation-type basis. Delays can either be concurrent or queued: concurrent delays can overlap in time, queued delays occur in serial. src/java/voldemort/server/VoldemortConfig.java - Added config options for SlowStorageEngine test/unit/voldemort/store/memory/SlowStorageEngineTest.java - Unit test to confirm queued/concurrent delay behavior of a single SlowStorageEngine | 09 October 2012, 20:17:36 UTC |
69f9896 | Jay J Wylie | 22 August 2012, 23:01:46 UTC | Minor cleanup in preparation of making socket checkouts along non-blocking code paths asynchronous. src/java/voldemort/store/nonblockingstore/ThreadPoolBasedNonblockingStoreImpl.java - fix missing ns to ms conversion src/java/voldemort/store/socket/clientrequest/ClientRequestExecutor.java src/java/voldemort/store/socket/clientrequest/ClientRequestExecutorFactory.java - remove unnecessary selectionKey from checkTimeout interface src/java/voldemort/utils/pool/KeyedResourcePool.java - removed extraneous maxCreateAttempts - attemptGrow returns true if pool grew - refactored checkoutOrCreateResource - renamed to attemptCheckout - attemptCheckout is non blocking - attemptCheckout does not check timeouts - refactored checkout - removed unreachable code (only one attempt could ever be made so attempts and maxCreateAttempts are extraneous. - made it clearer that exceptions control flow through try block * even though code looks a lot different, I believe exact functionality is preserved except for one thing: the possibility of a single additional non-blocking get on the pool (resources) when attemptGrow returns true. | 09 October 2012, 20:17:36 UTC |
8e403b2 | Abhinay Nagpal | 28 September 2012, 18:47:43 UTC | Added copyright and fixed code formatting | 04 October 2012, 02:02:37 UTC |
b9a91c4 | Abhinay Nagpal | 28 September 2012, 18:12:11 UTC | Added destination name to the status message in the fetcher | 04 October 2012, 02:02:37 UTC |
4732f8d | Abhinay Nagpal | 28 September 2012, 18:10:16 UTC | Added retry logic to fetcher | 04 October 2012, 02:02:36 UTC |
67627cb | Abhinay Nagpal | 28 September 2012, 17:37:43 UTC | Fixed error message in case fetcher raises an exception | 04 October 2012, 02:02:36 UTC |
d74d185 | Abhinay Nagpal | 27 September 2012, 23:18:50 UTC | Fixed bug in partitioner | 04 October 2012, 02:02:36 UTC |
a63be3c | Abhinay Nagpal | 12 September 2012, 20:07:11 UTC | Rfactoring mapper logic out | 04 October 2012, 02:02:36 UTC |
d5f9c9c | Abhinay Nagpal | 12 September 2012, 19:58:18 UTC | Rfactored partitioner and mapper | 04 October 2012, 02:02:36 UTC |
29d370b | Abhinay Nagpal | 10 September 2012, 19:02:14 UTC | some clean up | 04 October 2012, 02:02:36 UTC |
65e8bee | Abhinay Nagpal | 07 September 2012, 16:47:02 UTC | Added support for specifying the key and value field in the avro record | 04 October 2012, 02:02:36 UTC |
9a78082 | Abhinay Nagpal | 05 September 2012, 17:19:02 UTC | Refactoring reducer logic | 04 October 2012, 02:02:36 UTC |
c13fbeb | Abhinay Nagpal | 31 August 2012, 17:24:26 UTC | Avro build and push support removes azkaban dependancies and refactors out all classes from batch commons | 04 October 2012, 02:02:36 UTC |
c2ee344 | Zhongjie Wu | 02 October 2012, 23:24:22 UTC | Merge pull request #109 from brentdmiller/master allow voldemort-shell.sh to dump byte & object arrays | 02 October 2012, 23:24:22 UTC |
5b70b50 | Chinmay Soman | 21 September 2012, 21:50:14 UTC | Updating release notes for 0.96 open source release | 21 September 2012, 21:50:14 UTC |
82072ac | Chinmay Soman | 21 September 2012, 06:35:06 UTC | Merge branch 'master' of github.com:voldemort/voldemort into autobootstrapper | 21 September 2012, 06:35:06 UTC |
6889d34 | Chinmay Soman | 21 September 2012, 06:34:43 UTC | Final review comments correction for autobootstrapper: Copyright, documentation and variable naming convention | 21 September 2012, 06:34:43 UTC |
87914fe | Brent Miller | 20 September 2012, 02:25:48 UTC | [https://github.com/voldemort/voldemort/issues/108] allow getting byte and object arrays using voldemort-shell.sh | 20 September 2012, 02:28:08 UTC |
be12a28 | Chinmay Soman | 20 September 2012, 00:49:36 UTC | Fixed the merge issues from master. Fixed a bug in SocketStoreClientFactoryMbeanTest | 20 September 2012, 00:49:36 UTC |
c26373f | Zhongjie Wu | 19 September 2012, 18:40:28 UTC | increased sleep time in RoutedStoreTest | 19 September 2012, 18:40:28 UTC |
78ae5d5 | Chinmay Soman | 17 September 2012, 22:22:57 UTC | Removed unnecessary variables from AsyncMetadataVersionManager | 17 September 2012, 22:22:57 UTC |
91ab1d8 | Chinmay Soman | 14 September 2012, 01:00:37 UTC | Bug fix in AsyncMetadataVersionManager. Client config parameters added for System store. Changed AdminClient to use a Timestamp instead of a counter for metadata version | 14 September 2012, 01:00:37 UTC |
6b9260f | Zhongjie Wu | 13 September 2012, 18:03:42 UTC | Modified behavior of getall to comply javadoc when key does not exist in store | 13 September 2012, 18:04:38 UTC |