Skip to content

Conversation

@manojpec
Copy link
Contributor

@manojpec manojpec commented Nov 27, 2021

What is the purpose of the pull request

  • Today table upgrade need is detected by the first write client after upgrade
    and if there is write concurrency mode configured it grabs the transaction
    lock to protect the table upgrade from other concurrent writers. However, the
    follow on metadata table creation and the initial bootstrapping also needs
    similar global protection to avoid race in inflight commits and the metadata
    table bootstrapping proces. Made the table upgrade and the follow-on metadata
    table creation and there by the initial bootstrapping process under the
    table level lock to avoid potential race with concurrent writers and other
    async table services.

NOTE: This is a DUP of #4124, to help avoid rebase/merge conflicts

Verify this pull request

(Please pick either of the following options)

This pull request is a trivial rework / code cleanup without any test coverage.

(or)

This pull request is already covered by existing tests, such as (please describe tests).

(or)

This change added tests and can be verified as follows:

(example:)

  • Added integration tests for end-to-end.
  • Added HoodieClientWriteTest to verify the change.
  • Manually verified the change by running a job locally.

Committer checklist

  • Has a corresponding JIRA in PR title & commit

  • Commit message is descriptive of the change

  • CI is green

  • Necessary doc changes done or have another open PR

  • For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

… table lock

 - Today table upgrade need is detected by the first write client after upgrade
   and if there is write concurrency mode configured it grabs the transaction
   lock to protect the table upgrade from other concurrent writers. However, the
   follow on metadata table creation and the initial bootstrapping also needs
   similar global protection to avoid race in inflight commits and the metadata
   table bootstrapping proces. Made the table upgrade and the follow-on metadata
   table creation and there by the initial bootstrapping process under the
   table level lock to avoid potential race with concurrent writers and other
   async table services.
@manojpec manojpec force-pushed the fix/HUDI-2862-metadata-table-bootstrap-under-table-lock-2 branch from 84a405a to 2a59c48 Compare November 27, 2021 00:52
@manojpec manojpec changed the title [HUDI-2862] Table upgrade and metadata table bootstrap under the table lock [HUDI-2862] Table upgrade and metadata table bootstrap under the table lock (replaces #4124) Nov 27, 2021
@nsivabalan
Copy link
Contributor

@hudi-bot azure run

1 similar comment
@nsivabalan
Copy link
Contributor

@hudi-bot azure run

@hudi-bot
Copy link
Collaborator

CI report:

Bot commands @hudi-bot supports the following commands:
  • @hudi-bot run azure re-run the last Azure build

@manojpec
Copy link
Contributor Author

This change is now pulled into #4114. Closing this.

@manojpec manojpec closed this Nov 27, 2021
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