summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-03-14 11:29:50 +0100
committerGitHub <noreply@github.com>2021-03-14 11:29:50 +0100
commit1a5a0672dac03c7f947eb5d8517b95c60493226a (patch)
tree04e8be4cebd5b797c0fb7d97885d93b8741b07cd
parentc65792f97784c941b1e6036bd5c3d6adde81d14f (diff)
parent20509856f2ebad9cb1f254977a64cbaddd1165e2 (diff)
Merge pull request #16940 from vespa-engine/balder/do-not-append-empty-trace-messages
Balder/do not append empty trace messages
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java
index 675f20e3807..88ef67e1854 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java
@@ -1036,7 +1036,11 @@ public class MessageBusVisitorSession implements VisitorSession {
params.getControlHandler().onProgress(progress.getToken());
statistics.add(reply.getVisitorStatistics());
params.getControlHandler().onVisitorStatistics(statistics);
- trace.getRoot().addChild(reply.getTrace().getRoot());
+ // A visitor session might be long lived so we need a safeguard against blowing the memory if tracing
+ // has been enabled.
+ if ( ! reply.getTrace().getRoot().isEmpty() && (trace.getRoot().getNumChildren() < 1000)) {
+ trace.getRoot().addChild(reply.getTrace().getRoot());
+ }
if (params.getDynamicallyIncreaseMaxBucketsPerVisitor()
&& (reply.getVisitorStatistics().getDocumentsReturned()