aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-02-24Make MusicCore non-staticdev-cassandra-onlyMohammad Salehe10-278/+308
Make MusicCore and other dependencies (MusicDataStoreHandle) non-static For compatibility, MusicCore still has a singleton instance that is statically instantiated and can be used as needed by legacy users. These changes should be made in calling sites (legacy users using singleton): MusicDataStoreHandle.getDSHandle() -> MusicCore.getInstanceDSHandle() Change-Id: I02b67f316dc21a1498157bc68cc32bf76d3ec01e Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2019-02-24Add more info for time measurementsMohammad Salehe1-1/+1
Change-Id: I96eb910a303f05137fa621c8b260994d4fde3287 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2019-02-24Implement voluntaryReleaseLock retry logicMohammad Salehe1-1/+17
Add retry logic for voluntaryReleaseLock inside atomicPut Change-Id: Iedb474c673541f3f79d4ae4ee76e15f14a387ed7 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2019-02-24Use executePut lock ordinal parameterMohammad Salehe1-10/+10
Use executePut lock ordinal instead of directly setting timestamp in query string Change-Id: Ide09e983f7a8cb363568c4123ebce57b9bb0c6d9 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2019-02-24Return correct value on lockref dequeue exceptionMohammad Salehe1-22/+9
If we can not dequeue the lock reference, we should not return same result, so the caller can try again Change-Id: I10c2923849b837253e3ef86da077b221f9607e13 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2019-02-24More detailed error messages for lock referencesMohammad Salehe1-4/+4
Change-Id: Id2be5f781e95e2252b6e8cafecc0fd18f2ed5366 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2019-02-24Add "ORDER BY" to top of lock queue checksMohammad Salehe1-2/+2
Add explicit "ORDER BY" to top of lock queue check queries Change-Id: Ibb985d21283cd952e609b8fbb8d78194f5891d60 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2019-02-24Check for lockref validity while guarding itMohammad Salehe1-4/+6
Lock references are not unique until the guard is updated, so in case of contention, we might not be able to use the lock reference we have. We should abort so the caller can try again Change-Id: I52cfb8c6979cced81dd20f4ef9b55b79121f121f Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2019-02-24Use query parameters instead of string concatMohammad Salehe1-4/+7
Change-Id: I477368dec2fe2ea994f02ed90822ee9dc6656945 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2019-02-24Calculate standard deviation in statsMohammad Salehe1-2/+2
Calculate standard deviation correctly in stats in SamplerHistogramTimeMeasure Change-Id: I1448cf219872987ce348bbd6e70d6ac5ac99bdc2 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2019-02-24Indicate failure in createLockReferenceMohammad Salehe1-1/+2
We may not be able to create a lock reference temporarily. We should indicate that by returning null, so the caller can try again Change-Id: If83567d64fd077b1a8eb39f66b8292c0ba6adefd Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2019-02-24Add retry logic for createLockRef in atomicPutMohammad Salehe1-6/+35
createLockRef might fail because of Cassandra LWT failures. atomicPut should keep retrying until success. Change-Id: I044cb9277e17d19d7ffd4a02936f9eb6d8487bd3 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2019-02-01Added testcase for updateOnboardApp methodChandan Ghosh1-0/+12
Added testcase for updateOnBoardApp method Issue-ID: MUSIC-305 Change-Id: Iff497e243935ee42538623da48a8969a295307fc Signed-off-by: Chandan Ghosh <cghosh12@in.ibm.com>
2019-02-01Added testcase for deleteOnboardApp service methodChandan Ghosh1-0/+11
Added testcase for deleteOnboardApp service method Issue-ID: MUSIC-305 Change-Id: I05a4a30cbff33bbc48f908b6e68086c7ed492a83 Signed-off-by: Chandan Ghosh <cghosh12@in.ibm.com>
2019-02-01Added testcase for service layer RestAdmin apiChandan Ghosh1-0/+91
Added testcase for service layer getOnboardedInfoSearch method Issue-ID: MUSIC-305 Change-Id: If5ebc6969f3a4672b79e389147ec90de578596b0 Signed-off-by: Chandan Ghosh <cghosh12@in.ibm.com>
2019-01-29Increment versionTschaen, Brendan1-1/+1
Change-Id: I81eddadc40e104e30a5048032311053527c86695 Issue-ID: MUSIC-279 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2019-01-29Merge "refactord RestMusicAdminAPI.java as per spring MVC" into ↵Bharath Balasubramanian11-751/+1146
dev-cassandra-only
2019-01-22Stabilize v3.2.1Tschaen, Brendan2-2/+2
Change-Id: Icf4bc3515b909e8fbec6fb6656ab1378033b60d8 Issue-ID: MUSIC-279 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2019-01-21refactord RestMusicAdminAPI.java as per spring MVCSandeep J11-751/+1146
refactored the class and updated unit test cases as per the code changes Issue-ID: MUSIC-212 Change-Id: Id66854be3894d36e2c2b0a6d86c2f6bb29e48db6 Signed-off-by: Sandeep J <sandeejh@in.ibm.com>
2019-01-15Build and install jarTschaen, Brendan1-1/+1
Change-Id: I2ef5ddf0d41109e5b2c56dcc4654d9360299701c Issue-ID: MUSIC-270 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2018-12-22Implement first benchmarksMohammad Salehe2-1/+254
Implement simple benchmarks for 4 different put scenarios: - Music Entry Consistency - Music Eventual - Music Sequential Consistent (Using LWT) - Pure Consistent (Using LWT) Change-Id: Ia4b989c640a198f03086e781450e79c8c43918df Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-12-22Add retry logic for acquireLock in atomicPutMohammad Salehe3-28/+72
acquireLock might fail right after generating a new lock reference because we are not making a SERIAL get. atomicPut should keep retrying until it acquires the lock. Change-Id: I7b0f85a0d0229e28a56cdd41ec69fcde8d8398fe Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-12-22Add primary time measurements to MusicCoreMohammad Salehe4-243/+324
Add time measurements to MusicCore.atomicPut and dependent Cassandra execute path Change-Id: I44455d7232e12d29a648c3d59d9aa102bf1ab232 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-12-22Update .gitignoreMohammad Salehe1-0/+2
Change-Id: I31b680cbf040f3b152df0b984a445341e9a20f16 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-12-22Refactor Cassandra connection processMohammad Salehe4-104/+56
Refactor MusicUtil and CassaDataStore to make Cassandra connection initialization process more simple and readable Change-Id: Ied7d3e82dc86dd7d35cd513b13ff0c865dd40b4b Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-12-22Move runnable test classesMohammad Salehe2-42/+76
Move runnable test classes which are not actually tests from src/test to src/main in order for maven to include them in fat jar Change-Id: Ib57db631b1c91ae796fa33becc9f06d05eef4219 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-12-22Add shade plugin to maven pom.xmlMohammad Salehe1-0/+34
Add shade plugin to maven pom.xml to be able to create fat jars Change-Id: I2ed41cfee6a7fe088b4072fed11d04c36724c730 Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-12-22Remove unwanted line from pom.xmlMohammad Salehe1-1/+0
Remove unwanted line which blocked including classes starting with "Sample" in the target jars Change-Id: I428e23e63feb348d19f16846b3625c82b49d252f Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-12-22Implement time measurement utilityMohammad Salehe5-13/+210
Added a TimeMeasure interface as a utility class to be able to measure running time of specific parts of code. Usually, this will be used for benchmarking. Implemented SamplerHistogramTimeMeasurement that uses reservior sampling to calculate percentiles of large amount of data. Also updated maven pom.xml: - update java version from 1.7 to 1.8 to be able to use java 8 - update guava to 27.0 to use Stats Percentiles - update cassandra java plugin version to 3.6 to fix guava dependency problem Change-Id: I168432ff2e6f5507fedc1678684dd96608703e5a Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-12-21Implement first comparison point testsMohammad Salehe4-120/+245
Implement ComparisonPoints1 benchmarks to test 4 different put scenarios: - Music Entry Consistency - Music Eventual - Music Sequential Consistent (Using LWT) - Pure Consistent (Using LWT) Change-Id: Id9052a0b14686be93189021e19f2dc293188c52b Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-12-20Merge "added files to convert project to spring boot" into dev-cassandra-onlyBharath Balasubramanian10-556/+859
2018-12-12added files to convert project to spring bootSandeep J10-556/+859
also made changes to pom to add required dependencies. fix junit cases, upgrading to mockito 2.x Issue-ID: MUSIC-212 Change-Id: Ieeeaa6d62e03e962534182183aae8ae838d93eba Signed-off-by: Sandeep J <sandeejh@in.ibm.com>
2018-12-12Read/Write locking implementationTschaen, Brendan5-20/+131
Change-Id: I31fedd52e138c848bf12ed0be27c348f4f96bcb5 Issue-ID: MUSIC-262 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2018-12-03Cassa lockstore return string for peekLockTschaen, Brendan2-8/+6
Change-Id: I4384ed522e7849ba9ca355efa63a08512f11ccec Issue-ID: MUSIC-222 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2018-11-28music as a service impl v3srupane kondreddy26-933/+1318
Change-Id: I7f96eaa48afed96d62ad7662139167e8a17d00d7 Issue-ID: MUSIC-204 Signed-off-by: srupane kondreddy <sk5300@research.att.com>
2018-11-27Add getLockQueue to music apiTschaen, Brendan4-119/+177
Change-Id: Ib7db75a2df76ee7dcca92d69d07c3b947736deab Issue-ID: MUSIC-204 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2018-11-20Improve timestamp and query handlingMohammad Salehe7-89/+83
Add timeSlot parameter to CassaDataStore.executePut to prevent inconsistent timestamps Rename CassaDataStore.executeEventualGet and CassaDataStore.executeCriticalPut to reflect their real functionality Use simple bound statement instead of prepared queries to improve performance Change-Id: I439c5279f1c8e645740a9650ab8807c5ffa1725a Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-11-20Implement sequential lock referencesMohammad Salehe4-78/+78
Use guard column for sequential lock references Move v2sTimeStampInMicroseconds as a static method to MusicUtil Use v2sTimeStamp in CassaDataStore.executePut Change-Id: I48b817c4bfe04ec50f5ad6e7cdc91b34fd607feb Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-11-15Revert "music core implemented as a service"Tschaen, Brendan28-740/+454
This reverts commit 7addd52dc73e6571028ca7f6a018e75ec1c9b0ca. Change-Id: I0875ce10521363b8e17eb6cd2cf9d8848e572bea Issue-ID: MUSIC-189 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2018-11-13music core implemented as a servicesrupane kondreddy28-454/+740
Change-Id: I4075d0efb03bf2a153976354947be1329660c1f1 Issue-ID: MUSIC-148 Signed-off-by: srupane kondreddy <sk5300@research.att.com>
2018-11-07Modify TestVotingApp and add extra updateMohammad Salehe1-4/+5
Change-Id: I250cef00bbea068196f54f442ed7d47fe0dd4aab Issue-ID: MUSIC-148 Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
2018-11-06Jar only version for nowTschaen, Brendan2-5/+1
Change-Id: I54a94e30da52ad9a01df13d16bbf790fb1245464 Issue-ID: MUSIC-149 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2018-11-06Clean up readmeTschaen, Brendan2-7/+18
Ignore broken test cases related to locking Change-Id: Ic54920647519255bfeb3cb59f5d36299e0d1984f Issue-ID: MUSIC-148 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2018-11-05Separate jar, ignore locking unit testsTschaen, Brendan4-8/+22
Change-Id: I9ac45fc4dc93a8dad86ead9676129411ca8a5a26 Issue-ID: MUSIC-148 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2018-11-01Fix property loading in jarTschaen, Brendan2-0/+39
Change-Id: Idbadcf1d1ae6203b97f50b6659a929595cb53b20 Issue-ID: MUSIC-148 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2018-10-25Update version numberTschaen, Brendan2-3/+3
Change-Id: I335b5eaaff720e1bde76eb3278ffb4cc2c17ea8b Issue-ID: MUSIC-148 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2018-10-16Include Cassandra lockingTschaen, Brendan166-21082/+2168
Change-Id: I085acf8336d5f27782ee12768846a5befd3ee60d Issue-ID: MUSIC-148 Signed-off-by: Tschaen, Brendan <ctschaen@att.com>
2018-10-14Bug Fix to keep runcwl from failing.Thomas Nelson Jr3-11/+51
Update to ensure container exits with a 0 Change-Id: I330a9488017303a6a3b08473bdedf43b9d65abd6 Issue-ID: MUSIC-147 Signed-off-by: Thomas Nelson <nelson24@nelson42.com> Signed-off-by: Thomas Nelson Jr arthurdent3 <nelson24@att.com>
2018-10-10Merge "Added test file for NameSpace.java"Thomas Nelson1-0/+56
2018-10-10Merge "Update to support Encrypted password"Bharath Balasubramanian3-17/+316