You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by mi...@apache.org on 2010/07/05 09:49:58 UTC
svn commit: r960472 - in
/incubator/clerezza/trunk/org.apache.clerezza.parent:
org.apache.clerezza.platform.usermanager.webinterface/src/main/java/org/apache/clerezza/platform/usermanager/webinterface/
org.apache.clerezza.platform.usermanager/src/main/...
Author: mir
Date: Mon Jul 5 07:49:58 2010
New Revision: 960472
URL: http://svn.apache.org/viewvc?rev=960472&view=rev
Log:
CLEREZZA-254: fixed deadlock and other lock-related bugs
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager.webinterface/src/main/java/org/apache/clerezza/platform/usermanager/webinterface/UserManagerWeb.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager.webinterface/src/main/java/org/apache/clerezza/platform/usermanager/webinterface/UserManagerWeb.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager.webinterface/src/main/java/org/apache/clerezza/platform/usermanager/webinterface/UserManagerWeb.java?rev=960472&r1=960471&r2=960472&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager.webinterface/src/main/java/org/apache/clerezza/platform/usermanager/webinterface/UserManagerWeb.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager.webinterface/src/main/java/org/apache/clerezza/platform/usermanager/webinterface/UserManagerWeb.java Mon Jul 5 07:49:58 2010
@@ -509,15 +509,16 @@ public class UserManagerWeb implements G
LockableMGraph contentGraph = (LockableMGraph) cgProvider.getContentGraph();
NonLiteral user = getCustomUser(contentGraph, userName);
if (user != null) {
- Lock readLock = contentGraph.getLock().readLock();
- readLock.lock();
+ Lock writeLock = contentGraph.getLock().writeLock();
+ writeLock.lock();
try {
Iterator<Triple> userTriples = contentGraph.filter(user, null, null);
while (userTriples.hasNext()) {
- contentGraph.remove(userTriples.next());
+ userTriples.next();
+ userTriples.remove();
}
} finally {
- readLock.unlock();
+ writeLock.unlock();
}
userManager.deleteUser(userName);
return RedirectUtil.createSeeOtherResponse("list-users", uriInfo);
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java?rev=960472&r1=960471&r2=960472&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java Mon Jul 5 07:49:58 2010
@@ -185,10 +185,12 @@ public class UserManagerImpl implements
private void deleteTriplesOfASubject(NonLiteral subject) {
Lock writeLock = systemGraph.getLock().writeLock();
+ writeLock.lock();
try {
Iterator<Triple> triples = systemGraph.filter(subject, null, null);
while (triples.hasNext()) {
- systemGraph.remove(triples.next());
+ triples.next();
+ triples.remove();
}
} finally {
writeLock.unlock();