Skip to content

Conversation

@dlmarion
Copy link
Contributor

Closes #3201

@dlmarion dlmarion requested a review from ctubbsii February 24, 2023 13:25
@dlmarion dlmarion self-assigned this Feb 24, 2023
@dlmarion
Copy link
Contributor Author

I think this might be syntactically correct as it did not run the ZooKeeper compatibility check for this PR. Would need to check that a PR targeting 2.1 or 1.10 does run the check after this PR is merged. Waiting to merge this until I get confirmation that this is ok to do for 3.0.

Copy link
Member

@ctubbsii ctubbsii left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure what's wrong with the current mechanism. I don't know why we would exclude the main branch. If the intent is to no longer support Hadoop 3.0.x and ZK 3.5.x for Accumulo 3.0 and later, that's fine, but a much simpler solution is to simply delete that line from the matrix, so we don't do any more compatibility testing for these for Accumulo 3.0 and later (other branches wouldn't be affected, because the change would only occur to the workflow definitions in the main branch). That would effectively make whatever we have in our POM the minimum supported versions for 3.0 and later (because that's all we'd be testing).

However, I don't see a compelling reason to do this. People upgrade Hadoop and ZooKeeper independently of Accumulo, as these are the only two dependencies that we don't actually bundle with our binary distribution tarball. This workflow matrix line merely checks that some earlier versions users may be using aren't obviously broken.

I think it's fine if we leave Hadoop 3.0 and ZK 3.5 the minimum, and continue checking it for the main branch. Unless there's some reason we want to drop them... perhaps because of some newer feature we want to leverage that isn't available in these older versions? If so, a known incompatibility like that would be a good reason to bump the minimum that we're testing with.

env:
MAVEN_OPTS: -Djansi.force=true
- name: Build with Maven (ZooKeeper compatibility build)
if: ${{ github.base_ref != 'main' }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why exclude main?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reason for this change is that #3200 uses newer ZooKeeper API objects, so this check fails. #3200 isn't merged, but if it is, then this is an issue.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, that's a compelling reason to bump the minimum. What's the minimum for it to work? Can we just modify the one existing line, rather than do the changes proposed in this PR that jumps through hoops to check for main?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll look.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to this, it looks like 3.6.0 might be the minimum.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will modify the GitHub action file in my branch and see if that resolves it

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If that's the case, then changing it to 3.6.4 (the latest 3.6 bugfix) would probably be appropriate.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3.6.1 was the minimum. I updated it in my PR, I'm going to close this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3.6.1 is the minimum from an API perspective. Do you think the API changed between 3.6.1 and 3.6.4 that would cause an issue, but still works with 3.8.1?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hope not. That would be uncharacteristically unstable of the ZK team.

Comment on lines +115 to +116
run: mvn -B -V -e -ntp "-Dstyle.color=always" -DskipFormat package -DskipTests -Dhadoop.version=3.0.3 -Dzookeeper.version=3.5.10
env:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This just puts inline what we have previously defined elsewhere. It seems the reason to do this is to exclude the main branch, and not use the normal args, but I'm not sure why we're excluding the main branch.

@dlmarion dlmarion closed this Feb 24, 2023
@ctubbsii
Copy link
Member

Superseded by patch to update to 3.6 in #3200

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GitHub Actions Maven Build - Do we still need ZK 3.5.10 build?

2 participants