On Tue, 24 Sept 2024 at 05:01, Rajan Dhabalia <rdhaba...@apache.org> wrote:
> However, there are multiple other PRs related to key-shared sub, stats,
> cursor performance, and other PRs are still blocked by others and people
> just block it because they think they don't have this usecase. It's so
> unfortunate that people easily merge implementations which only handle
> small-scale usecases  but the usecases for which Pulsar was built  are
> being blocked or take a long time to merge. It's just that I don't have
> that energy to keep following up for useful and important changes for
> Pulsar. And this is one of these examples as well. I have also started
> discussion about improving the PIP process because it has become painful in
> many cases.

It's not that individuals want to block changes for no reason. It
seems that the main reason for blocking changes is the fear of
regressions. Some areas of the Pulsar codebase aren't well covered in
our test suites. For example, we don't have performance tests as part
of the Apache Pulsar repositories. We have a lot of tests, but most of
them are written in a way that tests the code as the author expects it
to work. There are very few tests that evaluate features from the
end-user API perspective or as system tests.

Writing new tests is slow, and the developer experience is poor with
the current test infrastructure. Adding more tests to the main build
would slow down Pulsar CI even more. This isn't a new problem; it's
been around for many years. I'd love to see more proposals and active
contributions to improve the "safety nets" of Apache Pulsar so that we
wouldn't fear change. I'm not saying that this is only a testing
problem. Testability impacts architecture too. Balancing all different
aspects of the system isn't easy, and it requires effort and
dedication. We don't currently have enough contributors who are
investing their time in enabling others to contribute effectively. I
hope that we can improve together and address the problems we have
that cause the fear of change. When that is addressed, there would be
more confidence in accepting new PIPs and changes even when the
reviewer doesn't have the use case or when they aren't familiar with
the problem that the PIP is targeting to solve.

-Lari

Reply via email to