Hi all, Wishing you a happy Labor Day.



I DON'T AGREEthat disabling PAX by default is a good idea.



1. About "Build Consistency with Other contrib Modules"


You may notice that the AO table does not exist as an extension in CBDB/GP, 
which is of course partly for historical reasons. But in fact, when we were 
working on PAX, we had to clean up a lot of AO-specific logical in the CBDB 
kernel. Currently, the AO tables could be modularized and move to the 
contrib/gpcontrib, but we did not do so. PAX was designed to replace the AO 
table, and the current version of PAX has more feature than AO and better 
scalability. It also performed better than the AO table in some tests. 


If you still think that all extension in contrib should disabled, Then CBDB 
will completely serve as a subset of GP.


2. About "Reduce Build Failures"


Ed has mentioned compilation improvement suggestions before, and PAX will make 
corresponding compilation changes later.


3. About "Optional Nature of the Feature"


Which part do you think is the "core feature"? Although PAX is an optional AM 
function, it is superior to AO table in all aspects. Is there enough evidence 
to show that user don’t need PAX? If we do disabled PAX by default, That will 
make users less aware of what PAX does.


Finally, I always think that we should "solve problems when they occur" instead 
of avoiding them. As a new feature, PAX will encounter many problems before it 
matures, and we should not avoid these problems. If we just avoid problems 
blindly, CBDB will become a subset of GP with many useless features.


Thanks
Jiaqi

At 2025-04-25 14:23:37, "Dianjin Wang" <wangdian...@gmail.com> wrote:
>Hi all,
>
>I’d like to bring up a point regarding the PAX recently merged into
>the main branch.
>
>Currently, the PAX is enabled by default in configure, and users need
>to explicitly disable it via `--disable-pax` option. However, this
>behavior is inconsistent with most of the other extensions under the
>contrib/ or gpcontrib/ dir, which are typically disabled by default
>unless explicitly enabled.
>
>I believe it would be more user-friendly and consistent to change the
>default behavior of PAX to disabled, requiring users to opt-in via
>`--enable-pax`.
>
>Here’s why:
>
>1. Build Consistency with Other contrib Modules: Most contrib plugins
>are not enabled by default. Changing PAX to follow this pattern aligns
>with user expectations, especially for long-time Greenplum users.
>
>2. Reduce Build Failures: PAX currently requires downloading several
>submodules during the build. For users who install Cloudberry from
>source without prior knowledge of this requirement, this will lead to
>build failures, which can be confusing and frustrating.
>
>3. Optional Nature of the Feature: PAX, while valuable, is not a core
>feature that every user will need. Letting users opt in to building it
>makes the installation process simpler for the general case.
>
>We can also update the build instructions and documentation to clearly
>indicate how to enable PAX if needed (--enable-pax) and how to fetch
>its required submodules.
>
>I’d love to hear your thoughts on this. If there’s a consensus, that
>would be better to make this change before our release 2.0.
>
>Best,
>Dianjin Wang
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscr...@cloudberry.apache.org
>For additional commands, e-mail: dev-h...@cloudberry.apache.org

Reply via email to