Skip to content

Conversation

@singhpk234
Copy link
Contributor

About the change

Some users while upgrading from Polaris 1.0 -> 1.1 recently reported issues because of missing schema table, this would be happening because the schema version table is not created in v1 script as the course of that JDBCBasePersistenceImpl is failing and hence the whole metastore

Thank @flyrain for the deepdive : https://apache-polaris.slack.com/archives/C084XDM50CB/p1758368000877189

while there is already works on fixing this, while discussing with @flyrain they suggested having something in the release note would be really helpful which i agree, hence putting a docs pr.

flyrain
flyrain previously approved these changes Sep 23, 2025
Copy link
Contributor

@flyrain flyrain left a comment

Choose a reason for hiding this comment

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

Thanks for working on it, @singhpk234 !

@github-project-automation github-project-automation bot moved this from PRs In Progress to Ready to merge in Basic Kanban Board Sep 23, 2025
@flyrain flyrain closed this Sep 23, 2025
@github-project-automation github-project-automation bot moved this from Ready to merge to Done in Basic Kanban Board Sep 23, 2025
@flyrain flyrain reopened this Sep 23, 2025
@github-project-automation github-project-automation bot moved this from Done to PRs In Progress in Basic Kanban Board Sep 23, 2025
@github-project-automation github-project-automation bot moved this from PRs In Progress to Ready to merge in Basic Kanban Board Sep 23, 2025
Copy link
Contributor

@dimas-b dimas-b left a comment

Choose a reason for hiding this comment

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

Nice catch, @singhpk234 !

- **Breaking changes**
- Helm chart: the default value of the `authentication.tokenBroker.secret.symmetricKey.secretKey` property has changed
from `symmetric.pem` to `symmetric.key`.
- For migrations from 1.0.x to 1.1.x, users using JDBC persistence and wanting to continue using v1 schema, must ensure that they,
Copy link
Contributor

Choose a reason for hiding this comment

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

What's the alternative to continue using v1 schema?

Copy link
Contributor

Choose a reason for hiding this comment

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

One option is to migrate to v2 schema, which requires more than just the version table. We will need to write a tool for that per offline discussion with @singhpk234

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Apologies, I missed responding here:
I think there a couple of scenarios, for example

  • if we simply move to v2 from v1 by adding the column in the entity table we will have to backfill the location without schema column
  • if we started with v2 schema from day 1 we should be good or any realm created with v2 column starting should good too, but in the application layer for the optimization to correctly work there is no way to check this

Bottom line being my understanding is the optimized siblling check for migrated schema version might not be reliable, i was wondering if we should capture some additional metadata in a sense that is_migrated ? default value 0 but incase the schema table exists set this value to 1, now when we do the optimized sibbling check we will just say this is not applicable if the metastore is migrated across version, though this too has shortcommings to be honest for example v2 -> v3 migration should still work, would really appreciate your thoughts

@flyrain flyrain merged commit 7409939 into apache:main Sep 24, 2025
27 of 28 checks passed
@github-project-automation github-project-automation bot moved this from Ready to merge to Done in Basic Kanban Board Sep 24, 2025
@flyrain
Copy link
Contributor

flyrain commented Sep 24, 2025

Thanks a lot for adding this, @singhpk234 ! Thanks @dimas-b for the review.

snazy added a commit to snazy/polaris that referenced this pull request Nov 20, 2025
* Minio testcontainer: allow setting a specific region (apache#2664)

... to remove the need to derive it via the AWS-SDK default mechanism requiring a system property or environment variable.

* fix(deps): update dependency org.apache.commons:commons-lang3 to v3.19.0 (apache#2665)

* Doc: Add breaking changes section for 1.1 release (apache#2654)

* fix(deps): update dependency com.h2database:h2 to v2.4.240 (apache#2668)

* fix(auth): let ServiceFailureException bubble up for proper HTTP status mapping during auth (apache#2670)

* fix(deps): update immutables to v2.11.4 (apache#2679)

* fix(deps): update dependency com.diffplug.spotless:spotless-plugin-gradle to v8 (apache#2669)

* chore(deps): update quay.io/keycloak/keycloak docker tag to v26.3.5 (apache#2681)

* Last merged commit 2c0bf58

---------

Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: Prashant Singh <35593236+singhpk234@users.noreply.github.com>
Co-authored-by: Sushant Raikar <sushant.raikar+OSS@snowflake.com>
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.

3 participants