1919
2020package org .apache .iotdb .confignode .audit ;
2121
22- import org .apache .iotdb .common .rpc .thrift .TConsensusGroupId ;
23- import org .apache .iotdb .common .rpc .thrift .TConsensusGroupType ;
24- import org .apache .iotdb .common .rpc .thrift .TDataNodeLocation ;
25- import org .apache .iotdb .common .rpc .thrift .TRegionReplicaSet ;
2622import org .apache .iotdb .commons .audit .AbstractAuditLogger ;
2723import org .apache .iotdb .commons .audit .IAuditEntity ;
28- import org .apache .iotdb .confignode .client .async .AsyncDataNodeHeartbeatClientPool ;
29- import org .apache .iotdb .confignode .client .async .handlers .audit .DataNodeWriteAuditLogHandler ;
3024import org .apache .iotdb .confignode .conf .ConfigNodeConfig ;
3125import org .apache .iotdb .confignode .conf .ConfigNodeDescriptor ;
3226import org .apache .iotdb .confignode .manager .ConfigManager ;
3327import org .apache .iotdb .confignode .manager .IManager ;
34- import org .apache .iotdb .mpp .rpc .thrift .TAuditLogReq ;
3528
3629import org .slf4j .Logger ;
3730import org .slf4j .LoggerFactory ;
3831
39- import java .util .List ;
4032import java .util .function .Supplier ;
4133
4234public class CNAuditLogger extends AbstractAuditLogger {
@@ -50,45 +42,5 @@ public CNAuditLogger(ConfigManager configManager) {
5042 }
5143
5244 @ Override
53- public void log (IAuditEntity auditLogFields , Supplier <String > log ) {
54- if (!IS_AUDIT_LOG_ENABLED ) {
55- return ;
56- }
57- if (noNeedInsertAuditLog (auditLogFields )) {
58- return ;
59- }
60- // find database "__audit"'s data_region
61- List <TRegionReplicaSet > auditReplicaSets =
62- configManager
63- .getPartitionManager ()
64- .getAllReplicaSets ("root.__audit" , TConsensusGroupType .DataRegion );
65- if (auditReplicaSets .isEmpty ()) {
66- logger .warn ("Database {} does not exist." , "root.__audit" );
67- return ;
68- }
69- TConsensusGroupId regionId = auditReplicaSets .get (0 ).getRegionId ();
70- // use ConfigManager.getLoadManager().getLoadCache().getRegionLeaderMap() to get regionLeaderId
71- TDataNodeLocation regionLeader = configManager .getRegionLeaderLocation (regionId );
72- TAuditLogReq req =
73- new TAuditLogReq (
74- auditLogFields .getUsername (),
75- auditLogFields .getUserId (),
76- auditLogFields .getCliHostname (),
77- auditLogFields .getAuditEventType ().toString (),
78- auditLogFields .getAuditLogOperation ().toString (),
79- auditLogFields .getPrivilegeTypeString (),
80- auditLogFields .getResult (),
81- auditLogFields .getDatabase (),
82- auditLogFields .getSqlString (),
83- log .get (),
84- CONF .getConfigNodeId ());
85- // refer the implementation of HeartbeatService.pingRegisteredDataNode(). By appending a new
86- // writeAudtiLog() interface in AsyncDataNodeHeartbeatClientPool, the main thread is not
87- // required to wait until the write audit log request to be complete.
88- AsyncDataNodeHeartbeatClientPool .getInstance ()
89- .writeAuditLog (
90- regionLeader .getInternalEndPoint (),
91- req ,
92- new DataNodeWriteAuditLogHandler (regionLeader .getDataNodeId ()));
93- }
45+ public void log (IAuditEntity auditLogFields , Supplier <String > log ) {}
9446}
0 commit comments