ChannelWatchInfo with ToWatch, ToRelease will trigger a timer.
ChannelManager now reacts to different ChannelWatch states.
- WatchSuccess > log this info
- WatchFailure/WatchTimeout > ToRelease
- ReleaseSuccess > Delete, reassign if not from DropCollection
- ReleaseFailure/ReleaseTimeout > Cleanup subscription and Delete,
reassgin if not from DropCollection.
Some Notes:
1. Reassignment will add this channel to buffer if there's only one node.
See also: #15846
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
If we start up 2 data nodes and one of them crashes. We expect that all
channels of crashed node will be allcoated to the alive node. But now we
discover that these channels are lost after data node crash. The reason
is we pass a NodeInfo with empty channel info. We fix it and improve log
print.
issue: #6501
Signed-off-by: sunby <bingyi.sun@zilliz.com>