Hi all, I submitted a PR for the basics of broker-side filtering of messages, and @merlimat correctly suggested that I also submit a PIP. This is my first "real" pulsar feature and it's definitely in a proof-of-concept stage, so I'm super open to changes to the pip, the feature itself, the code, etc.
I would call the code functional, but not optimal. However, I don't know enough about the internals of pulsar to say whether or not my architecture is reasonable. I tried to reduce the "impact" of the change as much as possible, but that may not have produced the best implementation. The PIP is located here https://gist.github.com/seeday/28f2b2013f6cdb82d0c639aa05f13e14, and the PR is https://github.com/apache/pulsar/pull/7629. Let me know what you think!