You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2013/12/12 23:37:34 UTC
svn commit: r1550562 - in
/archiva/trunk/archiva-modules/archiva-base/archiva-filelock: ./
src/main/java/org/apache/archiva/common/filelock/
src/test/java/org/apache/archiva/common/filelock/
Author: olamy
Date: Thu Dec 12 22:37:34 2013
New Revision: 1550562
URL: http://svn.apache.org/r1550562
Log:
fix timeout
Added:
archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/test/java/org/apache/archiva/common/filelock/DefaultFileLockManagerTimeoutTest.java (with props)
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-filelock/pom.xml
archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/main/java/org/apache/archiva/common/filelock/DefaultFileLockManager.java
archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/test/java/org/apache/archiva/common/filelock/DefaultFileLockManagerTest.java
Modified: archiva/trunk/archiva-modules/archiva-base/archiva-filelock/pom.xml
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-filelock/pom.xml?rev=1550562&r1=1550561&r2=1550562&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-filelock/pom.xml (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-filelock/pom.xml Thu Dec 12 22:37:34 2013
@@ -42,6 +42,11 @@
</dependency>
<dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
Modified: archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/main/java/org/apache/archiva/common/filelock/DefaultFileLockManager.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/main/java/org/apache/archiva/common/filelock/DefaultFileLockManager.java?rev=1550562&r1=1550561&r2=1550562&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/main/java/org/apache/archiva/common/filelock/DefaultFileLockManager.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/main/java/org/apache/archiva/common/filelock/DefaultFileLockManager.java Thu Dec 12 22:37:34 2013
@@ -19,10 +19,10 @@ package org.apache.archiva.common.filelo
* under the License.
*/
+import org.apache.commons.lang.time.StopWatch;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
-import org.springframework.util.StopWatch;
import java.io.File;
import java.io.FileNotFoundException;
@@ -67,7 +67,8 @@ public class DefaultFileLockManager
{
if ( timeout > 0 )
{
- long delta = stopWatch.getTotalTimeMillis();
+ long delta = stopWatch.getTime();
+ log.debug( "delta {}, timeout {}", delta, timeout );
if ( delta > timeout )
{
log.warn( "Cannot acquire read lock within {} millis. Will skip the file: {}", timeout, file );
@@ -120,7 +121,8 @@ public class DefaultFileLockManager
{
if ( timeout > 0 )
{
- long delta = stopWatch.getTotalTimeMillis();
+ long delta = stopWatch.getTime();
+ log.debug( "delta {}, timeout {}", delta, timeout );
if ( delta > timeout )
{
log.warn( "Cannot acquire read lock within {} millis. Will skip the file: {}", timeout, file );
Modified: archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/test/java/org/apache/archiva/common/filelock/DefaultFileLockManagerTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/test/java/org/apache/archiva/common/filelock/DefaultFileLockManagerTest.java?rev=1550562&r1=1550561&r2=1550562&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/test/java/org/apache/archiva/common/filelock/DefaultFileLockManagerTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/test/java/org/apache/archiva/common/filelock/DefaultFileLockManagerTest.java Thu Dec 12 22:37:34 2013
@@ -274,4 +274,5 @@ public class DefaultFileLockManagerTest
Assert.assertEquals( 10, concurrentFileWrite.success.intValue() );
}
+
}
Added: archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/test/java/org/apache/archiva/common/filelock/DefaultFileLockManagerTimeoutTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/test/java/org/apache/archiva/common/filelock/DefaultFileLockManagerTimeoutTest.java?rev=1550562&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/test/java/org/apache/archiva/common/filelock/DefaultFileLockManagerTimeoutTest.java (added)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/test/java/org/apache/archiva/common/filelock/DefaultFileLockManagerTimeoutTest.java Thu Dec 12 22:37:34 2013
@@ -0,0 +1,77 @@
+package org.apache.archiva.common.filelock;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import edu.umd.cs.mtc.MultithreadedTestCase;
+import edu.umd.cs.mtc.TestFramework;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * @author Olivier Lamy
+ */
+@RunWith( SpringJUnit4ClassRunner.class )
+@ContextConfiguration( locations = { "classpath*:/META-INF/spring-context.xml" } )
+public class DefaultFileLockManagerTimeoutTest
+{
+
+ final Logger logger = LoggerFactory.getLogger( getClass() );
+
+ @Inject
+ @Named( value = "fileLockManager#default" )
+ FileLockManager fileLockManager;
+
+
+
+ @Test( expected = FileLockTimeoutException.class )
+ public void testTimeout()
+ throws Throwable
+ {
+
+ File file = new File( System.getProperty( "buildDirectory" ), "foo.txt" );
+
+ File largeJar = new File( System.getProperty( "basedir" ), "src/test/cassandra-all-2.0.3.jar" );
+
+ fileLockManager.setTimeout( 5000 );
+
+ Lock lock = fileLockManager.writeFileLock( file );
+
+ FileUtils.copyFile( largeJar, lock.getFile() );
+
+ lock = fileLockManager.writeFileLock( file );
+
+ }
+
+}
Propchange: archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/test/java/org/apache/archiva/common/filelock/DefaultFileLockManagerTimeoutTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/test/java/org/apache/archiva/common/filelock/DefaultFileLockManagerTimeoutTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision