diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-03-13 22:18:15 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-03-13 22:18:15 +0100 |
commit | 20509856f2ebad9cb1f254977a64cbaddd1165e2 (patch) | |
tree | 04e8be4cebd5b797c0fb7d97885d93b8741b07cd /documentapi/src | |
parent | fb3c66220341ebd0758d16b8a7bccf471419731b (diff) |
Add a safeguard by not adding more than the 1000 traces during visitation.
Diffstat (limited to 'documentapi/src')
-rwxr-xr-x | documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java | 4 |
1 files changed, 3 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 f02d3db1a3b..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,9 @@ public class MessageBusVisitorSession implements VisitorSession { params.getControlHandler().onProgress(progress.getToken()); statistics.add(reply.getVisitorStatistics()); params.getControlHandler().onVisitorStatistics(statistics); - if ( ! reply.getTrace().getRoot().isEmpty() ) { + // 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()); } |