Skip to content

Commit

Permalink
feat: better timeout error
Browse files Browse the repository at this point in the history
  • Loading branch information
astappiev committed Oct 2, 2023
1 parent 4add768 commit a799666
Showing 1 changed file with 8 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,14 @@ public Uni<SearchResults> search(SearchQuery query) {

private Uni<SearchConnectorResults> searchIn(SearchQuery query, SearchConnector connector, Duration timeout) {
long start = System.currentTimeMillis();
return searchWithCache(query, connector).ifNoItem().after(timeout).failWith(new ConnectorException("Timeout"))
.onFailure(ConnectorException.class).recoverWithItem(failure -> {
log.error("Error in search connector " + connector.getId(), failure);
SearchConnectorResults results = new SearchConnectorResults();
results.setError((ConnectorException) failure);
return results;
}).onItem().invoke(conRes -> connector.fillResult(conRes, System.currentTimeMillis() - start));
return searchWithCache(query, connector)
.ifNoItem().after(timeout).failWith(new ConnectorException(connector.getName() + " reached timeout after " + timeout.toMillis() + "ms"))
.onFailure(ConnectorException.class).recoverWithItem(failure -> {
log.error("Error in search connector " + connector.getId(), failure);
SearchConnectorResults results = new SearchConnectorResults();
results.setError((ConnectorException) failure);
return results;
}).onItem().invoke(conRes -> connector.fillResult(conRes, System.currentTimeMillis() - start));
}

private Uni<SearchConnectorResults> searchWithCache(SearchQuery query, SearchConnector connector) {
Expand Down

0 comments on commit a799666

Please sign in to comment.