swh:1:snp:764524290233376de64947417267228741ce2485

sort by:
Revision Author Date Message Commit Date
292d278 Prepare to release version release-1.1.9 15 January 2013, 22:58:10 UTC
10353a5 Update release to 1.1.9 and updated release notes. 15 January 2013, 21:47:56 UTC
a2c30c0 Fix to copyright notices that I accidentally changed by one year... 15 January 2013, 19:43:49 UTC
b120f45 Reverted refactoring of PerformParallel* classes committed in f37b25ecdd14ac27480a8ca353cae919464df3af 15 January 2013, 19:43:49 UTC
eecaba0 Moved stress test for connection checkout/checkin and failure detector to long unit test. Cleaned up comments in ClientRequestExecutorPool to make intended semantics clearer. 15 January 2013, 19:43:49 UTC
79277d1 Updated copyright notices in all files I touched. 15 January 2013, 19:43:49 UTC
076229f Minor changes to tests - 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. 15 January 2013, 19:43:48 UTC
1f3a466 Substantial refactoring of (Queued)KeyedResourcePool tests. - 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 15 January 2013, 19:43:48 UTC
1c15b5a Minor changes to end-to-end stress test. 15 January 2013, 19:43:48 UTC
4a3b985 Minor tweak to single stress test parameters. 15 January 2013, 19:43:48 UTC
5686a52 Fix for possible race condition for resource creation in KeyedResourcePool See also http://code.google.com/p/project-voldemort/issues/detail?id=276 15 January 2013, 19:43:48 UTC
efe9f21 Clean up of TODOs and cruft code that had been introduced. 15 January 2013, 19:43:48 UTC
526deff Added stress test and cleaned up client request executor pool reset. 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. 15 January 2013, 19:43:48 UTC
ddfbb17 Interim checkin with an ugly example of how threads could be created to handle callback work. The ugly code is commented out. 15 January 2013, 19:43:48 UTC
3162ba2 Refactor all PerformParallel*Request classes. - 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. 15 January 2013, 19:43:48 UTC
551b96d Reduce granularity of failure detector locking and do not destroy all 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. 15 January 2013, 19:43:48 UTC
3aaabcc Less verbose logging in the face of expected exceptions and error logging 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 15 January 2013, 19:43:48 UTC
e365419 Minor code clean up based on review feedback 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. 15 January 2013, 19:43:48 UTC
4c69fb6 Change monitoring interval in ClientSocketStats to have larger window. 15 January 2013, 19:43:48 UTC
03214c9 Clean up INFO debugging messages to be DEBUG. Minor other clean up too. 15 January 2013, 19:43:48 UTC
e29b222 Added INFO level messages to better understand the performance of per-request instrumentation. Expect to remove most of this after debugging. 15 January 2013, 19:43:48 UTC
7b8d30c Minor tweak to reduce INFO logging for KeyedResourcePool::attemptGrow 15 January 2013, 19:43:48 UTC
515b139 Reverting minor-minor version change in build.properties. 15 January 2013, 19:43:13 UTC
adf1c36 Added INFO level messages to better understand resetting stats in ClientSocketStats. Expect to remove this after debugging. 15 January 2013, 19:41:47 UTC
e6ec7a0 Added INFO level messages to better understand connection creation. Expet 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. 15 January 2013, 19:41:47 UTC
b4994bb Added INFO level messages to better understand statistics tracking (StoreStats, 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 January 2013, 19:41:47 UTC
90aabc3 Fixed Histogram: halved memory footprint, test boundary conditions, dropped 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. 15 January 2013, 19:41:47 UTC
1ac1b32 Remove an unnecessary synchronization primitive from keyedresourcepool. 15 January 2013, 19:39:32 UTC
2768eef Changed reset and destroyRequestQueue to avoid any heavy weight synchronization methods. This should fix deadlock issue. 15 January 2013, 19:39:32 UTC
2b30b33 Change async checkout behavior to be more like sync checkout: only create 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. 15 January 2013, 19:39:32 UTC
adc3eb9 Release notes & version update for 1.1.8 15 January 2013, 00:05:01 UTC
2d12189 Fixing intermittent test failures 14 January 2013, 22:06:52 UTC
3b6c282 Bug fixes in HdfsFetcher revealed by HdfsFetcherTest (NPE and hiding the VoldemortSerializationException) 14 January 2013, 02:52:29 UTC
f97699b Minor debug fixes 12 January 2013, 00:25:55 UTC
a18d91b Fixing .classpath which had the wrong hadoop-core version. Also changed the Mlock related info messages to debug. 11 January 2013, 23:43:00 UTC
c611a8c Updated the hadoop-core jar to 1.0.4-p2 11 January 2013, 23:42:06 UTC
4f5ce5b Added the ability to delete old checksum files in the Build and Push reducer. Also updated the hadoop core library to version 1.0.4-p2-rc2 containing the fix to the User ID command usage. 11 January 2013, 23:42:06 UTC
ec3b37e Improve batch modifications on BDB-JE 11 January 2013, 23:36:41 UTC
903e749 Monitoring for streaming operations 11 January 2013, 23:36:41 UTC
4ae1336 Fix tests for testStartVoldemortCluster to not consume so much memory test/common/voldemort/ServerTestUtils.java - remove stress test from normal testing - test the method startVoldemortCluster once and confirm it returns a non-null Cluster object test/common/voldemort/ServerTestUtils.java - clarified a comment 10 January 2013, 16:28:34 UTC
db493a1 Updated release_notes and release version to 1.1.7 including Kerberos related changes 04 January 2013, 00:09:05 UTC
5aa3716 NIO + BDB stats - Code review comments 02 January 2013, 21:37:43 UTC
dd29d0e Stats to understand NIO layer performance + BDB exception counts et al 02 January 2013, 21:37:43 UTC
fbe6718 Creating constants for the default kerberos principal and keytab path 07 December 2012, 23:34:43 UTC
ef5420f Removing the additional JVM args from the Voldemort scripts 07 December 2012, 01:15:20 UTC
7d93e6d Adding KDC info and other JVM arguments to the voldemort scripts 07 December 2012, 01:06:16 UTC
e7b93ba Adding a hack to bypass Kerberos authentication for hftp protocol. TODO: remove this bypass once the libhadoop on Solaris is well tested 06 December 2012, 19:54:19 UTC
22b99c3 Finalized changes to HdfsFetcher to make it work with a Kerberized Hadoop cluster over webhdfs 06 December 2012, 19:54:19 UTC
44c4667 Standardizing the Kerberos login phase : explicitly specify the Hadoop config and keytab path. Also assumes that extra kerberos related config parameters are passed to the Java process 06 December 2012, 19:54:19 UTC
577378e Correcting usage: proxyUser to kerberosUser 06 December 2012, 19:54:19 UTC
2965762 Fixing a bug where we dont need to have hadoop conf in the classpath 06 December 2012, 19:54:19 UTC
c8d7a6c Fix in FsPermission constructor to maintain hadoop jar backwards compatibility 06 December 2012, 19:54:19 UTC
0f2f85e Fixed a jmx unregister bug in hdfs fetcher 06 December 2012, 19:54:19 UTC
e6b24c6 Doing authentication in a synchronized block for the Hdfs fetcher, setting correct permission for the hadoop files 06 December 2012, 19:54:19 UTC
7693d6b Fixed the main method params in HdfsFetcher 06 December 2012, 19:54:19 UTC
c745f80 Added configurable Kerberos support to HdfsFetcher and upgraded hadoop jars to 1.0.2 06 December 2012, 19:54:19 UTC
daa49bf Add support for kerberized grids in the job by supporting protocols 06 December 2012, 19:12:57 UTC
374d02a Added release notes 29 November 2012, 22:43:43 UTC
99dc97f Adding mlock for RO stores 29 November 2012, 21:57:23 UTC
7c49c64 Fixed constructor to actually take the mlock parameter made it true by default 29 November 2012, 21:57:23 UTC
2f5e776 Fixed bug with typesetting of the native args by wrapping it into a native wrapper 29 November 2012, 21:57:23 UTC
220c5f1 debug msgs# Explicit paths specified without -i nor -o; assuming --only paths... 29 November 2012, 21:57:23 UTC
763ff89 Hardcoding indexmlock to true 29 November 2012, 21:57:23 UTC
32fb76a Code cleanup 29 November 2012, 21:57:23 UTC
4db8cc3 Implemented a jna mlock to map and ping index files for RO stores in memory 29 November 2012, 21:57:23 UTC
349f852 Changed release number 27 November 2012, 23:56:22 UTC
d56a614 fixed avro mapper 26 November 2012, 18:28:01 UTC
60a987c Fixed mapper issue 21 November 2012, 23:46:02 UTC
84eda3a Prepared release 1.1.2 31 October 2012, 18:43:11 UTC
ba8c6fb Revert return type of Versioned.getVersion() to be Version rather than VectorClock 31 October 2012, 17:52:09 UTC
3c99c01 Bumped curr.release to 1.1.1 30 October 2012, 15:34:36 UTC
6246d4e 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 Updating release notes and version 19 October 2012, 19:10:48 UTC
3f1ec39 Resolving Conflict: Adding Imports back in test 19 October 2012, 04:13:49 UTC
cd16456 Add RetentionEnforcingStore, with support for online retention on reads 19 October 2012, 04:09:44 UTC
08e5258 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 Fixing SlowStorageEngine and FileBackedCachingStorageEngine build issues 19 October 2012, 03:56:09 UTC
5e48136 BDB data conversion utility 19 October 2012, 03:50:44 UTC
7c9e2b0 Add BDB params -- background_proactive_migration, level based eviction 19 October 2012, 03:50:44 UTC
68b31b9 Adding Partition Scan support for rebalancing 19 October 2012, 03:50:44 UTC
98182b6 Code review - partition scan 19 October 2012, 03:50:44 UTC
fbe56d2 Partition scans - more tests, typo fixes 19 October 2012, 03:50:44 UTC
4c1064e Implementing partition scans 19 October 2012, 03:47:16 UTC
07e509d Upgrading to JE 4.1.17 19 October 2012, 03:45:40 UTC
0d449a7 Code review changes 19 October 2012, 03:45:40 UTC
692b63f initial commit - new duplicate handling 19 October 2012, 03:42:51 UTC
5a021db Revised NOTE in the release_notes about version numbering. 18 October 2012, 14:59:42 UTC
922ec3a Explained the versioning number change. 17 October 2012, 22:47:43 UTC
b6447a5 Tweaked release notes 17 October 2012, 22:36:48 UTC
c6a6e21 Bumped release to 1.0.0 and added release notes. 17 October 2012, 21:34:53 UTC
e1796c4 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 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 Cleaned up comments and TODOs from prior commits. 16 October 2012, 21:34:09 UTC
2411377 Fixed two small errors I introduced while fixing tests (or merging with master). 16 October 2012, 21:34:08 UTC
7d60d6f updated copyrights on touched files. 16 October 2012, 21:34:08 UTC
7c793f6 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 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 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 fixed try catch in versioned avro serializer 16 October 2012, 21:29:06 UTC
1524721 Added testcase for schema evolution check 16 October 2012, 03:10:09 UTC
back to top