https://github.com/voldemort/voldemort

sort by:
Revision Author Date Message Commit Date
105915d Tools depend on Node 0 to be available Added a new override for getRemoteStoreDefList which takes no parameters and identifies one of the nodes, for it to be used. Fixed all the tools (not used in production code path but could be used by SREs) code, which used NodeId 0 as default to use the new overload. VoldemortMultiStoreBuildAndPushJob seems to have the issue, but not sure, whether it is used in production, so just added the comment. 22 August 2014, 00:06:13 UTC
c07b777 fix duplicate error message bug and add large value size test for coordinator 18 August 2014, 21:23:59 UTC
6644d32 Merge pull request #207 from FelixGV/master Fixed the Show Spurious Values test... 14 August 2014, 21:30:23 UTC
7e774cb Fixed the Show Spurious Values test... 14 August 2014, 20:26:32 UTC
265b4c9 Rename variable 14 August 2014, 17:09:38 UTC
25b1cf7 Remove tehuit from lib as it is auto generated The jar should be copied from private-lib, for some weird reason I thought the lib is checked in and hence I checked in but it is not required. 14 August 2014, 00:41:34 UTC
28e19b2 Merge pull request #206 from arunthirupathi/zoneCheck Zone check 14 August 2014, 00:40:52 UTC
6d8c05d Zone check, store name in error, unit tests 1) When Server fails to start because of an invalid store, the store is logged in the error message. So that it is actionable. 2) Added checks to zone proximity list to avoid same zone and duplicate zone ids. 3) Modified Zones from LinkedList to ArrayList, as get operation is more efficient in ArrayList than the LinkedList. 4) Refactor the common code in zone calculations to common functions. 5) Added unit tests to cover the new checks added to zone proximity list. 13 August 2014, 22:47:55 UTC
044e96f Merge pull request #205 from FelixGV/master Releasing Voldemort 1.8.12 12 August 2014, 01:56:46 UTC
f29a973 Releasing Voldemort 1.8.12 12 August 2014, 01:30:04 UTC
56e199d Tools are failing because of the missing files Added tehuti to the lib directory. 12 August 2014, 00:49:45 UTC
f5e886d Merge conflict was incorrectly resolved Fixed the merge conflict 12 August 2014, 00:39:00 UTC
5b7f23a Merge conflict on StatsTest Resolved the merge conflict 12 August 2014, 00:32:38 UTC
2df417d Upgraded to latest Tehuti, 0.4 12 August 2014, 00:12:21 UTC
d8fd80a Various fixes for the stats code... 12 August 2014, 00:12:21 UTC
9f5b30e Fixed bugs related to ClientSocketStatsTest... 12 August 2014, 00:12:20 UTC
651c67a Fixed a problem with RequestCounter.getNumEmptyResponses(). It required a SampledTotal, not a SampledCount. 12 August 2014, 00:12:20 UTC
56daa0c Fixed a problem in StoreStatsJmxTest where Tehuti's Max would return NEGATIVE_INFINITY. 12 August 2014, 00:12:20 UTC
add55a9 Fixed a test in StatsTest to use the new RequestCounter API. 12 August 2014, 00:12:20 UTC
53d6b0e Initial commit of the Tehuti stats integration. Some unit tests are failing. Probably a few bugs need squashing... 12 August 2014, 00:12:20 UTC
c9a5397 Skewed reporting 12 August 2014, 00:12:19 UTC
c3773f4 Fix a vadmin error 11 August 2014, 22:01:06 UTC
6cab7b1 C++ Client: bump maintenance version number. 07 August 2014, 04:33:55 UTC
e3c4375 Makes Store::get and Store::getName const functions. Also changes InconsistencyResolvingStore, RoutedStore and SocketStore implementations to be const. 07 August 2014, 04:33:55 UTC
559d202 C++ client: Changes VersionedValue::getVersion to return a const Version*. By returning a non-const Version*, the semantic const-correctness was broken. You could not modify the pointer, but that didn't matter. 07 August 2014, 04:33:54 UTC
45bc4ea C++ client: Adds VOLDEMORT_ prefix to all include guards. This should minimize conflicts with other libraries. 07 August 2014, 04:33:54 UTC
9f40015 Changes exception message in Cluster::getNodeById to use boost::format. The previous code would cause a segmentation fault if nodeId was greater than the string length, and the message now actually includes the ID. 07 August 2014, 04:33:54 UTC
a51f328 Changes Cluster constructor to take string by const reference. 07 August 2014, 04:33:54 UTC
f3c6fdb Four node and two node configs two configurations for local testing. I found it helpful for testing some of the scenarios. Editing them on multiple machines is painful and others could use this for testing. 04 August 2014, 21:15:48 UTC
acd1117 gradle build fails on mac some of the mac is forced to use Java 8 and Scala plugin does on Gradle 1.12 does not work with Java 8. Gradle has fixed the issue on 2.0 version. Added a task to cleanup the config directory files so that changes to stores.xml will take effect. Scala build intermittently fails with the error on mac FAILURE: Build failed with an exception. What went wrong: Could not resolve all dependencies for configuration ':zinc'. > Could not find org.scala-lang:scala-library:2.10.2. This is caused by incremental zinc compilation. Given the fact that scala is very rarely used the intermittent failure is very hard to workaround. Added a task for cleaning up config folder so that changes in stores.xml will take effect. 04 August 2014, 21:15:48 UTC
ec2fcfd Reuse objectmapper object to make vector clock serialization faster 04 August 2014, 18:32:49 UTC
0a0ef0c Releasing voldemort 1.8.11 01 August 2014, 22:02:49 UTC
970877c Exceptions goes uncounted Get does parallel requests first and if it fails/times move on to the serial requests. Exceptions are tracked if the parallel requests fail or timesout after the pipeline is finished. But if the Serial requests are processing then the exception goes unnoticed. This causes the node to stay available for a long time affecting the latency and error rates. This fix reduces the time window an exception goes unnoticed. I thought about moving the error handling inside the callback and not have it at 2 places. But not sure what will be the perf impact of the error tracking code, could be negligible but saving that for a later time. 30 July 2014, 17:52:00 UTC
51b2395 ClientRequest Executor fix and log fixes 1) Protocol negotiation request does not have a timeout associated with it . So if the connection fails the Input/Output buffers are leaked and cause Out Of Memory errors. Setting the timeout for the Protocol negotiation requests as the caller expects a timeout. No new logs are introduced. Only the existing log is made more informative. 2) When protocol negotiation timesout, an obscure error message is thrown, IllegalStateException. This happens as the code tries to read the result in case of timeout. Handle this case and report a meaningful error. 3) Serial request times out on a connection, error message does not mention the socket that timed out. 4) Fix other minor logging information. 30 July 2014, 17:41:25 UTC
5708c0c Threshold failure detector issue 1) Threshold failure detector, marks a node as available when it receives a non-catastrophic error after configured number of catastrophic errors. When a node goes unavailable, generally first there will be lots of connectExceptions ( catastrophic) and timeouts for already established connections. This causes failure detector to treat a node that is being down as up and affects the client latency as all the get waits for the connection timeout to happen and goes for the serial requests. 2) Threshold failure detector, marks a node as unavailable after a window rolls over. Threshold failure detector tracks successes/failures in window ( default 5 minutes) and if the successes drop below a configured ( defaul 95 ) percentage and if there are more errors than configured it marks the node as down. When the window rolls over, and if the first request succeeds or when a node comes back up the failure count is not reset. This causes an available node to be marked as down. 3) Enhance the unit tests to cover the above 2 cases. 4) Dump the statistics when a node goes down to reason about it in the logs. The new code is written with the following reasoning. Do the book keeping first. Make decision next. The new code intentionally does not reset the catastrophic errors on a window roll over as it will be reset by the first success anyway. The node can still flap when the failure is above minimum and the percentage oscillates around the configured percentage. But I don't see any good workaround and nor it was an actual issue on 20+ repetitions I created for an internal repro. So leaving them as it is. Previous code mixed both of these and lead to many issues. The previous code left many loose ends ( Boolean represented in int, Generic set methods, when it required reset, Set methods at individual variable level, when only reset method is required, copy pasted code). PS: There is a more serious third issue, Selector drains the parallel queue. When the request requires connection establishment Selector handles the connection too. If the node is dead Selector is going to wait configured time for connection to timeout ( default 5 seconds) . In this time Selector is not pumping read/write and hence all these requests eventually time out. We are discussing the potential issues for this fix and will address this in the next fixes. There are many other minor issues I uncovered as well. 29 July 2014, 21:17:38 UTC
4fd732f Expose http decoder parameters as config 28 July 2014, 19:53:41 UTC
a86898e Releasing Voldemort 1.8.10 23 July 2014, 23:49:52 UTC
ee09314 Register slops if async writes fail due to quota Fix Async puts to succeed even if quota exceeded Please enter the commit message for your changes. Lines starting Adding unit test for Quota failed Parallel puts Fixing unit tests for Async write quota failures Updating PipelineRoutedStats JMXGetters for QuotaExceededException And minor code chagnes 23 July 2014, 23:34:51 UTC
493f500 Remove dated inaccurate comment 16 July 2014, 20:08:03 UTC
30185d4 Releasing Voldemort 1.8.9 02 July 2014, 22:05:25 UTC
0a9b7ed minor code review comments 02 July 2014, 20:49:38 UTC
28f5d9f Adding schema backwards comaptibility in AdminClient for these methods: * updateRemoteMetadata * updateRemoteMetadataPair * addStore 02 July 2014, 18:40:52 UTC
a42ac35 Adding backwards compatibility checks in AdminClient For the methods: * fetchAndUpdateRemoteStore(int nodeId, List<StoreDefinition> updatedStores) * updateRemoteStoreDefList(int nodeId, List<StoreDefinition> storesList) so the exceptions are thrown even before hitting the server. 02 July 2014, 00:18:37 UTC
7ec06ad Add schema backward compatibility check when updating store definitions 25 June 2014, 00:20:17 UTC
cd4c627 Releasing Voldemort 1.8.8 24 June 2014, 20:50:41 UTC
8dbdb63 Incorporating review comments Changing timeout for HttpClientFactory shutdown to 10 seconds 24 June 2014, 20:09:41 UTC
ca6d63c move transport client instantiation to getRawStore adding timeout to HttpClientFactory shutdown added minor log messages 24 June 2014, 20:09:41 UTC
de7cae0 Merge pull request #199 from arunthirupathi/eclipseJunit Junit tests are not running inside eclipse 24 June 2014, 19:17:13 UTC
7c9af85 Junit tests are not running inside eclipse Java builder property is not set on the .project file which causes all the tests to fail with the ClassNotFoundException Some test uses GetContent which causes CoordinatorRestAPITest to fail. 24 June 2014, 17:12:08 UTC
11c8664 Update CONTRIBUTORS Add Arun and Xu 20 June 2014, 20:08:56 UTC
30b0c32 Wrap mime multipart into a mime message to ensure headers are updated 19 June 2014, 22:46:18 UTC
674b152 add socket connection refresh message in AdminClient 19 June 2014, 22:22:44 UTC
2d531e2 Releasing Voldemort 1.8.7 with the Quota metrics fix 19 June 2014, 18:44:14 UTC
9065ec1 Merge pull request #198 from icefury71/mbean_quota_fix Registering individual store quota stats instead of aggregate to the Mbe... 19 June 2014, 18:36:49 UTC
3d63974 hudson run fails to copy mysql 1) There is not libs directory anymore so hudson run fails to copy the mysql.jar to the lib directory. Added the mysql as testRuntime so the jar will be downloaded automatically 2) Added war task to update the documentation 19 June 2014, 17:43:40 UTC
cf92ed7 Registering individual store quota stats instead of aggregate to the Mbean server 19 June 2014, 17:25:32 UTC
6dc8505 add eclipse and idea projects to gitignore eclipse and idea projects will have the lib paths different for each person, as they will point to the jars from the gradle cache. 19 June 2014, 06:25:55 UTC
f0ee03d remove .classpath and .project gradle eclipse updates teh existing classpath and project and leaves teh classpath is a very inconsistent state. So removing these files and the users can generate them when required. Will fix the .gitignore to add these files so that they dont show up. 18 June 2014, 19:32:38 UTC
71e29a7 eclipse import is broken 1) src/java is defined multiple times which causes the problem 2) outputDir is set to bin, which erases all the shell scripts 18 June 2014, 15:18:30 UTC
861dbe4 use maven central for gradle dependencies 1) The jars are directly consumed from libs directory which makes upgrading the dependencies harder. Also in some cases the transitive dependencies are not copied correctly which causes issues. 2) Seperated the libs to private-lib and public-lib. private-lib will contain jars for which I could not find the same version in the maven central repository. The public-lib are available in maven central and are not dependent upon by gradle. But still kept for ant compatibility. 3) As part of the build (ant/gradle) all the dependent libs are copied into the libs. This is to make the bin/*.sh work. Also there is some EasyVPL code which depends on the jar in library. 4) Since the classpath is going to be different both the eclipse and idea will break. But after the download you can run ./gradlew eclipse and ./gradlew idea to regenerate the correct project/ classpath to make it work again. 13 June 2014, 23:49:28 UTC
99e7207 Merge pull request #188 from d4mian/minor-changes Comment typos, duplicate code removal and avoid unnecessary fetch of column key_ from the database. 11 June 2014, 22:01:34 UTC
e639011 Releasing Voldemort 1.8.6 containing Quota (per store instead of aggregate) fix. 11 June 2014, 21:31:32 UTC
3b4dd8d Merge pull request #196 from icefury71/quota_per_store_stats_fix Fix for QuotaLimitingStore: Passing storestats for the current store ins... 11 June 2014, 17:57:10 UTC
25800b8 Merge pull request #194 from arunthirupathi/PoolSizeRename RestClient renamed poolsize key 11 June 2014, 17:09:37 UTC
6b4c17f Fix for QuotaLimitingStore: Passing storestats for the current store instead of the aggregate 11 June 2014, 16:57:08 UTC
1b31ab8 log4j.properties is included in the voldemort jar While refactoring the consultant moved some code and it caused binary level difference on the vold jar. I reverted the change for now. Since it is reverting to the old state, skipping code review for now. 10 June 2014, 22:35:41 UTC
a2adb70 RestClient renamed poolsize key RestClient does not have POOL_SIZE_KEY anymore. From the source it is probably renamed to HTTP_POOL_SIZE. The previous constant value was poolsize and the new constant is http.poolsize. Upgrading the R2, Data, Pegasus libraries along with this change. 10 June 2014, 17:03:37 UTC
f41a40f add optional identifier string for StoreClientFactory 1. fix invalid package name in voldemort-coordinator.sh 2. replace jmxId with identifierString 10 June 2014, 00:28:41 UTC
89389c3 Release voldemort 1.8.5 Gradle related changes - empty settings file - empty voldemort-contrib directory - gradle wrapper to fetch required version 06 June 2014, 18:10:20 UTC
f0f2ac8 Merge pull request #193 from arunthirupathi/voldemort-contrib Dummy directory for injecting custom gradle behavior 06 June 2014, 18:01:32 UTC
d540995 Dummy directory for injecting custom gradle behavior This is a place holder directory for injecting custom gradle behavior. This directory is not directly used in the open source gradle builds. The open source project produces 2 artifacts voldemort.jar and voldemort-contrib.jar. This is not gradle friendly as in gradle if you are producing more than one jar from the same module exporting ivy dependencies and other becomes very trickier. This allows an upstream wrapper to inject custom behavior. For example upstream wrapper can define a project(':voldemort:voldemort-contrib') and define all the gradle behavior dependencies, black box build . Theoretically we could have used the contrib directory but that will result in lot more confusion as that directory produces some artifacts and upstream could want a different behavior. 06 June 2014, 17:54:38 UTC
7ee12b1 Merge pull request #192 from szczepiq/master Added empty settings.gradle so that Gradle does not search it in parent dirs. 05 June 2014, 16:02:07 UTC
9d0a32d Added empty settings.gradle so that Gradle does not search for it in parent dirs. 05 June 2014, 14:22:43 UTC
cbc5e38 Merge pull request #191 from arunthirupathi/gradleBuild Generate gradle wrapper to work with versions 03 June 2014, 23:25:24 UTC
f1f574e Releasing Voldemort 1.8.4 03 June 2014, 23:00:15 UTC
760230c Fixing RESTClientFactory * close() method should shutdown transportClient cleanly in all use cases. * getStoreClient(storeName, resolver) should return a LazyStoreClient 02 June 2014, 15:07:48 UTC
64aa549 add check for SocketAndStreams in sendAndReceive 30 May 2014, 23:49:40 UTC
c8b6485 Generate gradle wrapper to work with versions Gradle version 1.12 is required for our gradle. But by default most of us has only 1.4 . So the tasks will fail with compile errors in these cases. Gradle provides a wrapper where it manages the versions for us. Add task gradle wrapper and it creates some files. These files can be checked into the version control and people can run this command instead of gradle. 30 May 2014, 20:19:09 UTC
95e0c86 Merge pull request #190 from arunthirupathi/gradleJunit Fix the junit tests, bump sleep for bind issues 30 May 2014, 18:27:04 UTC
8b8f12a Fix the junit tests, bump sleep for bind issues 1) Merged the changes from Szczepan for fixing the Junit tests. Previously JunitAll ran the integration tests and ran over 4 hours. 2) Szczepan removed redundant sourceSets, moved common configurations to test block, created reports 3) Created aggregated reports for junitAll verified the coverage was similar to before. 4) Noticed few bind exceptions on 2 ms sleep, so bumped them to 5 ms. 30 May 2014, 18:23:45 UTC
3fd7ea8 Addressing review comments for fetch_single_store 28 May 2014, 17:11:29 UTC
d867fba Added the ability to query a single store using AdminClient / admin tool 28 May 2014, 17:11:29 UTC
ba743dc Releasing Voldemort 1.8.3 27 May 2014, 19:59:06 UTC
185b246 fix problems in admin tool 1. fix bug in validating store names on nodes 2. rename some functions 3. use node id rather than node object in admin command functions 27 May 2014, 19:51:41 UTC
1cebbf6 Adding debug log messages for CoordinatorService - adding review comments 27 May 2014, 19:29:06 UTC
33966e2 Adding debug log messages for CoordinatorService 27 May 2014, 19:29:06 UTC
d8787c4 Merge pull request #185 from arunthirupathi/gradleJunit junit support for gradle, Will Merge in this commit and will apply the patch on the top from Szczepan. 27 May 2014, 17:16:10 UTC
7a7c8fb Merge pull request #186 from ctasada/NetworkClassLoader Fixed NetworkClassLoader bug when running in Windows OS 24 May 2014, 00:28:06 UTC
d4cbd66 Added url explaining the problem in deep 23 May 2014, 08:53:04 UTC
5a45739 Fixed NetworkClassLoader bug when running in Windows OS 22 May 2014, 14:29:56 UTC
0b15452 Merge pull request #184 from arunthirupathi/bindExceptions Fix bind failures while running tests 22 May 2014, 00:43:56 UTC
b453b53 junit support for gradle Added junit support for gradle gradle build will run minimal test cases and runs in 4 minutes gradle jar will not run any test case gradle junit will run all junit and takes about 30 minutes 21 May 2014, 22:56:50 UTC
f87fb2b bind failures while running tests 1) Fixed bunch of bind failures where the server is not stopped after the test causing the bind failures. 2) Added instrumentation to report the port for http when the bind failure happens, so that we can dig through the log to find the last started service. 3) Fixed the resource loader to throw error when resource is missing instead of failing with NPE. 4) Fixed Streaming Client to throw the actual error instead of failing with NPE on bind failures. 5) Increased the sleep time for Zone Rebalance test as 2 ms is not enough on my machine. 5 ms sort of fixes the problem, but only time will tell 21 May 2014, 22:50:39 UTC
a368b2e Merge pull request #183 from arunthirupathi/forkLiftOverwrite Add overwrite option to fork lift tool 21 May 2014, 21:44:53 UTC
da027c4 Incorporate code review comments Fix error message Change the order of if/else 21 May 2014, 21:41:10 UTC
90c4a94 Add overwrite option to fork lift tool If the key already exists in the destination cluster, forklift tool will not overwrite the key. With the intent of supporting read only cluster data to be fork lifted to the read/write cluster, overwrite option is being added. If the newly forklifted data does not contain the entire key set from the old, then the new data will be the mix of old and new. The old data should expire sooner than the new one enforced by the retention policy. 21 May 2014, 18:40:19 UTC
62a5878 Merge pull request #182 from FelixGV/log_StreamingClient_construction_properly Use standard logger in the StreamingClient constructor 20 May 2014, 02:37:05 UTC
d4cc06a Using standard logger in the StreamingClient constructor 19 May 2014, 21:34:45 UTC
96032b9 Avoid unnecessary key_ field fetch. 19 May 2014, 15:29:33 UTC
3e611b6 Remove duplicated code. 19 May 2014, 15:00:53 UTC
back to top