Mercurial > hg > tc-symbol-server
changeset 26:87b24e4efcc3
fixed multiple indexing of the same pdb file
author | Evgeniy.Koshkin |
---|---|
date | Wed, 07 Aug 2013 17:29:18 +0400 |
parents | f4e0050e2a2f |
children | 76ed2d58c871 |
files | agent/src/jetbrains/buildServer/symbols/SymbolsIndexer.java |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/agent/src/jetbrains/buildServer/symbols/SymbolsIndexer.java Tue Aug 06 14:18:09 2013 +0400 +++ b/agent/src/jetbrains/buildServer/symbols/SymbolsIndexer.java Wed Aug 07 17:29:18 2013 +0400 @@ -17,6 +17,7 @@ import java.io.File; import java.io.IOException; import java.util.*; +import java.util.concurrent.CopyOnWriteArrayList; /** * @author Evgeniy.Koshkin @@ -43,7 +44,7 @@ @Override public void buildStarted(@NotNull final AgentRunningBuild runningBuild) { myBuild = runningBuild; - mySymbolsToProcess = new HashSet<File>(); + mySymbolsToProcess = new CopyOnWriteArrayList<File>(); } @Override @@ -91,6 +92,10 @@ final PdbFilePatcher pdbFilePatcher = new PdbFilePatcher(myBuild.getBuildTempDirectory(), new SrcSrvStreamBuilder(urlProvider)); for(File pdbFile : pdbFiles){ + if(mySymbolsToProcess.contains(pdbFile)){ + LOG.debug(String.format("File %s already processed. Skipped.", pdbFile.getAbsolutePath())); + continue; + } try { buildLogger.message("Indexing sources appeared in file " + pdbFile.getAbsolutePath()); pdbFilePatcher.patch(pdbFile, buildLogger);