> I am not sure that we need this file, we can use the documentation website to advertise about all the possibilities.
+1. I also don't think we need another file for all the broker configurations. We can just provide a page with all the possibilities. > For example, the IDE code completion works significantly slower for a method of `ServiceConfiguration` than other classes. It might be related to `lombok`? I'm not sure. We are using lombok to generate all the getters and setters. > Some configs that are not commonly used should be moved into another configuration file IMO, we should move the configuration names used by broker, proxy, etc to a separate class(BaseConfiguration)? We have lots of duplicated configurations in ServiceConfiguration and ProxyConfiguration. (e.g. security, websocket, additionalServlets) Thanks, - Penghui On Wed, Dec 14, 2022 at 2:35 PM 丛搏 <bog...@apache.org> wrote: > > As more people joined the development of Pulsar and more PIPs are > > opened, I found the configurations became very large. At the moment > > for commit 9917aac, there are 426 configuration items in broker.conf, > > which is too many. > I agree with you, the configuration of pulsar is too complicated, we > should optimize its usage > > > > > I have an idea that we can split `ServiceConfiguration` into different > > configuration classes. > > We need to ensure version compatibility, so we have to write a lot of > unnecessary code and this also means we need multiple configuration > files, which seems to only optimize the user experience a little. > > How about creating a script like pulsar-admin, of course, it only > deals with broker configuration changes and searches, etc. We classify > the configuration items of broker.conf, and users can search according > to specific categories. like managed ledger, offload, transaction, > schema etc. > > ``` > ./pulsar-conf broker lookup > ./pulsar-conf broker modify > ``` > > Thanks, > Bo > > Yunze Xu <y...@streamnative.io.invalid> 于2022年12月13日周二 20:53写道: > > > > Hi all, > > > > As more people joined the development of Pulsar and more PIPs are > > opened, I found the configurations became very large. At the moment > > for commit 9917aac, there are 426 configuration items in broker.conf, > > which is too many. > > > > ```bash > > $ grep "^[^#]" conf/broker.conf | wc -l > > 426 > > ``` > > > > For beginners, finding the real useful configs from the `broker.conf` > > is hard. For developers, it's also bad. For example, the IDE code > > completion works significantly slower for a method of > > `ServiceConfiguration` than other classes. > > > > Let's look at Apache Kafka, there are only 17 configs in the server > > configuration file. > > > > ```bash > > kafka_2.13-3.3.1$ grep "^[^#]" config/server.properties | wc -l > > 17 > > ``` > > > > I think this difference makes Pulsar far more complicated to customize > > than Kafka, or than Pulsar should be. > > > > I have an idea that we can split `ServiceConfiguration` into different > > configuration classes. Some configs that are not commonly used should > > be moved into another configuration file. Just a brainstorm, does > > anyone else have better ideas? > > > > Thanks, > > Yunze >