Rework intra line diff to interrupt threads instead of killing them

Now that MyersDiff is interruptible[1], interrupt threads instead of
killing them when MyersDiff goes into infinite loop.

Replace IntraLineWorkerPool that was created to allow killing threads by
a standard CachedThreadPool.

[1] https://git.eclipse.org/r/44041

Change-Id: I39ceef66f503fb9f0b6036fc32b671818772c258
This commit is contained in:
Hugo Arès
2015-03-18 15:48:41 -04:00
parent a57ae4a249
commit f542960855
8 changed files with 119 additions and 215 deletions

View File

@@ -47,7 +47,7 @@ import com.google.gerrit.server.index.IndexModule;
import com.google.gerrit.server.mail.SignedTokenEmailTokenVerifier;
import com.google.gerrit.server.mail.SmtpEmailSender;
import com.google.gerrit.server.mime.MimeUtil2Module;
import com.google.gerrit.server.patch.IntraLineWorkerPool;
import com.google.gerrit.server.patch.DiffExecutorModule;
import com.google.gerrit.server.plugins.PluginGuiceEnvironment;
import com.google.gerrit.server.plugins.PluginRestApiModule;
import com.google.gerrit.server.schema.DataSourceModule;
@@ -281,7 +281,7 @@ public class WebAppInitializer extends GuiceServletContextListener
modules.add(new WorkQueue.Module());
modules.add(new ChangeHookRunner.Module());
modules.add(new ReceiveCommitsExecutorModule());
modules.add(new IntraLineWorkerPool.Module());
modules.add(new DiffExecutorModule());
modules.add(new MimeUtil2Module());
modules.add(cfgInjector.getInstance(GerritGlobalModule.class));
modules.add(new InternalAccountDirectory.Module());