Jacques>Based on this, I would suggest we do a small
Jacques>modification around CI on Calcite whereby pre-commit tests do not
include
Jacques>running against Avatica main and instead we have a post-merge CI
job that
Jacques>monitors the status of connecting the two

Suppose PR verification passes.
Suppose I merge the PR.
Then "post-merge CI job fails".
Who resolves the issue?

I'm strongly against moving the burden of such maintenance to committers.
The newly added code should not contain known bugs.

Julian>CI of Calcite master against Avatica master SHOULD pass but not MUST

The issue is that people rarely watch for the status of "allowed failures".
The PR verification either succeeds or fails.
If it succeeds, then you are done.
No one would and no one should open "non-mandatory verifications" each and
every time.

It is like @Disabled tests. Once the test gets ignored, people rarely
revisit it,
even if they promise to heal it in a couple of weeks (see CALCITE-3457).

So the earlier we detect the incompatibility, the easier it is to fix.

Jacques>My high level observations

The survey is biased, so are the outcomes.

There's a question regarding "separate release cycles".
How that question contributes to "should we merge ..."?

Why don't you ask the other questions raised in the thread?

For instance:
* How many Avatica versions should Calcite support?"
* Have you ever used source release artifacts (*.tar.gz) outside of
"release voting"? "never", "Calcite", "Avatica", "other ASF projects"
* Would you prefer voting and testing on Calcite and Avatica separately or
would you prefer to have a single release candidate?
* Is it important to be able to commit Avatica changes while Calcite is
being released?
* Would you prefer having different release processes for Avatica-java and
Calcite, or would you prefer to have a single sequence to release both of
them?
* Is it important to be able to open both Avatica and Calcite in a single
IDE for making changes and running tests? "nice to have", "don't care",
"not important"
* Is it important to be able to file PRs touching Avatica and Calcite at
the same time? "nice to have", "don't care"
* Is it important to have the same CI and build scripts among Avatica and
Calcite?: "same scripts please", "don't care", "different build scripts (or
even build systems) are fine"
* Is aligning test framework code between Avatica and Calcite (e.g. junit,
hamcrest versions) important? "nice to have", "don't care"
* Is it important to have Avatica and Calcite as separate artifacts at
dist.apache.org? "nice to have", "don't care"
* Is it important to be able to separate issue and PR notifications for
Avatica and Calcite?

And so on.

Vladimir

Reply via email to