Make timeout configurable

This commit is contained in:
René Pfeuffer
2019-12-10 18:22:40 +01:00
parent 6f4074c21c
commit 8d0249b708
3 changed files with 22 additions and 5 deletions

View File

@@ -300,6 +300,10 @@ public final class BrowseCommandBuilder
return this;
}
public void setComputationTimeoutMilliSeconds(long computationTimeoutMilliSeconds) {
request.setComputationTimeoutMilliSeconds(computationTimeoutMilliSeconds);
}
private void updateCache(BrowserResult updatedResult) {
if (!disableCache) {
CacheKey key = new CacheKey(repository, request);

View File

@@ -147,6 +147,10 @@ public abstract class FileBaseCommandRequest
this.revision = revision;
}
public void setComputationTimeoutMilliSeconds(long computationTimeoutMilliSeconds) {
this.computationTimeoutMilliSeconds = computationTimeoutMilliSeconds;
}
//~--- get methods ----------------------------------------------------------
/**
@@ -171,7 +175,14 @@ public abstract class FileBaseCommandRequest
return revision;
}
//~--- methods --------------------------------------------------------------
public boolean isDisableCommitValues() {
return disableCommitValues;
}
public long getComputationTimeoutMilliSeconds() {
return computationTimeoutMilliSeconds;
}
//~--- methods --------------------------------------------------------------
/**
* Method description
@@ -208,4 +219,8 @@ public abstract class FileBaseCommandRequest
/** Field description */
private String revision;
private boolean disableCommitValues = false;
private long computationTimeoutMilliSeconds = 1000;
}

View File

@@ -141,8 +141,8 @@ public class GitBrowseCommand extends AbstractGitCommand
} finally {
executorService.shutdown();
try {
if (!executorService.awaitTermination(10, TimeUnit.SECONDS)) {
logger.info("lookup of all commits took too long in repo {}", repository.getNamespaceAndName());
if (!executorService.awaitTermination(request.getComputationTimeoutMilliSeconds(), TimeUnit.MILLISECONDS)) {
logger.info("lookup of all commits aborted after {}ms in repo {}", request.getComputationTimeoutMilliSeconds(), repository.getNamespaceAndName());
}
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
@@ -259,8 +259,6 @@ public class GitBrowseCommand extends AbstractGitCommand
//~--- get methods ----------------------------------------------------------
private RevWalk commitWalk = null;
/**
* Method description
*