This is an automated email from the ASF dual-hosted git repository.
zrhoffman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git
The following commit(s) were added to refs/heads/master by this push:
new ba2456bf0e Better messages for Traffic Router exceptions (#7146)
ba2456bf0e is described below
commit ba2456bf0e677569d95c5ad51da1a0b608b348f0
Author: Srijeet Chatterjee <[email protected]>
AuthorDate: Wed Oct 19 10:59:00 2022 -0600
Better messages for Traffic Router exceptions (#7146)
* Better messages for Traffic Router exceptions
* fix imports
* fix imports
* dont print stacktrace
---
CHANGELOG.md | 1 +
.../traffic_router/core/dns/protocol/TCP.java | 19 ++++++++++++++++++-
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1007e96db9..a3ba5b55b0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,7 @@ The format is based on [Keep a
Changelog](http://keepachangelog.com/en/1.0.0/).
## [unreleased]
### Added
+- [#7081](https://github.com/apache/trafficcontrol/issues/7081) *Traffic
Router* Added better log messages for TR connection exceptions.
- [#7089](https://github.com/apache/trafficcontrol/issues/7089) *Traffic
Router* Added the ability to specify HTTPS certificate attributes.
- [#7109](https://github.com/apache/trafficcontrol/pull/7109) *Traffic Router*
Removed `dnssec.zone.diffing.enabled` and `dnssec.rrsig.cache.enabled`
parameters.
- [#7075](https://github.com/apache/trafficcontrol/pull/7075) *Traffic Portal*
Added the `lastUpdated` field to all delivery service forms.
diff --git
a/traffic_router/core/src/main/java/org/apache/traffic_control/traffic_router/core/dns/protocol/TCP.java
b/traffic_router/core/src/main/java/org/apache/traffic_control/traffic_router/core/dns/protocol/TCP.java
index db475d1ec6..0a0702960f 100644
---
a/traffic_router/core/src/main/java/org/apache/traffic_control/traffic_router/core/dns/protocol/TCP.java
+++
b/traffic_router/core/src/main/java/org/apache/traffic_control/traffic_router/core/dns/protocol/TCP.java
@@ -17,11 +17,13 @@ package
org.apache.traffic_control.traffic_router.core.dns.protocol;
import java.io.DataInputStream;
import java.io.DataOutputStream;
+import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
+import java.net.SocketTimeoutException;
import java.nio.channels.Channels;
import org.apache.logging.log4j.LogManager;
@@ -91,6 +93,7 @@ public class TCP extends AbstractProtocol {
@Override
@SuppressWarnings("PMD.EmptyCatchBlock")
public void run() {
+ InetAddress client = null;
if (cancel) {
cleanup();
return;
@@ -101,7 +104,7 @@ public class TCP extends AbstractProtocol {
DataOutputStream os = new
DataOutputStream(socket.getOutputStream())
) {
socket.setSoTimeout(getReadTimeout());
- final InetAddress client = socket.getInetAddress();
+ client = socket.getInetAddress();
final int length = is.readUnsignedShort();
final byte[] request = new byte[length];
@@ -112,6 +115,20 @@ public class TCP extends AbstractProtocol {
os.write(response);
} catch (final WireParseException e) {
// This is already recorded in the access log
+ } catch (final SocketTimeoutException e) {
+ String hostAddress = "unknown";
+ if (client != null) {
+ hostAddress = client.getHostAddress();
+ }
+ LOGGER.error("The socket with the Client at: " +
+ hostAddress + " has timed out. Error: " +
e.getMessage());
+ } catch (final EOFException e) {
+ String hostAddress = "unavailable";
+ if (client != null) {
+ hostAddress = client.getHostAddress();
+ }
+ LOGGER.error("The client at " + hostAddress +
+ " has closed the connection prematurely. Error: " +
e.getMessage());
} catch (final Exception e) {
LOGGER.error(e.getMessage(), e);
} finally {