diff --git a/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/LockedWrapperTest.java b/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/LockedWrapperTest.java index 46103d56410..eb5af3e4a7b 100644 --- a/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/LockedWrapperTest.java +++ b/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/LockedWrapperTest.java @@ -305,22 +305,25 @@ public Long call() throws RepositoryException, InterruptedException { } Node n = s.getNode(counterPath); - long value = new LockedWrapper() { + long value = 0; + synchronized (counter) { + value = new LockedWrapper() { - @Override - protected Long run(Node node) - throws RepositoryException { + @Override + protected Long run(Node node) + throws RepositoryException { - Property seqProp = node.getProperty("value"); - long value = seqProp.getLong(); - seqProp.setValue(++value); - s.save(); - return value; - } - }.with(n, false); + Property seqProp = node.getProperty("value"); + long value = seqProp.getLong(); + seqProp.setValue(++value); + s.save(); + return value; + } + }.with(n, false); - // check that the sequence is ok - assertEquals(counter.getAndIncrement(), value); + // check that the sequence is ok + assertEquals(counter.getAndIncrement(), value); + } // do a random wait Thread.sleep(random.nextInt(100));