[Bug] The global topic policy config override the local topic policy config
- Dominant language
- Java
- Stars
- 15.3k
- Forks
- 3.8k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 160
Description
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/pulsar/issues) and found nothing similar.
### Version
2.10.5
### Minimal reproduce step
1. create a Topic
`./pulsar-admin --admin-url http://127.0.0.1:8881 topics create-partitioned-topic -p 2 persistent://geo/geo/geo_3`
2. set local topic policy (This problem exists in all configurations, max-message-size is used here to demonstrate)
` ./pulsar-admin --admin-url http://127.0.0.1:8880 topicPolicies set-max-message-size persistent://geo/geo/geo_3 -m 10000`
3. set global topic policy
` ./pulsar-admin --admin-url http://127.0.0.1:8880 topicPolicies set-max-message-size persistent://geo/geo/geo_3 -g -m 10`
4. check the topic policy
`./pulsar-admin --admin-url http://127.0.0.1:8880 topicPolicies get-max-message-size persistent://geo/geo/geo_3`
result: 10000
`./pulsar-admin --admin-url http://127.0.0.1:8880 topicPolicies get-max-message-size persistent://geo/geo/geo_3 -g`
result: 10
4. verify the configuration to take effect
`./pulsar-client --url pulsar://127.0.0.1:6650 produce -m 0123456780123456789 persistent://geo/geo/geo_3`
### What did you expect to see?
2023-09-18T20:25:03,301+0800 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool - 1 messages successfully produced
### What did you see instead?
2023-09-18T20:25:33,934+0800 [main] ERROR org.apache.pulsar.client.cli.PulsarClientTool - Exceed maximum message size
org.apache.pulsar.client.api.PulsarClientException$NotAllowedException: Exceed maximum message size
at org.apache.pulsar.client.api.PulsarClientException.unwrap(PulsarClientException.java:1048) ~[org.apache.pulsar-pulsar-client-api-2.10.4.jar:2.10.4]
at org.apache.pulsar.client.impl.TypedMessageBuilderImpl.send(TypedMessageBuilderImpl.java:90) ~[org.apache.pulsar-pulsar-client-original-2.10.4.jar:2.10.4]
at org.apache.pulsar.client.cli.CmdProduce.publish(CmdProduce.java:309) ~[org.apache.pulsar-pulsar-client-tools-2.10.4.jar:2.10.4]
at org.apache.pulsar.client.cli.CmdProduce.run(CmdProduce.java:241) ~[org.apache.pulsar-pulsar-client-tools-2.10.4.jar:2.10.4]
at org.apache.pulsar.client.cli.PulsarClientTool.run(PulsarClientTool.java:184) ~[org.apache.pulsar-pulsar-client-tools-2.10.4.jar:2.10.4]
at org.apache.pulsar.client.cli.PulsarClientTool.main(PulsarClientTool.java:220) ~[org.apache.pulsar-pulsar-client-tools-2.10.4.jar:2.10.4]
2023-09-18T20:25:33,937+0800 [main] INFO org.apache.pulsar.client.cli.PulsarClientTool - 0 messages successfully produced
### Anything else?
as [PIP-92](https://github.com/apache/pulsar/wiki/PIP-92%3A-Topic-policy-across-multiple-clusters) described:
After adding the global topic policy, the topic applied priority is:
Local cluster topic > policy Global topic policy > Namespace policy > Broker default configuration
the global topic policy config shouldn't override the local topic policy config.
### Are you willing to submit a PR?
- [X] I'm willing to submit a PR!
Contributor guide
Assessment
This issue has not been assessed yet.