From ab7bb3b096be672494bef27941edefdff4073a1e Mon Sep 17 00:00:00 2001 From: LUA Date: Fri, 6 Nov 2020 10:48:34 +0800 Subject: [PATCH] fix: inner 637(cherry pick from master #2239) (#2254) * fix: inner 637 add the judgment of connection * fix: inner 637 The connection is closed and the column value is null --- .../services/manager/response/ShowBackend.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/actiontech/dble/services/manager/response/ShowBackend.java b/src/main/java/com/actiontech/dble/services/manager/response/ShowBackend.java index 6c3bd7dee..3ab5801e1 100644 --- a/src/main/java/com/actiontech/dble/services/manager/response/ShowBackend.java +++ b/src/main/java/com/actiontech/dble/services/manager/response/ShowBackend.java @@ -213,13 +213,15 @@ public final class ShowBackend { row.add(c.getCharsetName().getClient().getBytes()); row.add(c.getCharsetName().getCollation().getBytes()); row.add(c.getCharsetName().getResults().getBytes()); - row.add((c.getBackendService().getTxIsolation() + "").getBytes()); - row.add((c.getBackendService().isAutocommit() + "").getBytes()); - row.add(StringUtil.encode(c.getBackendService().getStringOfSysVariables(), charset)); - row.add(StringUtil.encode(c.getBackendService().getStringOfUsrVariables(), charset)); - row.add(StringUtil.encode(c.getBackendService().getXaStatus().toString(), charset)); + row.add(c.isClosed() ? null : (c.getBackendService().getTxIsolation() + "").getBytes()); + row.add(c.isClosed() ? null : (c.getBackendService().isAutocommit() + "").getBytes()); + row.add(c.isClosed() ? null : StringUtil.encode(c.getBackendService().getStringOfSysVariables(), charset)); + row.add(c.isClosed() ? null : StringUtil.encode(c.getBackendService().getStringOfUsrVariables(), charset)); + row.add(c.isClosed() ? null : StringUtil.encode(c.getBackendService().getXaStatus().toString(), charset)); row.add(StringUtil.encode(FormatUtil.formatDate(c.getPoolDestroyedTime()), charset)); - if (state == PooledConnection.INITIAL) { + if (c.isClosed()) { + row.add(null); + } else if (state == PooledConnection.INITIAL) { ResponseHandler handler = c.getBackendService().getResponseHandler(); row.add(handler instanceof HeartbeatSQLJob ? "true".getBytes() : "false".getBytes()); } else {