Skip to content

Commit 0b67cb8

Browse files
authored
[To dev/1.3] Add extra client_ip and timeout columns for show queries
1 parent d243a10 commit 0b67cb8

22 files changed

Lines changed: 90 additions & 24 deletions

File tree

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public class AuditLogger {
6464
private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig();
6565
private static final List<AuditLogStorage> auditLogStorageList = config.getAuditLogStorage();
6666
private static final SessionInfo sessionInfo =
67-
new SessionInfo(0, AuthorityChecker.SUPER_USER, ZoneId.systemDefault());
67+
new SessionInfo(0, AuthorityChecker.SUPER_USER, ZoneId.systemDefault(), "");
6868

6969
private static final List<AuditLogOperation> auditLogOperationList =
7070
config.getAuditLogOperation();

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/IoTDBLegacyPipeReceiverAgent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ private boolean registerDatabase(
151151
.executeForTreeModel(
152152
statement,
153153
queryId,
154-
new SessionInfo(0, AuthorityChecker.SUPER_USER, ZoneId.systemDefault()),
154+
new SessionInfo(0, AuthorityChecker.SUPER_USER, ZoneId.systemDefault(), ""),
155155
"",
156156
partitionFetcher,
157157
schemaFetcher,

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/loader/DeletionLoader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public void load() throws PipeException {
6464
.executeForTreeModel(
6565
statement,
6666
queryId,
67-
new SessionInfo(0, AuthorityChecker.SUPER_USER, ZoneId.systemDefault()),
67+
new SessionInfo(0, AuthorityChecker.SUPER_USER, ZoneId.systemDefault(), ""),
6868
"",
6969
PARTITION_FETCHER,
7070
SCHEMA_FETCHER,

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/loader/TsFileLoader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public void load() {
6767
.executeForTreeModel(
6868
statement,
6969
queryId,
70-
new SessionInfo(0, AuthorityChecker.SUPER_USER, ZoneId.systemDefault()),
70+
new SessionInfo(0, AuthorityChecker.SUPER_USER, ZoneId.systemDefault(), ""),
7171
"",
7272
PARTITION_FETCHER,
7373
SCHEMA_FETCHER,

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/writeback/WriteBackSink.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ private TSStatus executeStatement(final InsertBaseStatement statement) {
187187
.executeForTreeModel(
188188
new PipeEnrichedStatement(statement),
189189
SessionManager.getInstance().requestQueryId(),
190-
new SessionInfo(0, AuthorityChecker.SUPER_USER, ZoneId.systemDefault()),
190+
new SessionInfo(0, AuthorityChecker.SUPER_USER, ZoneId.systemDefault(), ""),
191191
"",
192192
ClusterPartitionFetcher.getInstance(),
193193
ClusterSchemaFetcher.getInstance(),

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/session/SessionManager.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,11 @@ public static SessionManager getInstance() {
373373

374374
public SessionInfo getSessionInfo(IClientSession session) {
375375
return new SessionInfo(
376-
session.getId(), session.getUsername(), session.getZoneId(), session.getClientVersion());
376+
session.getId(),
377+
session.getUsername(),
378+
session.getZoneId(),
379+
session.getClientVersion(),
380+
session.getClientAddress());
377381
}
378382

379383
@Override

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,4 +402,11 @@ public boolean isUserQuery() {
402402
public void setUserQuery(boolean userQuery) {
403403
this.userQuery = userQuery;
404404
}
405+
406+
public String getClientHostName() {
407+
if (session == null || session.getCliHostname() == null) {
408+
return "UNKNOWN";
409+
}
410+
return session.getCliHostname();
411+
}
405412
}

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/SessionInfo.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,24 @@ public class SessionInfo {
3333
private final long sessionId;
3434
private final String userName;
3535
private final ZoneId zoneId;
36+
private final String cliHostname;
3637

3738
private ClientVersion version = ClientVersion.V_1_0;
3839

39-
public SessionInfo(long sessionId, String userName, ZoneId zoneId) {
40+
public SessionInfo(long sessionId, String userName, ZoneId zoneId, String cliHostname) {
4041
this.sessionId = sessionId;
4142
this.userName = userName;
4243
this.zoneId = zoneId;
44+
this.cliHostname = cliHostname;
4345
}
4446

45-
public SessionInfo(long sessionId, String userName, ZoneId zoneId, ClientVersion version) {
47+
public SessionInfo(
48+
long sessionId, String userName, ZoneId zoneId, ClientVersion version, String cliHostname) {
4649
this.sessionId = sessionId;
4750
this.userName = userName;
4851
this.zoneId = zoneId;
4952
this.version = version;
53+
this.cliHostname = cliHostname;
5054
}
5155

5256
public long getSessionId() {
@@ -65,16 +69,22 @@ public ClientVersion getVersion() {
6569
return version;
6670
}
6771

72+
public String getCliHostname() {
73+
return cliHostname;
74+
}
75+
6876
public static SessionInfo deserializeFrom(ByteBuffer buffer) {
6977
long sessionId = ReadWriteIOUtils.readLong(buffer);
7078
String userName = ReadWriteIOUtils.readString(buffer);
7179
ZoneId zoneId = ZoneId.of(Objects.requireNonNull(ReadWriteIOUtils.readString(buffer)));
72-
return new SessionInfo(sessionId, userName, zoneId);
80+
String cliHostname = ReadWriteIOUtils.readString(buffer);
81+
return new SessionInfo(sessionId, userName, zoneId, cliHostname);
7382
}
7483

7584
public void serialize(DataOutputStream stream) throws IOException {
7685
ReadWriteIOUtils.write(sessionId, stream);
7786
ReadWriteIOUtils.write(userName, stream);
7887
ReadWriteIOUtils.write(zoneId.getId(), stream);
88+
ReadWriteIOUtils.write(cliHostname, stream);
7989
}
8090
}

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,9 @@ private ColumnHeaderConstant() {
196196
public static final String QUERY_ID = "QueryId";
197197
public static final String ELAPSED_TIME = "ElapsedTime";
198198
public static final String STATEMENT = "Statement";
199+
public static final String WAIT_TIME_IN_SERVER = "WaitTimeInServer";
200+
public static final String CLIENT_IP = "ClientIp";
201+
public static final String TIMEOUT = "Timeout";
199202

200203
// column names for show space quota
201204
public static final String QUOTA_TYPE = "QuotaType";
@@ -499,7 +502,10 @@ private ColumnHeaderConstant() {
499502
new ColumnHeader(QUERY_ID, TSDataType.TEXT),
500503
new ColumnHeader(DATA_NODE_ID, TSDataType.INT32),
501504
new ColumnHeader(ELAPSED_TIME, TSDataType.FLOAT),
502-
new ColumnHeader(STATEMENT, TSDataType.TEXT));
505+
new ColumnHeader(STATEMENT, TSDataType.TEXT),
506+
new ColumnHeader(WAIT_TIME_IN_SERVER, TSDataType.FLOAT),
507+
new ColumnHeader(CLIENT_IP, TSDataType.TEXT),
508+
new ColumnHeader(TIMEOUT, TSDataType.INT64));
503509

504510
public static final List<ColumnHeader> showSpaceQuotaColumnHeaders =
505511
ImmutableList.of(

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ public static FragmentInstanceContext createFragmentInstanceContext(
208208
FragmentInstanceId id, FragmentInstanceStateMachine stateMachine) {
209209
FragmentInstanceContext instanceContext =
210210
new FragmentInstanceContext(
211-
id, stateMachine, new SessionInfo(1, "test", ZoneId.systemDefault()));
211+
id, stateMachine, new SessionInfo(1, "test", ZoneId.systemDefault(), ""));
212212
instanceContext.initialize();
213213
instanceContext.start();
214214
return instanceContext;
@@ -223,7 +223,7 @@ public static FragmentInstanceContext createFragmentInstanceContext(
223223
new FragmentInstanceContext(
224224
id,
225225
stateMachine,
226-
new SessionInfo(1, "test", ZoneId.systemDefault()),
226+
new SessionInfo(1, "test", ZoneId.systemDefault(), ""),
227227
memoryReservationManager);
228228
instanceContext.initialize();
229229
instanceContext.start();

0 commit comments

Comments
 (0)