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 );
|
indexPacker.packIndex( request );
|
||||||
}
|
}
|
||||||
temporaryGroupIndexes.add(
|
temporaryGroupIndexes.add(
|
||||||
new TemporaryGroupIndex( tempRepoFile, tempRepoId, indexMergerRequest.getGroupId() ) );
|
new TemporaryGroupIndex( tempRepoFile, tempRepoId, indexMergerRequest.getGroupId(), indexMergerRequest.getMergedIndexTtl() ) );
|
||||||
stopWatch.stop();
|
stopWatch.stop();
|
||||||
log.info( "merged index for repos {} in {} s", indexMergerRequest.getRepositoriesIds(),
|
log.info( "merged index for repos {} in {} s", indexMergerRequest.getRepositoriesIds(),
|
||||||
stopWatch.getTime() );
|
stopWatch.getTime() );
|
||||||
|
|
|
@ -42,6 +42,8 @@ public class IndexMergerRequest
|
||||||
|
|
||||||
private String mergedIndexPath = "/.indexer";
|
private String mergedIndexPath = "/.indexer";
|
||||||
|
|
||||||
|
private int mergedIndexTtl;
|
||||||
|
|
||||||
public IndexMergerRequest( Collection<String> repositoriesIds, boolean packIndex, String groupId )
|
public IndexMergerRequest( Collection<String> repositoriesIds, boolean packIndex, String groupId )
|
||||||
{
|
{
|
||||||
this.repositoriesIds = repositoriesIds;
|
this.repositoriesIds = repositoriesIds;
|
||||||
|
@ -52,13 +54,14 @@ public class IndexMergerRequest
|
||||||
/**
|
/**
|
||||||
* @since 1.4-M4
|
* @since 1.4-M4
|
||||||
*/
|
*/
|
||||||
public IndexMergerRequest( Collection<String> repositoriesIds, boolean packIndex, String groupId,
|
public IndexMergerRequest(Collection<String> repositoriesIds, boolean packIndex, String groupId,
|
||||||
String mergedIndexPath )
|
String mergedIndexPath, int mergedIndexTtl)
|
||||||
{
|
{
|
||||||
this.repositoriesIds = repositoriesIds;
|
this.repositoriesIds = repositoriesIds;
|
||||||
this.packIndex = packIndex;
|
this.packIndex = packIndex;
|
||||||
this.groupId = groupId;
|
this.groupId = groupId;
|
||||||
this.mergedIndexPath = mergedIndexPath;
|
this.mergedIndexPath = mergedIndexPath;
|
||||||
|
this.mergedIndexTtl = mergedIndexTtl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<String> getRepositoriesIds()
|
public Collection<String> getRepositoriesIds()
|
||||||
|
@ -101,6 +104,14 @@ public class IndexMergerRequest
|
||||||
this.mergedIndexPath = mergedIndexPath;
|
this.mergedIndexPath = mergedIndexPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getMergedIndexTtl() {
|
||||||
|
return mergedIndexTtl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMergedIndexTtl(int mergedIndexTtl) {
|
||||||
|
this.mergedIndexTtl = mergedIndexTtl;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
|
@ -109,6 +120,7 @@ public class IndexMergerRequest
|
||||||
sb.append( ", packIndex=" ).append( packIndex );
|
sb.append( ", packIndex=" ).append( packIndex );
|
||||||
sb.append( ", groupId='" ).append( groupId ).append( '\'' );
|
sb.append( ", groupId='" ).append( groupId ).append( '\'' );
|
||||||
sb.append( ", mergedIndexPath='" ).append( mergedIndexPath ).append( '\'' );
|
sb.append( ", mergedIndexPath='" ).append( mergedIndexPath ).append( '\'' );
|
||||||
|
sb.append( ", mergedIndexTtl='" ).append( mergedIndexTtl ).append( '\'' );
|
||||||
sb.append( '}' );
|
sb.append( '}' );
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,11 +36,14 @@ public class TemporaryGroupIndex
|
||||||
|
|
||||||
private String groupId;
|
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.directory = directory;
|
||||||
this.indexId = indexId;
|
this.indexId = indexId;
|
||||||
this.groupId = groupId;
|
this.groupId = groupId;
|
||||||
|
this.mergedIndexTtl = mergedIndexTtl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getCreationTime()
|
public long getCreationTime()
|
||||||
|
@ -86,6 +89,14 @@ public class TemporaryGroupIndex
|
||||||
this.groupId = groupId;
|
this.groupId = groupId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getMergedIndexTtl() {
|
||||||
|
return mergedIndexTtl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMergedIndexTtl(int mergedIndexTtl) {
|
||||||
|
this.mergedIndexTtl = mergedIndexTtl;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode()
|
public int hashCode()
|
||||||
{
|
{
|
||||||
|
|
|
@ -58,7 +58,7 @@ public class TemporaryGroupIndexCleaner
|
||||||
for ( TemporaryGroupIndex temporaryGroupIndex : indexMerger.getTemporaryGroupIndexes() )
|
for ( TemporaryGroupIndex temporaryGroupIndex : indexMerger.getTemporaryGroupIndexes() )
|
||||||
{
|
{
|
||||||
// cleanup files older than the ttl
|
// 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() );
|
log.info( "cleanTemporaryIndex for groupId {}", temporaryGroupIndex.getGroupId() );
|
||||||
indexMerger.cleanTemporaryGroupIndex( temporaryGroupIndex );
|
indexMerger.cleanTemporaryGroupIndex( temporaryGroupIndex );
|
||||||
|
|
|
@ -1240,11 +1240,11 @@ public class ArchivaDavResourceFactory
|
||||||
repositoryGroupConfiguration.getId(), authzRepos );
|
repositoryGroupConfiguration.getId(), authzRepos );
|
||||||
IndexingContext indexingContext = indexMerger.buildMergedIndex(
|
IndexingContext indexingContext = indexMerger.buildMergedIndex(
|
||||||
new IndexMergerRequest( authzRepos, true, repositoryGroupConfiguration.getId(),
|
new IndexMergerRequest( authzRepos, true, repositoryGroupConfiguration.getId(),
|
||||||
repositoryGroupConfiguration.getMergedIndexPath() ) );
|
repositoryGroupConfiguration.getMergedIndexPath(), repositoryGroupConfiguration.getMergedIndexTtl() ) );
|
||||||
File mergedRepoDir = indexingContext.getIndexDirectoryFile();
|
File mergedRepoDir = indexingContext.getIndexDirectoryFile();
|
||||||
TemporaryGroupIndex temporaryGroupIndex = new TemporaryGroupIndex( mergedRepoDir, indexingContext.getId(),
|
TemporaryGroupIndex temporaryGroupIndex = new TemporaryGroupIndex( mergedRepoDir, indexingContext.getId(),
|
||||||
repositoryGroupConfiguration.getId() ).setCreationTime(
|
repositoryGroupConfiguration.getId(),repositoryGroupConfiguration.getMergedIndexTtl() )
|
||||||
new Date().getTime() );
|
.setCreationTime(new Date().getTime() );
|
||||||
temporaryGroupIndexMap.put( repositoryGroupConfiguration.getId(), temporaryGroupIndex );
|
temporaryGroupIndexMap.put( repositoryGroupConfiguration.getId(), temporaryGroupIndex );
|
||||||
session.setAttribute( TemporaryGroupIndexSessionCleaner.TEMPORARY_INDEX_SESSION_KEY,
|
session.setAttribute( TemporaryGroupIndexSessionCleaner.TEMPORARY_INDEX_SESSION_KEY,
|
||||||
temporaryGroupIndexMap );
|
temporaryGroupIndexMap );
|
||||||
|
|
Loading…
Reference in New Issue