Skip to content

go: gcctx,dsess: Move GCSafepointController into an independent package. Make dsess.AutoIncrementTracker background database access participate in GC lifecycle callbacks.#9021

Merged
reltuk merged 5 commits intomainfrom
aaron/gcctx-autoincrement-tracker-fix
Mar 24, 2025

Conversation

@reltuk
Copy link
Copy Markdown
Contributor

@reltuk reltuk commented Mar 22, 2025

No description provided.

reltuk added 3 commits March 22, 2025 10:31
…ery out of dsess and into its own, sql-agnostic package.
…e correctly enbapsulates the async load of the autoincrement state.
@reltuk reltuk requested a review from zachmu March 22, 2025 17:32
@coffeegoddd
Copy link
Copy Markdown
Contributor

@reltuk DOLT

comparing_percentages
100.000000 to 100.000000
version result total
29cf98a ok 5937457
version total_tests
29cf98a 5937457
correctness_percentage
100.0

Copy link
Copy Markdown
Member

@zachmu zachmu left a comment

Choose a reason for hiding this comment

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

LGTM, could be worse!

sessions map[GCRootsProvider]*GCSafepointSessionState
}

type GCRootsProvider interface {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Probably needs a doc for the type and its method

@@ -450,10 +470,8 @@ func (a *AutoIncrementTracker) waitForInit() error {
}

func (a *AutoIncrementTracker) runInitWithRootsAsync(ctx context.Context, roots ...doltdb.Rootish) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You have changed the semantics of this method to no longer be async. You've added asyncness back in the one use I see in the diff below, but a) change the name, and b) if there are other uses that expect async behavior, they need to be changed as well

@coffeegoddd
Copy link
Copy Markdown
Contributor

@reltuk DOLT

comparing_percentages
100.000000 to 100.000000
version result total
21c2dee ok 5937457
version total_tests
21c2dee 5937457
correctness_percentage
100.0

@reltuk reltuk merged commit f900d82 into main Mar 24, 2025
21 checks passed
@github-actions
Copy link
Copy Markdown

@coffeegoddd DOLT

test_name detail row_cnt sorted mysql_time sql_mult cli_mult
batching LOAD DATA 10000 1 0.07 1.14
batching batch sql 10000 1 0.09 1.33
batching by line sql 10000 1 0.08 1.5
blob 1 blob 200000 1 0.87 4.01 4.72
blob 2 blobs 200000 1 0.86 4.48 4.88
blob no blob 200000 1 0.93 2.38 2.74
col type datetime 200000 1 0.82 2.49 2.71
col type varchar 200000 1 0.68 3.43 3.84
config width 2 cols 200000 1 0.81 2.47 2.81
config width 32 cols 200000 1 1.86 2.04 2.78
config width 8 cols 200000 1 0.99 2.36 2.66
pk type float 200000 1 2.32 0.88 1.04
pk type int 200000 1 0.84 2.39 2.73
pk type varchar 200000 1 1.51 1.73 2.11
row count 1.6mm 1600000 1 5.83 2.91 2.84
row count 400k 400000 1 1.54 2.69 2.77
row count 800k 800000 1 2.85 2.95 2.95
secondary index four index 200000 1 3.56 1.43 1.3
secondary index no secondary 200000 1 0.95 2.33 2.69
secondary index one index 200000 1 1.18 2.36 2.44
secondary index two index 200000 1 2.03 1.74 1.83
sorting shuffled 1mm 1000000 0 5.02 2.86 2.71
sorting sorted 1mm 1000000 1 4.9 2.94 2.78

@github-actions
Copy link
Copy Markdown

@coffeegoddd DOLT

name detail mean_mult
dolt_blame_basic system table 1.19
dolt_blame_commit_filter system table 2.92
dolt_commit_ancestors_commit_filter system table 0.63
dolt_commits_commit_filter system table 1.11
dolt_diff_log_join_from_commit system table 2.88
dolt_diff_log_join_to_commit system table 2.81
dolt_diff_table_from_commit_filter system table 1.16
dolt_diff_table_to_commit_filter system table 1.22
dolt_diffs_commit_filter system table 1.03
dolt_history_commit_filter system table 1.44
dolt_log_commit_filter system table 1.16

@github-actions
Copy link
Copy Markdown

@coffeegoddd DOLT

name add_cnt delete_cnt update_cnt latency
adds_only 60000 0 0 1.14
adds_updates_deletes 60000 60000 60000 4.68
deletes_only 0 60000 0 2.61
updates_only 0 0 60000 3.07

@tbantle22 tbantle22 deleted the aaron/gcctx-autoincrement-tracker-fix branch May 28, 2025 21:38
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