-
Notifications
You must be signed in to change notification settings - Fork 40
Support AlloyDB #3029
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
base: master
Are you sure you want to change the base?
Support AlloyDB #3029
Conversation
env: | ||
POSTGRES_USER: postgres | ||
POSTGRES_PASSWORD: postgres | ||
POSTGRES_INITDB_ARGS: "--icu-locale=en-US-u-va-posix" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sets the database collation to match ScalarDB string ordering.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for AlloyDB versions 15 and 16, a PostgreSQL-compliant database service from Google Cloud Platform. The changes enable connection to AlloyDB using the PostgreSQL JDBC driver and add CI testing using AlloyDB Omni.
- Added dependency for Google Cloud AlloyDB JDBC connector
- Added CI workflows for AlloyDB 15 and 16 integration testing
- Configured AlloyDB Omni containers with required icu-locale settings
Reviewed Changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
core/build.gradle | Adds AlloyDB JDBC connector dependency for GCP connectivity |
.github/workflows/ci.yaml | Adds integration test workflows for AlloyDB 15 and 16 using Omni containers |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thank you!
@Torch3333 Just a confirmation. This configuration and the locale issue will be documented later? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left a comment. Other than that, LGTM! Thank you!
- 5432:5432 | ||
|
||
strategy: | ||
fail-fast: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please add fail-fast: false
to the integration tests for the other databases as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 👍
I left a comment about documentation, but this PR itself looks good!
Description
This adds support for AlloyDB versions 15 and 16, a fully PostgreSQL-compliant database. Connection to AlloyDB is done through the PostgreSQL JDBC driver.
A standalone version of AlloyDB called Omni is used to run the CI.
By default, AlloyDB and Omni use a database collation that is not compatible with ScalarDB. The default collation causes ScalarDB and AlloyDB to yield different results in string comparisons, which can lead to fundamental issues. Therefore, users must ensure that the AlloyDB database utilizes the icu-locale named
en-US-u-va-posix
.A sample configuration to connect to local AlloyDB Omni is identical to PostgreSQL
A sample configuration to connect to AlloyDB on GCP through a public IP using the Java connector:
Related issues and/or PRs
N/A
Changes made
Checklist
Additional notes (optional)
N/A
Release notes
AlloyDB versions 15 and 16 are now supported as underlying storage by using the PostgreSQL JDBC driver.