Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolves #1636: Increase FDB Java version to FDB 7.1 #1641

Merged
merged 3 commits into from May 4, 2022

Conversation

alecgrieser
Copy link
Contributor

@alecgrieser alecgrieser commented May 4, 2022

This increases the FDB Java dependency to FDB 7.1. This keeps the API version at 630 so that the library can still be used to connect to FDB 6.3 and FDB 7.0 clusters, though it would now require using a 7.1 FDB C client as the primary client with the other clients as external clients.

This will allow for additional features to be built on top of FDB 7.1, though we probably want to also complete #1639 so that we can responsibly guard features reliant on 7.1 in environments where the cluster may still be running older FDB server versions.

This also updates the proto3 version to 3.20.1 and along with a few other dependencies. It leaves the guava version at 30.1-jre instead of updating it to 31.1-jre because that causes spotbugs violations regarding nullability problems. I think those errors are because of a possible change in the way Guava handles nullability annotations, but it seems like something we should fix later.

This resolves #1636, and it resolves #1640.

@foundationdb-ci
Copy link
Contributor

AWS CodeBuild CI Report for Linux CentOS 7

  • CodeBuild project: fdb-record-layer-pr-proto3
  • Commit ID: 17c0c1a
  • Result: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

@foundationdb-ci
Copy link
Contributor

AWS CodeBuild CI Report for Linux CentOS 7

  • CodeBuild project: fdb-record-layer-pr-proto2
  • Commit ID: 17c0c1a
  • Result: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

@alecgrieser alecgrieser requested a review from hatyo May 4, 2022 01:38
@alecgrieser alecgrieser marked this pull request as draft May 4, 2022 01:41
Copy link
Contributor

@hatyo hatyo left a comment

Choose a reason for hiding this comment

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

LGTM

@alecgrieser
Copy link
Contributor Author

Rebase addresses merge conflicts (which were in docs/ReleaseNotes.md)

@foundationdb-ci
Copy link
Contributor

AWS CodeBuild CI Report for Linux CentOS 7

  • CodeBuild project: fdb-record-layer-pr-proto2
  • Commit ID: 8af1263
  • Result: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

@foundationdb-ci
Copy link
Contributor

AWS CodeBuild CI Report for Linux CentOS 7

  • CodeBuild project: fdb-record-layer-pr-proto3
  • Commit ID: 8af1263
  • Result: FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest sonarqube -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Logs (available for 30 days)

This increases the FDB Java dependency to FDB 7.1. This keeps the API version at 630 so that the library can still be used to connect to FDB 6.3 and FDB 7.0 clusters, though it would now require using a 7.1 FDB C client as the primary client with the other clients as external clients.

This will allow for additional features to be built on top of FDB 7.1, though we probably want to also complete FoundationDB#1639 so that we can responsibly guard features reliant on 7.1 in environments where the cluster may still be running older FDB server versions.
This updates the proto3 version to 3.20.1 and updates a few other dependencies as well. It leaves the guava version at 30.1-jre instead of updating it to 31.1-jre because that causes spotbugs violations regarding nullability problems. I think those errors are because of a possible change in the way Guava handles nullability annotations, but it seems like something we should fix later.
@alecgrieser
Copy link
Contributor Author

Rebase to resolve build failures from #1643

@foundationdb-ci
Copy link
Contributor

AWS CodeBuild CI Report for Linux CentOS 7

  • CodeBuild project: fdb-record-layer-pr-proto2
  • Commit ID: 4587f11
  • Result: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

@foundationdb-ci
Copy link
Contributor

AWS CodeBuild CI Report for Linux CentOS 7

  • CodeBuild project: fdb-record-layer-pr-proto3
  • Commit ID: 4587f11
  • Result: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

@alecgrieser alecgrieser marked this pull request as ready for review May 4, 2022 21:08
docs/ReleaseNotes.md Outdated Show resolved Hide resolved
return underlying.getMappedRange(begin, end, mapper, limit, reverse, mode);
}

@Override
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we know for certain that no counters should be incremented for these calls? (for getMappedRange work has been done on the index prefetch branch, but I am not aware of similar work for the getRangeSplitPoints)

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'm...not sure, actually. It looks like that method probably uses the byte sample to get an estimate for relatively equally sized key ranges. My instinct was to treat these like getEstimatedRangeSizeBytes as of a similar type, and leave it uninstrumented. That being said, I'm not opposed to adding instrumentation here, either in this PR or in a follow up.

Copy link
Contributor

Choose a reason for hiding this comment

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

Sure. We can leave uninstrumented and change in followup PR.

MMcM
MMcM previously approved these changes May 4, 2022
@foundationdb-ci
Copy link
Contributor

AWS CodeBuild CI Report for Linux CentOS 7

  • CodeBuild project: fdb-record-layer-pr-proto3
  • Commit ID: 96b13a7
  • Result: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

@foundationdb-ci
Copy link
Contributor

AWS CodeBuild CI Report for Linux CentOS 7

  • CodeBuild project: fdb-record-layer-pr-proto2
  • Commit ID: 96b13a7
  • Result: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

ohadzeliger
ohadzeliger previously approved these changes May 4, 2022
@alecgrieser
Copy link
Contributor Author

Recommitting identical last commit to re-trigger sonar analysis 🥲

@sonarcloud
Copy link

sonarcloud bot commented May 4, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

0.0% 0.0% Coverage
0.0% 0.0% Duplication

@foundationdb-ci
Copy link
Contributor

AWS CodeBuild CI Report for Linux CentOS 7

  • CodeBuild project: fdb-record-layer-pr-proto2
  • Commit ID: e5536c7
  • Result: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

@foundationdb-ci
Copy link
Contributor

AWS CodeBuild CI Report for Linux CentOS 7

  • CodeBuild project: fdb-record-layer-pr-proto3
  • Commit ID: e5536c7
  • Result: SUCCEEDED
  • Error: N/A
  • Build Logs (available for 30 days)

@MMcM MMcM merged commit 73395d2 into FoundationDB:main May 4, 2022
@alecgrieser alecgrieser deleted the api-version-7.1 branch January 16, 2024 11:56
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.

Dependency bump for 3.2 release Increase FDB Java version to FDB 7.1
5 participants