diff options
author | Stefan Xenos | 2017-04-25 01:29:30 +0000 |
---|---|---|
committer | Stefan Xenos | 2017-04-25 16:53:01 +0000 |
commit | e5ecb59d7f7e552009dbf0a5804f0f42a88231ca (patch) | |
tree | b80cdc6cb14c6af1dd1c41a3102ab05944c87e90 | |
parent | 73805afd59910a4c2e54adf141d62100ce5ba84e (diff) | |
download | eclipse.jdt.core-e5ecb59d7f7e552009dbf0a5804f0f42a88231ca.tar.gz eclipse.jdt.core-e5ecb59d7f7e552009dbf0a5804f0f42a88231ca.tar.xz eclipse.jdt.core-e5ecb59d7f7e552009dbf0a5804f0f42a88231ca.zip |
Bug 515504 - rebuildIndexshould erase the new index db if it is disabledI20170426-2000
This reverts commit ff9698f664fadd62325b86c1541d7575aabf84c8.
Change-Id: I020091c5f004e5b82335d26f521146a2ed01deb2
-rw-r--r-- | org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java | 3 | ||||
-rw-r--r-- | org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/nd/indexer/Indexer.java | 14 |
2 files changed, 12 insertions, 5 deletions
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java index ffb80ea513..ad45148cc1 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java @@ -5517,7 +5517,8 @@ public final class JavaCore extends Plugin { } /** - * Deletes and rebuilds the java index. + * Deletes the index, then rebuilds any portions of the index that are + * currently needed by the workspace. * * @param monitor a progress monitor, or <code>null</code> if progress * reporting and cancellation are not desired diff --git a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/nd/indexer/Indexer.java b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/nd/indexer/Indexer.java index b149447f92..5922a94ffe 100644 --- a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/nd/indexer/Indexer.java +++ b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/nd/indexer/Indexer.java @@ -1046,18 +1046,24 @@ public final class Indexer { } public void rebuildIndex(IProgressMonitor monitor) throws CoreException { - if (!JavaIndex.isEnabled()) { - return; - } SubMonitor subMonitor = SubMonitor.convert(monitor, 100); + this.rescanJob.cancel(); + try { + this.rescanJob.join(0, subMonitor.split(1)); + } catch (InterruptedException e) { + // Nothing to do. + } this.nd.acquireWriteLock(subMonitor.split(1)); try { this.nd.clear(subMonitor.split(2)); } finally { this.nd.releaseWriteLock(); } - rescan(subMonitor.split(98)); + if (!JavaIndex.isEnabled()) { + return; + } + rescan(subMonitor.split(97)); } public void requestRebuildIndex() { |