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/16 07:53:10 UTC
svn commit: r1551121 - in
/archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/main/java/org/apache/archiva/common/filelock:
DefaultFileLockManager.java Lock.java
Author: olamy
Date: Mon Dec 16 06:53:09 2013
New Revision: 1551121
URL: http://svn.apache.org/r1551121
Log:
prevent possible file limit issue
Modified:
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/main/java/org/apache/archiva/common/filelock/Lock.java
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=1551121&r1=1551120&r2=1551121&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 Mon Dec 16 06:53:09 2013
@@ -27,6 +27,7 @@ import org.springframework.stereotype.Se
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.io.RandomAccessFile;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
@@ -91,6 +92,12 @@ public class DefaultFileLockManager
if ( current != null )
{
log.debug( "read lock file exist continue wait" );
+ // close RandomAccessFile!!!
+ RandomAccessFile raf = lock.getRandomAccessFile();
+ if (raf != null)
+ {
+ raf.close();
+ }
continue;
}
@@ -168,14 +175,21 @@ public class DefaultFileLockManager
Lock current = lockFiles.get( file );
- if ( current != null )
- {
- log.debug( "write lock file exist continue wait" );
- continue;
- }
-
try
{
+
+ if ( current != null )
+ {
+ log.debug( "write lock file exist continue wait" );
+ // close RandomAccessFile!!!
+ RandomAccessFile raf = lock.getRandomAccessFile();
+ if (raf != null)
+ {
+ raf.close();
+ }
+ continue;
+ }
+
createNewFileQuietly( file );
lock.openLock( true, timeout > 0 );
acquired = true;
Modified: archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/main/java/org/apache/archiva/common/filelock/Lock.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/main/java/org/apache/archiva/common/filelock/Lock.java?rev=1551121&r1=1551120&r2=1551121&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/main/java/org/apache/archiva/common/filelock/Lock.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-filelock/src/main/java/org/apache/archiva/common/filelock/Lock.java Mon Dec 16 06:53:09 2013
@@ -144,6 +144,10 @@ public class Lock
}
+ protected RandomAccessFile getRandomAccessFile()
+ {
+ return randomAccessFile;
+ }
private void closeQuietly( Closeable closeable )
{