I agree that we should make it simpler.
There are too many knobs that people shouldn't try to turn if they
don't know what they are doing.

Il giorno mar 13 dic 2022 alle ore 14:19 Kai Wang
<wangkai744567...@gmail.com> ha scritto:
>
> +1, we can provide a minimal configuration file to users. It only contains 
> the required config and a few commonly used configs.
>
> The full configuration file can be named `broker.full.conf`, and it is used 
> to provide a reference for users.

I am not sure that we need this file, we can use the documentation
website to advertise about all the possibilities.

I want to add a point:
currently k8s users use the script that handles only the options
explicitly written in broker.conf and proxy.conf.
and they have to prepend PULSAR_PREFIX_ to the other options.

We should make changes that are compatible with current k8s users,
otherwise it will be a big pain.
Maybe we have to change the script that applies the ENV to the .conf file


Enrico

>
> Thanks,
> Kai
> On Dec 13, 2022 at 9:03 PM +0800, Yunze Xu <y...@streamnative.io.invalid>, 
> wrote:
> > For example, when running a standalone (without TLS enabled), only the
> > following configs are required:
> >
> > ```properties
> > brokerServicePort=6650
> > webServicePort=8080
> > allowLoopback=true
> > clusterName=standalone
> > managedLedgerDefaultEnsembleSize=1
> > managedLedgerDefaultWriteQuorum=1
> > managedLedgerDefaultAckQuorum=1
> > ```
> >
> > Actually only these two ports and `clusterName` are needed, other
> > configurations can be configured with a default values for standalone.
> > However, I found there are over 600 configurations in the
> > `standalone.conf`:
> >
> > ```bash
> > $ grep "^[^#]" conf/standalone.conf | wc -l
> > 629
> > ```
> >
> > Thanks,
> > Yunze Xu
> >
> > On Tue, Dec 13, 2022 at 8:53 PM Yunze Xu <y...@streamnative.io> wrote:
> > >
> > > 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

Reply via email to