Community
Participate
Working Groups
Bug 351793 introduced the WRITE_OPTION type of lock. It would be nice if a repository could be configured to require a lock requester to own a WRITE_OPTION before granting a WRITE lock. That way, this type of lock would become of informational value in addition to preventing writes by others. That is, if WRITE_OPTIONS are mandatory, and noone is holding a WRITE_OPTION, then that indicates that noone is planning to perform a write; or at least noone objects to others writing.
Sounds good.
The subtlety with this bug is that when the lockmanager rejects a lockrequest because the requester doesn't have a write option, there is no point in suspending the calling thread...
(In reply to comment #2) > The subtlety with this bug is that when the lockmanager rejects > a lockrequest because the requester doesn't have a write option, > there is no point in suspending the calling thread... And that's different from the existing scenarios, where it always makes sense to suspend the caller up to the timeout that he's passed as an argument.
Created attachment 204936 [details] Patch v1 Works, but lockManager always throws TimeoutRuntimeEx, even if the failure is of the new type, i.e. because the caller doesn't hold a writeOption. This isn't quite right. New exception type?
Created attachment 204937 [details] Patch v2 Added config item in cdo-server.xml
Created attachment 204945 [details] Patch v3 Reworked LockObjectsResult to use an Enum to indicate the result of the locking operation. This is certanly better than adding another boolean (we had 3 already).
Created attachment 206565 [details] Patch v4 (regular patch, not an Eclipse patch) This is a regular patch, generated by git. Apply with 'patch -p1'.
I just discovered that Git itself can process the patch, no need for GNU patch. Just run 'git apply /patch/to/the/patch.txt'.
Please apply patch with # git apply /path/to/the/patch.txt
I can not apply this patch ;-( $ git apply c:/develop/patches/git-patch-357613.txt c:/develop/patches/git-patch-357613.txt:602: trailing whitespace. * c:/develop/patches/git-patch-357613.txt:834: trailing whitespace. * error: patch failed: plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LockingManagerTest.java:17 error: plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/LockingManagerTest.java: patch does not apply error: patch failed: plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/IRWOLockManager.java:21 error: plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/IRWOLockManager.java: patch does not apply error: patch failed: plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/RWOLockManager.java:102 error: plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/concurrent/RWOLockManager.java: patch does not apply
I still can't apply this patch, hence I can't review it. Rejecting for now.
Moving all open issues to 4.2. Open bugs can be ported to 4.1 maintenance after they've been fixed in master.
Moving all outstanding enhancements to 4.3
Moving all open enhancement requests to 4.4
Moving all open bugzillas to 4.5.
Moving all unaddressed bugzillas to 4.6.
Moving all open bugs to 4.7
Moving all unresolved issues to version 4.8-
Moving all unresolved issues to version 4.9
Moving to 4.13.