@@ -278,7 +278,7 @@ public async Task SendAsync(string nodeId, ClusterMessage message)
278278
279279 await _messageQueueService . PublishAsync ( ExchangeName , routingKey , messageBytes , properties ) ;
280280
281- _logger . LogTrace ( $ "[HybridClusterTransport] 消息发送成功 - TargetNodeId: { nodeId } , MessageId: { message . MessageId } , MessageType: { message . Type } , CurrentNodeId: { _nodeId } , MessageSize: { messageBytes . Length } bytes") ;
281+ _logger . LogWarning ( $ "[HybridClusterTransport] 消息发送成功 - TargetNodeId: { nodeId } , MessageId: { message . MessageId } , MessageType: { message . Type } , RoutingKey: { routingKey } , ExchangeName: { ExchangeName } , CurrentNodeId: { _nodeId } , MessageSize: { messageBytes . Length } bytes") ;
282282 }
283283 catch ( Exception ex )
284284 {
@@ -427,6 +427,7 @@ public bool IsNodeConnected(string nodeId)
427427 {
428428 if ( string . IsNullOrEmpty ( nodeId ) )
429429 {
430+ _logger . LogWarning ( $ "[HybridClusterTransport] IsNodeConnected: 节点ID为空 - CurrentNodeId: { _nodeId } ") ;
430431 return false ;
431432 }
432433
@@ -435,9 +436,22 @@ public bool IsNodeConnected(string nodeId)
435436 return true ; // Current node is always "connected" / 当前节点始终"已连接"
436437 }
437438
438- return _knownNodes . TryGetValue ( nodeId , out var nodeInfo ) &&
439- nodeInfo . Status == NodeStatus . Active &&
440- DateTime . UtcNow - nodeInfo . LastHeartbeat < TimeSpan . FromSeconds ( 60 ) ;
439+ var exists = _knownNodes . TryGetValue ( nodeId , out var nodeInfo ) ;
440+ if ( ! exists )
441+ {
442+ _logger . LogWarning ( $ "[HybridClusterTransport] IsNodeConnected: 节点不在已知节点列表中 - TargetNodeId: { nodeId } , CurrentNodeId: { _nodeId } , KnownNodeCount: { _knownNodes . Count } , KnownNodes: { string . Join ( ", " , _knownNodes . Keys ) } ") ;
443+ return false ;
444+ }
445+
446+ var isActive = nodeInfo . Status == NodeStatus . Active ;
447+ var timeSinceHeartbeat = DateTime . UtcNow - nodeInfo . LastHeartbeat ;
448+ var isHeartbeatRecent = timeSinceHeartbeat < TimeSpan . FromSeconds ( 60 ) ;
449+
450+ var isConnected = isActive && isHeartbeatRecent ;
451+
452+ _logger . LogWarning ( $ "[HybridClusterTransport] IsNodeConnected: 节点连接状态检查 - TargetNodeId: { nodeId } , CurrentNodeId: { _nodeId } , Exists: { exists } , Status: { nodeInfo . Status } , IsActive: { isActive } , TimeSinceHeartbeat: { timeSinceHeartbeat . TotalSeconds } 秒, IsHeartbeatRecent: { isHeartbeatRecent } , IsConnected: { isConnected } ") ;
453+
454+ return isConnected ;
441455 }
442456
443457 /// <summary>
@@ -757,19 +771,36 @@ private void OnNodeDiscovered(object sender, NodeInfo nodeInfo)
757771 {
758772 if ( nodeInfo == null || nodeInfo . NodeId == _nodeId )
759773 {
774+ _logger . LogWarning ( $ "[HybridClusterTransport] OnNodeDiscovered: 跳过无效节点或自己的节点 - NodeId: { nodeInfo ? . NodeId ?? "null" } , CurrentNodeId: { _nodeId } ") ;
760775 return ;
761776 }
762777
778+ // 确保 LastHeartbeat 已设置
779+ if ( nodeInfo . LastHeartbeat == default )
780+ {
781+ nodeInfo . LastHeartbeat = DateTime . UtcNow ;
782+ _logger . LogWarning ( $ "[HybridClusterTransport] OnNodeDiscovered: 节点心跳时间未设置,使用当前时间 - NodeId: { nodeInfo . NodeId } , CurrentNodeId: { _nodeId } ") ;
783+ }
784+
785+ // 确保 Status 已设置
786+ if ( nodeInfo . Status == NodeStatus . Unknown )
787+ {
788+ nodeInfo . Status = NodeStatus . Active ;
789+ _logger . LogWarning ( $ "[HybridClusterTransport] OnNodeDiscovered: 节点状态未设置,设置为 Active - NodeId: { nodeInfo . NodeId } , CurrentNodeId: { _nodeId } ") ;
790+ }
791+
763792 var wasNew = _knownNodes . TryAdd ( nodeInfo . NodeId , nodeInfo ) ;
764793 if ( wasNew )
765794 {
766- _logger . LogWarning ( $ "[HybridClusterTransport] 发现新节点 - NodeId: { nodeInfo . NodeId } , Address: { nodeInfo . Address } , Port: { nodeInfo . Port } , CurrentNodeId: { _nodeId } , 已知节点数: { _knownNodes . Count } ") ;
795+ _logger . LogWarning ( $ "[HybridClusterTransport] 发现新节点 - NodeId: { nodeInfo . NodeId } , Address: { nodeInfo . Address } , Port: { nodeInfo . Port } , Status: { nodeInfo . Status } , LastHeartbeat: { nodeInfo . LastHeartbeat } , CurrentNodeId: { _nodeId } , 已知节点数: { _knownNodes . Count } ") ;
767796 NodeConnected ? . Invoke ( this , new ClusterNodeEventArgs { NodeId = nodeInfo . NodeId } ) ;
768797 }
769798 else
770799 {
771800 // Update existing node info / 更新现有节点信息
801+ var oldNodeInfo = _knownNodes [ nodeInfo . NodeId ] ;
772802 _knownNodes [ nodeInfo . NodeId ] = nodeInfo ;
803+ _logger . LogWarning ( $ "[HybridClusterTransport] 更新现有节点信息 - NodeId: { nodeInfo . NodeId } , OldStatus: { oldNodeInfo . Status } , NewStatus: { nodeInfo . Status } , OldLastHeartbeat: { oldNodeInfo . LastHeartbeat } , NewLastHeartbeat: { nodeInfo . LastHeartbeat } , CurrentNodeId: { _nodeId } , 已知节点数: { _knownNodes . Count } ") ;
773804 }
774805 }
775806
0 commit comments