You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by im...@apache.org on 2021/05/26 23:43:19 UTC
[asterixdb] 13/38: [NO ISSUE][HYR][HTTP] Set thread name on
interruptable stream handler
This is an automated email from the ASF dual-hosted git repository.
imaxon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit 902f63c6683cee08c6340a6a6fe007277722d1be
Author: Michael Blow <mb...@apache.org>
AuthorDate: Sun Apr 25 10:52:25 2021 -0400
[NO ISSUE][HYR][HTTP] Set thread name on interruptable stream handler
Change-Id: I26b718cb0373c6c4d04d7fb0666de472c0419b29
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/11183
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Hussain Towaileb <hu...@gmail.com>
---
.../main/java/org/apache/hyracks/http/server/utils/HttpUtil.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/utils/HttpUtil.java b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/utils/HttpUtil.java
index 01baa69..4c0942b 100644
--- a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/utils/HttpUtil.java
+++ b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/utils/HttpUtil.java
@@ -191,11 +191,13 @@ public class HttpUtil {
}
public static void handleStreamInterruptibly(CloseableHttpResponse response,
- ThrowingConsumer<Reader> streamProcessor, ExecutorService executor, Supplier<String> taskDescription)
+ ThrowingConsumer<Reader> streamProcessor, ExecutorService executor, Supplier<String> descriptionSupplier)
throws IOException, InterruptedException, ExecutionException {
// we have to consume the stream in a separate thread, as it not stop on interrupt; we need to
// instead close the connection to achieve the interrupt
+ String description = descriptionSupplier.get();
Future<Void> readFuture = executor.submit(() -> {
+ Thread.currentThread().setName(description);
InputStreamReader reader = new InputStreamReader(response.getEntity().getContent(), StandardCharsets.UTF_8);
streamProcessor.process(new Reader() {
@Override
@@ -219,10 +221,10 @@ public class HttpUtil {
try {
readFuture.get(1, TimeUnit.SECONDS);
} catch (TimeoutException te) {
- LOGGER.warn("{} did not exit on stream close due to interrupt after 1s", taskDescription);
+ LOGGER.warn("{} did not exit on stream close due to interrupt after 1s", description);
readFuture.cancel(true);
} catch (ExecutionException ee) {
- LOGGER.debug("ignoring exception awaiting aborted {} shutdown", taskDescription, ee);
+ LOGGER.debug("ignoring exception awaiting aborted {} shutdown", description, ee);
}
throw ex;
}