### Eclipse Workspace Patch 1.0 #P jackrabbit-core Index: src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java =================================================================== --- src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java (revision 1357265) +++ src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java (working copy) @@ -1521,18 +1521,18 @@ boolean holdingWriteLock = false; ISMLocking.WriteLock wLock = null; + ISMLocking.ReadLock rLock = null; try { - wLock = acquireWriteLock(external); - holdingWriteLock = true; + try { + wLock = acquireWriteLock(external); + holdingWriteLock = true; + + doExternalUpdate(external); + } catch (ItemStateException e) { + String msg = "Unable to acquire write lock."; + log.error(msg); + } - doExternalUpdate(external); - } catch (ItemStateException e) { - String msg = "Unable to acquire write lock."; - log.error(msg); - } - - ISMLocking.ReadLock rLock = null; - try { if (wLock != null) { rLock = wLock.downgrade(); holdingWriteLock = false;