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