jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ju...@apache.org
Subject svn commit: r750013 - in /jackrabbit/branches/1.5: ./ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/ jackrabbit-core/src/test/java/org/apache/jackrabbit/core/ jackrabbit...
Date Wed, 04 Mar 2009 14:13:15 GMT
Author: jukka
Date: Wed Mar  4 14:13:15 2009
New Revision: 750013

URL: http://svn.apache.org/viewvc?rev=750013&view=rev
Log:
1.5: Merged revisions 749953, 749965 and 750011 (JCR-2000)

Modified:
    jackrabbit/branches/1.5/   (props changed)
    jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/DefaultISMLocking.java
    jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionManager.java
    jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java
    jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionManagerImpl.java
    jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/XAVersionManager.java
    jackrabbit/branches/1.5/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/ConcurrentVersioningWithTransactionsTest.java
    jackrabbit/branches/1.5/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/daily/RandomOperationTest.java

Propchange: jackrabbit/branches/1.5/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Mar  4 14:13:15 2009
@@ -1,2 +1,2 @@
 /jackrabbit/branches/1.3:631261
-/jackrabbit/trunk:703899-704158,704165,704167,704324,704358,704361,704864,704933,704939,705010,705033,705243,705496,705522,705579,705925,705932,705934,705937-705938,705961,706242,706273,706285-706286,706562,706606,706649,706655,706660,706697,706918,707303-707304,707307,707310,707630,708206,708598,708609,708613,708619,708634,708840,708863,708909,708929,708943,709115,709142,709207,709211,710047,711238,711566-711567,711595,711841-711843,712984-712985,713037,713059,713065,713072,713076,713162,713214,713956,713958,713964,713971,713975,714034,718218,718249-718250,718371,718376,718566,718632,718981,719225,719282,719575-719577,719579,719585-719586,719588,719592,720455,720484,720492,720524,720533,720540,720673,720679,720687,720784,720940,720969,721186,721191,721194,721235,721387-721389,721470,721495,722068-722069,722463,722465,722467,722470,722825,723281,723346,723728,723784,724300,724387,725292,727376,727388,727390,727395,727397,727402,727492,727701,728022,731896,731934,731941,73234
 7,732678,732686,732689,732693,732703,732715-732716,732719,732728,732730,732734-732738,732740,732742-732743,732745,732867,732883,733057-733059,733061,733080,734092,734366,734375,734400,734709,735401,736021,736030,736274,736276,736650-736651,736653-736656,736658,736680,737695,738087,738119,738121,738419,738422,738474,738512,739210,739212,739226,740262,740734,740736-740738,740747,740749-740750,741052,741100,741121,741206,741208-741210,741213,741509,741524,741652,741803,742382,742538,743295,743713,743718,743726,743734,743738,744883-744884,744889,744895,744911,744935,744940,744954,744956,745041,745051,745053,745056,745060,745120,745500,745534,745824,745849,746301-746302,746486,746602-746603,746609,746666,746747-746748
+/jackrabbit/trunk:703899-704158,704165,704167,704324,704358,704361,704864,704933,704939,705010,705033,705243,705496,705522,705579,705925,705932,705934,705937-705938,705961,706242,706273,706285-706286,706562,706606,706649,706655,706660,706697,706918,707303-707304,707307,707310,707630,708206,708598,708609,708613,708619,708634,708840,708863,708909,708929,708943,709115,709142,709207,709211,710047,711238,711566-711567,711595,711841-711843,712984-712985,713037,713059,713065,713072,713076,713162,713214,713956,713958,713964,713971,713975,714034,718218,718249-718250,718371,718376,718566,718632,718981,719225,719282,719575-719577,719579,719585-719586,719588,719592,720455,720484,720492,720524,720533,720540,720673,720679,720687,720784,720940,720969,721186,721191,721194,721235,721387-721389,721470,721495,722068-722069,722463,722465,722467,722470,722825,723281,723346,723728,723784,724300,724387,725292,727376,727388,727390,727395,727397,727402,727492,727701,728022,731896,731934,731941,73234
 7,732678,732686,732689,732693,732703,732715-732716,732719,732728,732730,732734-732738,732740,732742-732743,732745,732867,732883,733057-733059,733061,733080,734092,734366,734375,734400,734709,735401,736021,736030,736274,736276,736650-736651,736653-736656,736658,736680,737695,738087,738119,738121,738419,738422,738474,738512,739210,739212,739226,740262,740734,740736-740738,740747,740749-740750,741052,741100,741121,741206,741208-741210,741213,741509,741524,741652,741803,742382,742538,743295,743713,743718,743726,743734,743738,744883-744884,744889,744895,744911,744935,744940,744954,744956,745041,745051,745053,745056,745060,745120,745500,745534,745824,745849,746301-746302,746486,746602-746603,746609,746666,746747-746748,749953,749965,750011

Modified: jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/DefaultISMLocking.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/DefaultISMLocking.java?rev=750013&r1=750012&r2=750013&view=diff
==============================================================================
--- jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/DefaultISMLocking.java
(original)
+++ jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/DefaultISMLocking.java
Wed Mar  4 14:13:15 2009
@@ -52,8 +52,8 @@
         return new WriteLock() {
 
             {
-                rwLock.setActiveXid(TransactionContext.getCurrentXid());
                 rwLock.writeLock().acquire();
+                rwLock.setActiveXid(TransactionContext.getCurrentXid());
             }
 
             /**

Modified: jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionManager.java?rev=750013&r1=750012&r2=750013&view=diff
==============================================================================
--- jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionManager.java
(original)
+++ jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionManager.java
Wed Mar  4 14:13:15 2009
@@ -16,14 +16,15 @@
  */
 package org.apache.jackrabbit.core.version;
 
-import EDU.oswego.cs.dl.util.concurrent.ReadWriteLock;
-import EDU.oswego.cs.dl.util.concurrent.ReentrantWriterPreferenceReadWriteLock;
 import org.apache.jackrabbit.core.NodeId;
 import org.apache.jackrabbit.core.NodeImpl;
 import org.apache.jackrabbit.core.nodetype.NodeTypeRegistry;
+import org.apache.jackrabbit.core.state.DefaultISMLocking;
 import org.apache.jackrabbit.core.state.ItemStateException;
 import org.apache.jackrabbit.core.state.LocalItemStateManager;
 import org.apache.jackrabbit.core.state.NodeState;
+import org.apache.jackrabbit.core.state.ISMLocking.ReadLock;
+import org.apache.jackrabbit.core.state.ISMLocking.WriteLock;
 import org.apache.jackrabbit.spi.Name;
 import org.apache.jackrabbit.spi.commons.name.NameConstants;
 import org.apache.jackrabbit.spi.commons.name.NameFactoryImpl;
@@ -66,17 +67,7 @@
     /**
      * the lock on this version manager
      */
-    private final ReadWriteLock rwLock =
-            new ReentrantWriterPreferenceReadWriteLock() {
-                /**
-                 * Allow reader when there is no active writer, or current
-                 * thread owns the write lock (reentrant).
-                 */
-                protected boolean allowReader() {
-                    return activeWriter_ == null
-                        || activeWriter_ == Thread.currentThread();
-                }
-            };
+    private final DefaultISMLocking rwLock = new DefaultISMLocking();
 
     public AbstractVersionManager(NodeTypeRegistry ntReg) {
         this.ntReg = ntReg;
@@ -108,13 +99,12 @@
     //-------------------------------------------------------< implementation >
 
     /**
-     * aquires the write lock on this version manager.
+     * Acquires the write lock on this version manager.
      */
-    protected void acquireWriteLock() {
+    protected WriteLock acquireWriteLock() {
         while (true) {
             try {
-                rwLock.writeLock().acquire();
-                return;
+                return rwLock.acquireWriteLock(null);
             } catch (InterruptedException e) {
                 // ignore
             }
@@ -122,20 +112,12 @@
     }
 
     /**
-     * releases the write lock on this version manager.
-     */
-    protected void releaseWriteLock() {
-        rwLock.writeLock().release();
-    }
-
-    /**
-     * aquires the read lock on this version manager.
+     * acquires the read lock on this version manager.
      */
-    protected void acquireReadLock() {
+    protected ReadLock acquireReadLock() {
         while (true) {
             try {
-                rwLock.readLock().acquire();
-                return;
+                return rwLock.acquireReadLock(null);
             } catch (InterruptedException e) {
                 // ignore
             }
@@ -143,13 +125,6 @@
     }
 
     /**
-     * releases the read lock on this version manager.
-     */
-    protected void releaseReadLock() {
-        rwLock.readLock().release();
-    }
-
-    /**
      * Helper for managing write operations.
      */
     private class WriteOperation {
@@ -159,6 +134,12 @@
          */
         private boolean success = false;
 
+        private final WriteLock lock;
+
+        public WriteOperation(WriteLock lock) {
+            this.lock = lock;
+        }
+
         /**
          * Saves the pending operations in the {@link LocalItemStateManager}.
          *
@@ -182,7 +163,7 @@
                     stateMgr.cancel();
                 }
             } finally {
-                releaseWriteLock();
+                lock.release();
             }
         }
     }
@@ -211,16 +192,16 @@
      */
     private WriteOperation startWriteOperation() throws RepositoryException {
         boolean success = false;
-        acquireWriteLock();
+        WriteLock lock = acquireWriteLock();
         try {
             stateMgr.edit();
             success = true;
-            return new WriteOperation();
+            return new WriteOperation(lock);
         } catch (IllegalStateException e) {
             throw new RepositoryException("Unable to start edit operation.", e);
         } finally {
             if (!success) {
-                releaseWriteLock();
+                lock.release();
             }
         }
     }
@@ -232,7 +213,7 @@
             throws RepositoryException {
         VersionHistoryInfo info = null;
 
-        acquireReadLock();
+        ReadLock lock = acquireReadLock();
         try {
             String uuid = node.getNodeId().getUUID().toString();
             Name name = getName(uuid);
@@ -246,7 +227,7 @@
                         history.getState().getChildNodeEntry(root, 1).getId());
             }
         } finally {
-            releaseReadLock();
+            lock.release();
         }
 
         if (info == null) {

Modified: jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java?rev=750013&r1=750012&r2=750013&view=diff
==============================================================================
--- jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java
(original)
+++ jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/InternalVersionImpl.java
Wed Mar  4 14:13:15 2009
@@ -17,6 +17,7 @@
 package org.apache.jackrabbit.core.version;
 
 import org.apache.jackrabbit.core.state.ChildNodeEntry;
+import org.apache.jackrabbit.core.state.ISMLocking.ReadLock;
 import org.apache.jackrabbit.core.value.InternalValue;
 import org.apache.jackrabbit.core.NodeId;
 import org.apache.jackrabbit.spi.Name;
@@ -136,7 +137,7 @@
      * {@inheritDoc}
      */
     public InternalVersion[] getSuccessors() {
-        vMgr.acquireReadLock();
+        ReadLock lock = vMgr.acquireReadLock();
         try {
             InternalValue[] values = node.getPropertyValues(NameConstants.JCR_SUCCESSORS);
             if (values != null) {
@@ -150,7 +151,7 @@
                 return new InternalVersion[0];
             }
         } finally {
-            vMgr.releaseReadLock();
+            lock.release();
         }
     }
 

Modified: jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionManagerImpl.java?rev=750013&r1=750012&r2=750013&view=diff
==============================================================================
--- jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionManagerImpl.java
(original)
+++ jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/VersionManagerImpl.java
Wed Mar  4 14:13:15 2009
@@ -42,6 +42,7 @@
 import org.apache.jackrabbit.core.state.SharedItemStateManager;
 import org.apache.jackrabbit.core.state.ISMLocking;
 import org.apache.jackrabbit.core.state.NoSuchItemStateException;
+import org.apache.jackrabbit.core.state.ISMLocking.ReadLock;
 import org.apache.jackrabbit.core.value.InternalValue;
 import org.apache.jackrabbit.core.virtual.VirtualItemStateProvider;
 import org.apache.jackrabbit.spi.Path;
@@ -233,11 +234,11 @@
      * {@inheritDoc}
      */
     public boolean hasItem(NodeId id) {
-        acquireReadLock();
+        ReadLock lock = acquireReadLock();
         try {
             return stateMgr.hasItemState(id);
         } finally {
-            releaseReadLock();
+            lock.release();
         }
     }
 
@@ -250,7 +251,7 @@
         if (id.equals(getHistoryRootId())) {
             return null;
         }
-        acquireReadLock();
+        ReadLock lock = acquireReadLock();
         try {
             synchronized (versionItems) {
                 InternalVersionItem item = (InternalVersionItem) versionItems.get(id);
@@ -265,7 +266,7 @@
                 return item;
             }
         } finally {
-            releaseReadLock();
+            lock.release();
         }
     }
     
@@ -350,7 +351,7 @@
      * @param items items updated
      */
     public void itemsUpdated(Collection items) {
-        acquireReadLock();
+        ReadLock lock = acquireReadLock();
         try {
             synchronized (versionItems) {
                 Iterator iter = items.iterator();
@@ -371,7 +372,7 @@
                 }
             }
         } finally {
-            releaseReadLock();
+            lock.release();
         }
     }
 
@@ -390,11 +391,11 @@
      */
     protected void itemDiscarded(InternalVersionItem item) {
         // evict removed item from cache
-        acquireReadLock();
+        ReadLock lock = acquireReadLock();
         try {
             versionItems.remove(item.getId());
         } finally {
-            releaseReadLock();
+            lock.release();
         }
     }
 
@@ -473,11 +474,11 @@
      */
     public void stateDestroyed(ItemState destroyed) {
         // evict removed item from cache
-        acquireReadLock();
+        ReadLock lock = acquireReadLock();
         try {
             versionItems.remove(destroyed.getId());
         } finally {
-            releaseReadLock();
+            lock.release();
         }
     }
 

Modified: jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/XAVersionManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/XAVersionManager.java?rev=750013&r1=750012&r2=750013&view=diff
==============================================================================
--- jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/XAVersionManager.java
(original)
+++ jackrabbit/branches/1.5/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/XAVersionManager.java
Wed Mar  4 14:13:15 2009
@@ -46,6 +46,8 @@
 import org.apache.jackrabbit.core.state.NodeReferencesId;
 import org.apache.jackrabbit.core.state.NodeState;
 import org.apache.jackrabbit.core.state.XAItemStateManager;
+import org.apache.jackrabbit.core.state.ISMLocking.ReadLock;
+import org.apache.jackrabbit.core.state.ISMLocking.WriteLock;
 import org.apache.jackrabbit.core.virtual.VirtualItemStateProvider;
 import org.apache.jackrabbit.core.virtual.VirtualNodeState;
 import org.apache.jackrabbit.core.virtual.VirtualPropertyState;
@@ -91,6 +93,11 @@
     private boolean vmgrLocked = false;
 
     /**
+     * The global write lock on the version manager.
+     */
+    private WriteLock vmgrLock;
+
+    /**
      * Creates a new instance of this class.
      */
     public XAVersionManager(VersionManagerImpl vMgr, NodeTypeRegistry ntReg,
@@ -515,8 +522,7 @@
 
     /**
      * Returns an {@link InternalXAResource} that acquires a write lock on the
-     * version manager in {@link InternalXAResource#prepare(TransactionContext)}
-     * if there are any version related items involved in this transaction.
+     * version manager in {@link InternalXAResource#prepare(TransactionContext)}.
      *
      * @return an internal XA resource.
      */
@@ -529,11 +535,8 @@
             }
 
             public void prepare(TransactionContext tx) {
-                Map vItems = (Map) tx.getAttribute(ITEMS_ATTRIBUTE_NAME);
-                if (!vItems.isEmpty()) {
-                    vMgr.acquireWriteLock();
-                    vmgrLocked = true;
-                }
+                vmgrLock = vMgr.acquireWriteLock();
+                vmgrLocked = true;
             }
 
             public void commit(TransactionContext tx) {
@@ -578,7 +581,7 @@
 
             private void internalReleaseWriteLock() {
                 if (vmgrLocked) {
-                    vMgr.releaseWriteLock();
+                    vmgrLock.release();
                     vmgrLocked = false;
                 }
             }
@@ -602,7 +605,7 @@
      */
     private InternalVersionHistoryImpl makeLocalCopy(InternalVersionHistoryImpl history)
             throws RepositoryException {
-        acquireReadLock();
+        ReadLock lock = acquireReadLock();
         try {
             NodeState state = (NodeState) stateMgr.getItemState(history.getId());
             NodeStateEx stateEx = new NodeStateEx(stateMgr, ntReg, state, null);
@@ -610,7 +613,7 @@
         } catch (ItemStateException e) {
             throw new RepositoryException("Unable to make local copy", e);
         } finally {
-            releaseReadLock();
+            lock.release();
         }
     }
 

Modified: jackrabbit/branches/1.5/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/ConcurrentVersioningWithTransactionsTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.5/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/ConcurrentVersioningWithTransactionsTest.java?rev=750013&r1=750012&r2=750013&view=diff
==============================================================================
--- jackrabbit/branches/1.5/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/ConcurrentVersioningWithTransactionsTest.java
(original)
+++ jackrabbit/branches/1.5/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/ConcurrentVersioningWithTransactionsTest.java
Wed Mar  4 14:13:15 2009
@@ -46,6 +46,27 @@
      */
     private static final int NUM_OPERATIONS = 100;
 
+    /**
+     * Creates the named test node. The node is created within a transaction
+     * to avoid mixing transactional and non-transactional writes within a
+     * concurrent test run.
+     */
+    private static synchronized Node createParentNode(Node test, String name)
+            throws RepositoryException {
+        try {
+            UserTransaction utx = new UserTransactionImpl(test.getSession());
+            utx.begin();
+            Node parent = test.addNode(name);
+            test.save();
+            utx.commit();
+            return parent;
+        } catch (RepositoryException e) {
+            throw e;
+        } catch (Exception e) {
+            throw new RepositoryException("Failed to add node: " + name, e);
+        }
+    }
+
     public void testConcurrentAddVersionableInTransaction()
             throws RepositoryException {
         runTask(new Task() {
@@ -53,11 +74,7 @@
                     throws RepositoryException {
                 // add versionable nodes
                 final String threadName = Thread.currentThread().getName();
-                Node parent;
-                synchronized (ConcurrentVersioningWithTransactionsTest.class) {
-                    parent = test.addNode(threadName);
-                    test.save();
-                }
+                Node parent = createParentNode(test, threadName);
                 for (int i = 0; i < NUM_OPERATIONS / CONCURRENCY; i++) {
                     try {
                         final UserTransaction utx = new UserTransactionImpl(test.getSession());

Modified: jackrabbit/branches/1.5/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/daily/RandomOperationTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.5/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/daily/RandomOperationTest.java?rev=750013&r1=750012&r2=750013&view=diff
==============================================================================
--- jackrabbit/branches/1.5/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/daily/RandomOperationTest.java
(original)
+++ jackrabbit/branches/1.5/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/daily/RandomOperationTest.java
Wed Mar  4 14:13:15 2009
@@ -101,7 +101,16 @@
         runTasks(new Task[]{task1, task2}, NUM_THREADS, end + MAX_WAIT_SECONDS * 1000);
     }
 
-    public void testContentAndVersionOperationsXAMixed() throws RepositoryException {
+    /**
+     * Test disabled since it violates the "Don't mix concurrent transactional
+     * and non-transactional writes to a single workspace" guideline formed
+     * during the concurrency review.
+     *
+     * @see <a href="http://jackrabbit.apache.org/concurrency-control.html">Concurrency
control</a>
+     * @see <a href="https://issues.apache.org/jira/browse/JCR-2000">JCR-2000</a>
+     */
+    public void disabledTestContentAndVersionOperationsXAMixed()
+            throws RepositoryException {
         ContentOperationsTask task1 = new ContentOperationsTask(NUM_LEVELS, NODES_PER_LEVEL,
SAVE_INTERVAL, end);
         ContentOperationsTask task2 = new ContentOperationsTask(NUM_LEVELS, NODES_PER_LEVEL,
SAVE_INTERVAL, end);
         task2.setUseXA(true);
@@ -111,7 +120,16 @@
         runTasks(new Task[]{task1, task2, task3, task4}, NUM_THREADS, end + MAX_WAIT_SECONDS
* 1000);
     }
 
-    public void testContentAndVersionOperationsXAMixedShortSaveInterval() throws RepositoryException
{
+    /**
+     * Test disabled since it violates the "Don't mix concurrent transactional
+     * and non-transactional writes to a single workspace" guideline formed
+     * during the concurrency review.
+     *
+     * @see <a href="http://jackrabbit.apache.org/concurrency-control.html">Concurrency
control</a>
+     * @see <a href="https://issues.apache.org/jira/browse/JCR-2000">JCR-2000</a>
+     */
+    public void disabledTestContentAndVersionOperationsXAMixedShortSaveInterval()
+            throws RepositoryException {
         ContentOperationsTask task1 = new ContentOperationsTask(NUM_LEVELS, NODES_PER_LEVEL,
1, end);
         ContentOperationsTask task2 = new ContentOperationsTask(NUM_LEVELS, NODES_PER_LEVEL,
1, end);
         task2.setUseXA(true);
@@ -120,4 +138,5 @@
         task4.setUseXA(true);
         runTasks(new Task[]{task1, task2, task3, task4}, NUM_THREADS, end + MAX_WAIT_SECONDS
* 1000);
     }
+
 }



Mime
View raw message