mirror of https://github.com/apache/archiva.git
[MRM-1751] include mergedIndexTtl in temporary group index & indexmergerrequest so the repo config for ttl will be used upon clean up instead of the default config
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1484377 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
cfaf9559dd
commit
04bb7a29d3
|
@ -122,7 +122,7 @@ public class DefaultIndexMerger
|
|||
indexPacker.packIndex( request );
|
||||
}
|
||||
temporaryGroupIndexes.add(
|
||||
new TemporaryGroupIndex( tempRepoFile, tempRepoId, indexMergerRequest.getGroupId() ) );
|
||||
new TemporaryGroupIndex( tempRepoFile, tempRepoId, indexMergerRequest.getGroupId(), indexMergerRequest.getMergedIndexTtl() ) );
|
||||
stopWatch.stop();
|
||||
log.info( "merged index for repos {} in {} s", indexMergerRequest.getRepositoriesIds(),
|
||||
stopWatch.getTime() );
|
||||
|
|
|
@ -42,6 +42,8 @@ public class IndexMergerRequest
|
|||
|
||||
private String mergedIndexPath = "/.indexer";
|
||||
|
||||
private int mergedIndexTtl;
|
||||
|
||||
public IndexMergerRequest( Collection<String> repositoriesIds, boolean packIndex, String groupId )
|
||||
{
|
||||
this.repositoriesIds = repositoriesIds;
|
||||
|
@ -52,13 +54,14 @@ public class IndexMergerRequest
|
|||
/**
|
||||
* @since 1.4-M4
|
||||
*/
|
||||
public IndexMergerRequest( Collection<String> repositoriesIds, boolean packIndex, String groupId,
|
||||
String mergedIndexPath )
|
||||
public IndexMergerRequest(Collection<String> repositoriesIds, boolean packIndex, String groupId,
|
||||
String mergedIndexPath, int mergedIndexTtl)
|
||||
{
|
||||
this.repositoriesIds = repositoriesIds;
|
||||
this.packIndex = packIndex;
|
||||
this.groupId = groupId;
|
||||
this.mergedIndexPath = mergedIndexPath;
|
||||
this.mergedIndexTtl = mergedIndexTtl;
|
||||
}
|
||||
|
||||
public Collection<String> getRepositoriesIds()
|
||||
|
@ -101,6 +104,14 @@ public class IndexMergerRequest
|
|||
this.mergedIndexPath = mergedIndexPath;
|
||||
}
|
||||
|
||||
public int getMergedIndexTtl() {
|
||||
return mergedIndexTtl;
|
||||
}
|
||||
|
||||
public void setMergedIndexTtl(int mergedIndexTtl) {
|
||||
this.mergedIndexTtl = mergedIndexTtl;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
|
@ -109,6 +120,7 @@ public class IndexMergerRequest
|
|||
sb.append( ", packIndex=" ).append( packIndex );
|
||||
sb.append( ", groupId='" ).append( groupId ).append( '\'' );
|
||||
sb.append( ", mergedIndexPath='" ).append( mergedIndexPath ).append( '\'' );
|
||||
sb.append( ", mergedIndexTtl='" ).append( mergedIndexTtl ).append( '\'' );
|
||||
sb.append( '}' );
|
||||
return sb.toString();
|
||||
}
|
||||
|
|
|
@ -36,11 +36,14 @@ public class TemporaryGroupIndex
|
|||
|
||||
private String groupId;
|
||||
|
||||
public TemporaryGroupIndex( File directory, String indexId, String groupId )
|
||||
private int mergedIndexTtl;
|
||||
|
||||
public TemporaryGroupIndex(File directory, String indexId, String groupId, int mergedIndexTtl)
|
||||
{
|
||||
this.directory = directory;
|
||||
this.indexId = indexId;
|
||||
this.groupId = groupId;
|
||||
this.mergedIndexTtl = mergedIndexTtl;
|
||||
}
|
||||
|
||||
public long getCreationTime()
|
||||
|
@ -86,6 +89,14 @@ public class TemporaryGroupIndex
|
|||
this.groupId = groupId;
|
||||
}
|
||||
|
||||
public int getMergedIndexTtl() {
|
||||
return mergedIndexTtl;
|
||||
}
|
||||
|
||||
public void setMergedIndexTtl(int mergedIndexTtl) {
|
||||
this.mergedIndexTtl = mergedIndexTtl;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode()
|
||||
{
|
||||
|
|
|
@ -58,7 +58,7 @@ public class TemporaryGroupIndexCleaner
|
|||
for ( TemporaryGroupIndex temporaryGroupIndex : indexMerger.getTemporaryGroupIndexes() )
|
||||
{
|
||||
// cleanup files older than the ttl
|
||||
if ( new Date().getTime() - temporaryGroupIndex.getCreationTime() > indexMerger.getGroupMergedIndexTtl() )
|
||||
if ( new Date().getTime() - temporaryGroupIndex.getCreationTime() > temporaryGroupIndex.getMergedIndexTtl() )
|
||||
{
|
||||
log.info( "cleanTemporaryIndex for groupId {}", temporaryGroupIndex.getGroupId() );
|
||||
indexMerger.cleanTemporaryGroupIndex( temporaryGroupIndex );
|
||||
|
|
|
@ -1240,11 +1240,11 @@ public class ArchivaDavResourceFactory
|
|||
repositoryGroupConfiguration.getId(), authzRepos );
|
||||
IndexingContext indexingContext = indexMerger.buildMergedIndex(
|
||||
new IndexMergerRequest( authzRepos, true, repositoryGroupConfiguration.getId(),
|
||||
repositoryGroupConfiguration.getMergedIndexPath() ) );
|
||||
repositoryGroupConfiguration.getMergedIndexPath(), repositoryGroupConfiguration.getMergedIndexTtl() ) );
|
||||
File mergedRepoDir = indexingContext.getIndexDirectoryFile();
|
||||
TemporaryGroupIndex temporaryGroupIndex = new TemporaryGroupIndex( mergedRepoDir, indexingContext.getId(),
|
||||
repositoryGroupConfiguration.getId() ).setCreationTime(
|
||||
new Date().getTime() );
|
||||
repositoryGroupConfiguration.getId(),repositoryGroupConfiguration.getMergedIndexTtl() )
|
||||
.setCreationTime(new Date().getTime() );
|
||||
temporaryGroupIndexMap.put( repositoryGroupConfiguration.getId(), temporaryGroupIndex );
|
||||
session.setAttribute( TemporaryGroupIndexSessionCleaner.TEMPORARY_INDEX_SESSION_KEY,
|
||||
temporaryGroupIndexMap );
|
||||
|
|
Loading…
Reference in New Issue