materialize icon indicating copy to clipboard operation
materialize copied to clipboard

test: Use shadow catalog in legacy upgrade tests

Open jkosh44 opened this issue 1 year ago • 3 comments

This commit updates the legacy upgrade tests to use the shadow catalog when possible instead of the stash catalog.

Works towards resolving #24218

Motivation

This PR adds a known-desirable feature.

Checklist

  • [X] This PR has adequate test coverage / QA involvement has been duly considered.
  • [X] This PR has an associated up-to-date design doc, is a design doc (template), or is sufficiently small to not require a design.
  • [X] If this PR evolves an existing $T ⇔ Proto$T mapping (possibly in a backwards-incompatible way), then it is tagged with a T-proto label.
  • [X] If this PR will require changes to cloud orchestration or tests, there is a companion cloud PR to account for those changes that is tagged with the release-blocker label (example).
  • [X] This PR includes the following user-facing behavior changes:
    • There are no user-facing behavior changes.

jkosh44 avatar Feb 15 '24 18:02 jkosh44

I'm very confused as to why this is passing and not failing. I would imagine that it would fail until we update the legacy upgrade tests to not skip versions during an upgrade. Any thoughts @MaterializeInc/testing?

jkosh44 avatar Feb 16 '24 21:02 jkosh44

Indeed, strange. This sounds like it should fail:

Testing upgrade from Materialize v0.86.1 to current_source.

def- avatar Feb 16 '24 22:02 def-

Indeed, strange. This sounds like it should fail:

Testing upgrade from Materialize v0.86.1 to current_source.

Ah ok, the check that we don't skip versions was only added in v0.87.0, so it will probably take a release or two for this to start failing.

jkosh44 avatar Feb 17 '24 20:02 jkosh44

@def- Ok, there's finally been enough releases for this to start failing with the expected error. We'll need to update the legacy upgrade tests so that it doesn't skip versions for it to stop failing.

jkosh44 avatar Mar 01 '24 13:03 jkosh44

This is kind of awkward for the legacy upgrade tests. They are supposed to start on a specific version and check that the migrations inbetween work to the current version. But this would now mean that we have to upgrade to each intermediate version, which would make the test very slow at some point. I'm wondering if there is still much value in even keeping the test around then? Maybe we should check what it has that is missing in platform-checks and port those parts over. @nrainer-materialize What do you think?

def- avatar Mar 01 '24 16:03 def-

This is kind of awkward for the legacy upgrade tests. They are supposed to start on a specific version and check that the migrations inbetween work to the current version. But this would now mean that we have to upgrade to each intermediate version, which would make the test very slow at some point. I'm wondering if there is still much value in even keeping the test around then? Maybe we should check what it has that is missing in platform-checks and port those parts over. @nrainer-materialize What do you think?

Well, isn't this the discussion we already had in https://materializeinc.slack.com/archives/C01LKF361MZ/p1708091944440539? I agree that we should avoid testing this behavior twice since we already have UpgradeEntireMzFourVersions.

nrainer-materialize avatar Mar 01 '24 16:03 nrainer-materialize

This is kind of awkward for the legacy upgrade tests. They are supposed to start on a specific version and check that the migrations inbetween work to the current version. But this would now mean that we have to upgrade to each intermediate version, which would make the test very slow at some point. I'm wondering if there is still much value in even keeping the test around then? Maybe we should check what it has that is missing in platform-checks and port those parts over. @nrainer-materialize What do you think?

Well, isn't this the discussion we already had in https://materializeinc.slack.com/archives/C01LKF361MZ/p1708091944440539? I agree that we should avoid testing this behavior twice since we already have UpgradeEntireMzFourVersions.

Do you have any thoughts on the timeline for this? We're going to want to remove the stash catalog fairly soon and this will be a blocker for that.

jkosh44 avatar Mar 06 '24 22:03 jkosh44

Let me try to implement this and push it into this PR when I'm done. Edit: Seems to work: https://buildkite.com/materialize/tests/builds/77841#018e18e3-0b87-4911-a49c-1860815e14d8

def- avatar Mar 07 '24 11:03 def-

Let me try to implement this and push it into this PR when I'm done. Edit: Seems to work: https://buildkite.com/materialize/tests/builds/77841#018e18e3-0b87-4911-a49c-1860815e14d8

Thanks so much! Are you on-board with merging this as is?

jkosh44 avatar Mar 07 '24 14:03 jkosh44

Yes, good to go imo.

def- avatar Mar 07 '24 15:03 def-