Skip to content

Conversation

@kbendick
Copy link
Contributor

@kbendick kbendick commented Nov 1, 2021

This PR is to get the following two PRs, slated for release in 0.12.1, to be able to merge.

Neither of them cherry-pick cleanly, though I do know the set of PRs that would be needed to do so (as mentioned in another PR).

** Merge first - After a decision is made about #3264

aokolnychyi and others added 3 commits October 31, 2021 17:04
…e#3071)

This change optimizes our check for referenced data files in BaseRowDelta by pushing down the conflict detection filter. Previously, we would open manifests even though they belonged to partitions out of our interest.
@github-actions github-actions bot added the spark label Nov 1, 2021
@kbendick kbendick marked this pull request as ready for review November 1, 2021 18:13
@kbendick kbendick changed the title [WIP] 0.12.1 Cherry-Picks - Initial Two Needing Some Clean Up 0.12.1 Cherry-Picks - Second round (initial PRs that were skipped) Nov 1, 2021
@kbendick
Copy link
Contributor Author

kbendick commented Nov 1, 2021

This should be included before #3428.

This also includes, but doesn't need #3264, just as #3428 does. I added it to try to make the test suite run faster yesterday as it was really slow (maybe just noisy neighbors on the runners). Can remove on rebase.

Lastly, this includes #3071, which wasn't marked for inclusion but made the whole process much simpler. If we don't want it, I can relatively easily remove it.

@kbendick kbendick changed the title 0.12.1 Cherry-Picks - Second round (initial PRs that were skipped) 0.12.1 Cherry-Picks: Part 2 Nov 1, 2021
Comment on lines +111 to 119
this.validateNewDataFiles = true;
failMissingDeletePaths();
return this;
}

@Override
public OverwriteFiles validateNoConflictingDeletes() {
this.validateNewDeleteFiles = true;
failMissingDeletePaths();
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The fact that both of these have failMissingDeletePaths makes me think something happened with the cherry-picks. Investigating further.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually, this is the way both of these functions look in master - Is this intentional?:

public OverwriteFiles validateNoConflictingData() {
this.validateNewDataFiles = true;
failMissingDeletePaths();
return this;
}
@Override
public OverwriteFiles validateNoConflictingDeletes() {
this.validateNewDeleteFiles = true;
failMissingDeletePaths();
return this;
}

Wondering if this is correct.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Nevermind. This looks correct. Here's the actual function called:

protected void failMissingDeletePaths() {
filterManager.failMissingDeletePaths();
deleteFilterManager.failMissingDeletePaths();
}

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, this is intentional. This was to preserve the old behavior.

@rdblue rdblue merged commit 85d9cda into apache:0.12.x Nov 1, 2021
@rdblue
Copy link
Contributor

rdblue commented Nov 1, 2021

Looks great! I merged these into 0.12.x. Thanks, @kbendick!

@kbendick kbendick deleted the 0.12.1-earlier-unclean-cherry-picks branch November 1, 2021 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants