ExpressionMessageFilter will pass some message with tag's hash code less than 0.
This is not correct. After sql filter feature added, the tag's hash code in consume queue may be replaced by the address of consume queue ext. And, differences between them are:
1. Tag's hash code is an integer, values is between Integer.MIN and Integer.MAX.
2. Address of consume queue ext is a long, values is between Long.MIN and Integer.MIN - 1.
So, actually, they are not conflict.