abdullah alamoudi has uploaded a new patch set (#2). Change subject: [NO ISSUE][TX] Fix DatasetLock for Multiple Index Builds ......................................................................
[NO ISSUE][TX] Fix DatasetLock for Multiple Index Builds - user model changes: no - storage format changes: no - interface changes: no details: - The mechansim used for allowing multiple concurrent index builds does not work if the first index builds finishes before other index builds. It relied on a write lock obtained by the first index builder and released by the last index builder. This is not allowed when using ReentrantReadWriteLock and will lead to an IllegalMonitorStateException since the last thread to exit did not hold the lock. - Potential Deadlock between modify and exclusive modify can happen when an exclusive modify attempts to upgrade the lock to write lock while the modify lock waits for the exclusive lock to release. This has been fixed too. - Test cases were added. Change-Id: I3bea3ff2075d952ab13402b0c445c464b431c0f5 --- M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/lock/DatasetLock.java A asterixdb/asterix-metadata/src/test/java/org/apache/asterix/metadata/lock/MetadataLockManagerTest.java M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/HyracksDataException.java M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerIPCI.java 4 files changed, 320 insertions(+), 38 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/45/2145/2 -- To view, visit https://asterix-gerrit.ics.uci.edu/2145 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3bea3ff2075d952ab13402b0c445c464b431c0f5 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: abdullah alamoudi <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]>
