RocketMQ 支持按标签过滤,这里我深挖一下 Broker 的源码。经纪人似乎做了以下比较:
subscriptionData.getCodeSet().contains(tagsCode.intValue());
在org.apache.rocketmq.broker.filter.ExpressionMessageFilter#isMatchedByConsumeQueue
. 所以我想知道两个标签是否有可能具有相同的哈希码,如果发生这种情况,一些味精将不会被过滤?我找不到任何代码来比较 Broker 中的实际标签字符串,我错过了什么吗?
PS:我的RocketMQ版本是:4.2.0-incubating-SNAPSHOT