You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2008/11/17 22:57:51 UTC

svn commit: r718405 - in /maven/mercury/trunk: mercury-it/ mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/ mercury-repo/mercury-repo-cache-fs/src/m...

Author: ogusakov
Date: Mon Nov 17 13:57:51 2008
New Revision: 718405

URL: http://svn.apache.org/viewvc?rev=718405&view=rev
Log:
fixed cache bug introduced by optimization, ITs work now

Modified:
    maven/mercury/trunk/mercury-it/pom.xml
    maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/VirtualRepositoryReaderIntegratedTest.java
    maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java
    maven/mercury/trunk/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java

Modified: maven/mercury/trunk/mercury-it/pom.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/pom.xml?rev=718405&r1=718404&r2=718405&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-it/pom.xml (original)
+++ maven/mercury/trunk/mercury-it/pom.xml Mon Nov 17 13:57:51 2008
@@ -18,7 +18,7 @@
     <nexus.client.version>1.1-M1</nexus.client.version>
     <jetty.version>6.1.12.rc2</jetty.version>
 
-    <nexus-security-enabled>true</nexus-security-enabled>
+    <nexus-security-enabled>false</nexus-security-enabled>
 
     <bundle-expanded-dir>target</bundle-expanded-dir>
     <config-expanded-dir>target/test-nexus-config</config-expanded-dir>

Modified: maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/VirtualRepositoryReaderIntegratedTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/VirtualRepositoryReaderIntegratedTest.java?rev=718405&r1=718404&r2=718405&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/VirtualRepositoryReaderIntegratedTest.java (original)
+++ maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/VirtualRepositoryReaderIntegratedTest.java Mon Nov 17 13:57:51 2008
@@ -134,7 +134,7 @@
     
     assertEquals( 5, versions.size() );
 
-    Thread.sleep( 3000L );
+    Thread.sleep( 4000L );
     
     // repository policy is 2 sec, this should cause VR to re-read metadata
     // should now have 6 versions
@@ -157,6 +157,7 @@
     }
     finally
     {
+      // restore back 5 versions
       File mdf = new File( _testBase, "a/a/maven-metadata.xml");
       InputStream in = VirtualRepositoryReaderIntegratedTest.class.getResourceAsStream( "/repoVr/a.a-maven-metadata.xml" );
       FileUtil.writeRawData( mdf, in );

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java?rev=718405&r1=718404&r2=718405&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java Mon Nov 17 13:57:51 2008
@@ -1,5 +1,6 @@
 package org.apache.maven.mercury.repository.api;
 
+import java.text.ParseException;
 import java.util.Collection;
 import java.util.List;
 import java.util.TreeSet;
@@ -126,6 +127,12 @@
   {
     return lastCheck;
   }
+  
+  public long getLastCheckMillis()
+  throws ParseException
+  {
+    return TimeUtil.toMillis(  lastCheck );
+  }
 
   public void updateSnapshots( Collection<String> snapshots )
   {

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java?rev=718405&r1=718404&r2=718405&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java Mon Nov 17 13:57:51 2008
@@ -96,7 +96,17 @@
       RepositoryGAMetadata inMem = gaCache.get( gaKey );
       
       if( inMem != null )
+      {
+        long lastCheckMillis = inMem.getLastCheckMillis();
+        
+        if( up.timestampExpired( lastCheckMillis ) )
+        {
+          inMem.setExpired( true );
+          gaCache.put( gaKey, inMem );
+        }
+        
         return inMem;
+      }
       
       File gaDir = getGADir(coord);
       
@@ -114,10 +124,10 @@
           {
             md.setExpired( true );
           }
+
+          gaCache.put( gaKey, md );
       }
       
-      gaCache.put( gaKey, md );
-      
       return md;
     }
     catch( Exception e )
@@ -137,7 +147,17 @@
       RepositoryGAVMetadata inMem = gavCache.get( gavKey );
       
       if( inMem != null )
+      {
+        long lastCheckMillis = inMem.getLastCheckMillis();
+        
+        if( up.timestampExpired( lastCheckMillis ) )
+        {
+          inMem.setExpired( true );
+          gavCache.put( gavKey, inMem );
+        }
+        
         return inMem;
+      }
       
       File gavDir = getGAVDir( coord );
 
@@ -153,10 +173,10 @@
           
           if( up != null && up.timestampExpired( md.getLastCheck() ) )
             md.setExpired( true );
+          
+          gavCache.put(  gavKey, md );
       }
       
-      gavCache.put(  gavKey, md );
-      
       return md;
     }
     catch( Exception e )