Browse Source

Drop ReceiveTimeoutTransportException stack trace (#75671)

We only create a `ReceiveTimeoutTransportException` in one place, the
timeout handler for the corresponding transport request, so the stack
trace contains no useful information and just adds noise if ever it is
logged. With this commit we drop the stack trace from these exceptions.
David Turner 4 years ago
parent
commit
98504ea258

+ 5 - 0
server/src/main/java/org/elasticsearch/transport/ReceiveTimeoutTransportException.java

@@ -23,4 +23,9 @@ public class ReceiveTimeoutTransportException extends ActionTransportException {
         super(in);
         super(in);
     }
     }
 
 
+    @Override
+    public synchronized Throwable fillInStackTrace() {
+        // stack trace is uninformative
+        return this;
+    }
 }
 }

+ 3 - 0
test/framework/src/main/java/org/elasticsearch/transport/AbstractSimpleTransportTestCase.java

@@ -933,6 +933,7 @@ public abstract class AbstractSimpleTransportTestCase extends ESTestCase {
                 @Override
                 @Override
                 public void handleException(TransportException exp) {
                 public void handleException(TransportException exp) {
                     assertThat(exp, instanceOf(ReceiveTimeoutTransportException.class));
                     assertThat(exp, instanceOf(ReceiveTimeoutTransportException.class));
+                    assertThat(exp.getStackTrace().length, equalTo(0));
                 }
                 }
             });
             });
 
 
@@ -992,6 +993,7 @@ public abstract class AbstractSimpleTransportTestCase extends ESTestCase {
                 public void handleException(TransportException exp) {
                 public void handleException(TransportException exp) {
                     latch.countDown();
                     latch.countDown();
                     assertThat(exp, instanceOf(ReceiveTimeoutTransportException.class));
                     assertThat(exp, instanceOf(ReceiveTimeoutTransportException.class));
+                    assertThat(exp.getStackTrace().length, equalTo(0));
                 }
                 }
             });
             });
 
 
@@ -1580,6 +1582,7 @@ public abstract class AbstractSimpleTransportTestCase extends ESTestCase {
                 @Override
                 @Override
                 public void handleException(TransportException exp) {
                 public void handleException(TransportException exp) {
                     assertThat(exp, instanceOf(ReceiveTimeoutTransportException.class));
                     assertThat(exp, instanceOf(ReceiveTimeoutTransportException.class));
+                    assertThat(exp.getStackTrace().length, equalTo(0));
                 }
                 }
             });
             });