From 6c71b89cd3a706eda9172f14e23fc8a2bf263881 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Mon, 22 Feb 2016 15:54:19 +0100 Subject: [PATCH] Fix for IDEA-151454 : - create temp files that associate key hashes with project in IDE session's temp directory - remove old temp files within the session when value was added --- .../util/indexing/MapIndexStorage.java | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/util/indexing/MapIndexStorage.java b/platform/lang-impl/src/com/intellij/util/indexing/MapIndexStorage.java index f175460f2aa4..053876f1d5a5 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/MapIndexStorage.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/MapIndexStorage.java @@ -16,6 +16,7 @@ package com.intellij.util.indexing; +import com.intellij.openapi.application.PathManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; @@ -26,6 +27,8 @@ import com.intellij.psi.search.ProjectScopeImpl; import com.intellij.util.CommonProcessors; import com.intellij.util.Processor; import com.intellij.util.SystemProperties; +import com.intellij.util.containers.ConcurrentIntObjectMap; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.SLRUCache; import com.intellij.util.io.*; import com.intellij.util.io.DataOutputStream; @@ -60,6 +63,7 @@ public final class MapIndexStorage implements IndexStorage myDataExternalizer; private final boolean myKeyIsUniqueForIndexedFile; + private static final ConcurrentIntObjectMap ourInvalidatedSessionIds = ContainerUtil.createConcurrentIntObjectMap(); public MapIndexStorage(@NotNull File storageFile, @NotNull KeyDescriptor keyDescriptor, @@ -238,9 +242,12 @@ public final class MapIndexStorage implements IndexStorage implements IndexStorage implements IndexStorage