-
Notifications
You must be signed in to change notification settings - Fork 130
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
[BUG] Potential eclipselink schema upgrade issue #450
Comments
I'm able to repro this using the steps provided. I believe that the simplest fix is to enable automatic schema migrations in eclipselink by setting:
By adding this between steps (4) and (5) in your instructions, I am able to get the tests in step (5) to mostly pass -- I've noted this down this on the PR that caused this, as well. |
For the time being, shall we revert the offending PR? I am also happy to fix-forward with the config suggested above. In any case, I think this is a good indicator that cross-version tests would be a good idea. |
Honestly, I don't think that reverting is an option. Cross-version tests (or backwards/forwards/migration compatibility tests) are a good idea! Re cross-version tests (backwards/forwards compatibility + rolling upgrades), we do have something like that in Nessie, where we run REST services from older releases and test the newest client (on However, testing relevant things (persistence is one) in isolation should be doable - as dedicated / isolated tests. |
I see. Yeah, I think it will be complicated to set up true cross-version tests. However since we do have a persistence layer I think it will be important to ensure that upgrades/downgrades can work with various states in the persistence layer. Other stuff, like cross-version notification compatibility, could come later. Filed this PR to fix-forward: #456 I want to look more closely at the one test that's failing; I think that's a legitimate issue with #438. Perhaps the ID sequence does not get preserved when the schema is automatically upgraded. |
Why is this not an option? |
cc @jbonofre -- with the release coming up, how do you want to approach this? Currently, anyone who was using EclipseLink-backed Polaris prior to #438 (who has not configured EclipseLink for automatic schema migrations) will not be able to upgrade to 0.9.0 without a manual schema migration. On the other hand, if we revert, anyone who created a metastore between #438 merging and being reverted will be stuck. |
If they haven't set up schema migration, that's expected right? Couldn't we just mention this fact in the release notes and keep #438 in 0.9.0? |
@adutra that would be reasonable, too. I guess the question is whether we want to force users to do schema migrations (maybe only across minor/major versions?) or whether we want this to be something Polaris itself handles. In either case I think it should be an explicit decision. If we want users to do this manually, we should not merge #456 |
Is this a possible security vulnerability?
Describe the bug
The change #438 changes the database schema. However, there seems to be an issue that the schema is not properly updated - at least not via
PolarisEclipseLinkMetaStoreManagerTest
, see repro steps below./cc @eric-maynard
To Reproduce
git checkout e232b000760da335721e9112f9d52fe041289613
(commit before Do not persist plaintext secrets in the metastore #438)rm -rf extension/persistence/eclipselink/build
(just get a clean state)./gradlew :polaris-eclipselink:test --rerun
(passes fine)git checkout ab095cfab84e5b4e694c72011f4166589eb25f38
(Do not persist plaintext secrets in the metastore #438)./gradlew :polaris-eclipselink:test --rerun
(fails)rm -rf extension/persistence/eclipselink/build/test_data
(database state)./gradlew :polaris-eclipselink:test --rerun
(passes fine)Actual Behavior
No response
Expected Behavior
No response
Additional context
No response
System information
No response
The text was updated successfully, but these errors were encountered: