Skip to content

Commit 21079e5

Browse files
RajivTSmeta-codesync[bot]
authored andcommitted
Add SqlBookmarks facet to all Repo traits and containers
Summary: Add `SqlBookmarksRef` to Repo trait aliases and `SqlBookmarks` facet to all concrete Repo containers throughout the Mononoke codebase. This makes `repo.sql_bookmarks()` available everywhere, which is needed for pessimistic pushrebase to call `SqlBookmarks::start_locked_transaction()`. Updated traits: - `bookmarks_movement::Repo` - `cross_repo_sync::Repo` Updated containers: - `bookmarks_movement::TestRepo` (git_mapping.rs) - `cross_repo_sync::ConcreteRepo` + `TestRepo` - `backsyncer::Repo` - `land_service::Repo` - `repo_client::RepoClientRepo` - `mononoke_api::Repo` - `tools/admin::cross_repo::Repo` - `tools/repo_import::Repo` Part of the pessimistic pushrebase locking project — see design doc at `docs/plans/2026-04-13-pessimistic-pushrebase-locking-design.md`. Reviewed By: YousefSalama Differential Revision: D100809456 fbshipit-source-id: b151ad4639412b94e08ac1712ad4a7d03db0961a
1 parent ec6bb58 commit 21079e5

26 files changed

Lines changed: 53 additions & 0 deletions

File tree

eden/mononoke/features/commit_rewriting/backsyncer/BUCK

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ rust_library(
5959
"//eden/mononoke/repo_attributes/bonsai_globalrev_mapping:bonsai_globalrev_mapping",
6060
"//eden/mononoke/repo_attributes/bonsai_hg_mapping:bonsai_hg_mapping",
6161
"//eden/mononoke/repo_attributes/bookmarks:bookmarks",
62+
"//eden/mononoke/repo_attributes/bookmarks/dbbookmarks:dbbookmarks",
6263
"//eden/mononoke/repo_attributes/commit_graph/commit_graph:commit_graph",
6364
"//eden/mononoke/repo_attributes/filenodes:filenodes",
6465
"//eden/mononoke/repo_attributes/filestore:filestore",

eden/mononoke/features/commit_rewriting/backsyncer/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ cloned = { version = "0.1.0", git = "https://github.com/facebookexperimental/rus
1818
commit_graph = { version = "0.1.0", path = "../../../repo_attributes/commit_graph/commit_graph" }
1919
context = { version = "0.1.0", path = "../../../servers/slapi/slapi_server/context" }
2020
cross_repo_sync = { version = "0.1.0", path = "../../cross_repo_sync" }
21+
dbbookmarks = { version = "0.1.0", path = "../../../repo_attributes/bookmarks/dbbookmarks" }
2122
facet = { version = "0.1.0", git = "https://github.com/facebookexperimental/rust-shed.git", branch = "main" }
2223
filenodes = { version = "0.1.0", path = "../../../repo_attributes/filenodes" }
2324
filestore = { version = "0.1.0", path = "../../../repo_attributes/filestore" }

eden/mononoke/features/commit_rewriting/backsyncer/src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ use cross_repo_sync::CommitSyncData;
6262
use cross_repo_sync::CommitSyncOutcome;
6363
use cross_repo_sync::find_toposorted_unsynced_ancestors;
6464
use cross_repo_sync::sync_commit;
65+
use dbbookmarks::SqlBookmarks;
6566
use filenodes::Filenodes;
6667
use filestore::FilestoreConfig;
6768
use futures::Future;
@@ -117,6 +118,7 @@ pub struct Repo(
117118
RepoCrossRepo,
118119
RepoBookmarkAttrs,
119120
dyn Bookmarks,
121+
SqlBookmarks,
120122
dyn BookmarkUpdateLog,
121123
FilestoreConfig,
122124
dyn MutableCounters,

eden/mononoke/features/cross_repo_sync/BUCK

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ rust_library(
7474
"//eden/mononoke/repo_attributes/bonsai_globalrev_mapping:bonsai_globalrev_mapping",
7575
"//eden/mononoke/repo_attributes/bonsai_hg_mapping:bonsai_hg_mapping",
7676
"//eden/mononoke/repo_attributes/bookmarks:bookmarks",
77+
"//eden/mononoke/repo_attributes/bookmarks/dbbookmarks:dbbookmarks",
7778
"//eden/mononoke/repo_attributes/commit_graph/commit_graph:commit_graph",
7879
"//eden/mononoke/repo_attributes/filenodes:filenodes",
7980
"//eden/mononoke/repo_attributes/filestore:filestore",

eden/mononoke/features/cross_repo_sync/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ commit_graph = { version = "0.1.0", path = "../../repo_attributes/commit_graph/c
2626
commit_transformation = { version = "0.1.0", path = "../commit_transformation/commit_transformation" }
2727
content_manifest_derivation = { version = "0.1.0", path = "../../derived_data/content_manifest_derivation" }
2828
context = { version = "0.1.0", path = "../../servers/slapi/slapi_server/context" }
29+
dbbookmarks = { version = "0.1.0", path = "../../repo_attributes/bookmarks/dbbookmarks" }
2930
derivation_queue_thrift = { version = "0.1.0", path = "../../repo_attributes/repo_derivation_queues/if" }
3031
either = "1.5"
3132
environment = { version = "0.1.0", path = "../../cmdlib/environment" }

eden/mononoke/features/cross_repo_sync/src/test_utils.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ use commit_transformation::git_submodules::SubmoduleExpansionData;
3131
use commit_transformation::rewrite_commit;
3232
use commit_transformation::upload_commits;
3333
use context::CoreContext;
34+
use dbbookmarks::SqlBookmarks;
3435
use filenodes::Filenodes;
3536
use filestore::FilestoreConfig;
3637
use git_source_of_truth::GitSourceOfTruthConfig;
@@ -81,6 +82,9 @@ pub struct TestRepo {
8182
#[facet]
8283
bookmarks: dyn Bookmarks,
8384

85+
#[facet]
86+
sql_bookmarks: SqlBookmarks,
87+
8488
#[facet]
8589
bookmark_update_log: dyn BookmarkUpdateLog,
8690

eden/mononoke/features/cross_repo_sync/src/types.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ use commit_graph::CommitGraphArc;
3232
use commit_graph::CommitGraphRef;
3333
use commit_graph::CommitGraphWriter;
3434
use commit_graph::CommitGraphWriterRef;
35+
use dbbookmarks::SqlBookmarks;
36+
use dbbookmarks::SqlBookmarksRef;
3537
use filenodes::Filenodes;
3638
use filenodes::FilenodesArc;
3739
use filenodes::FilenodesRef;
@@ -177,6 +179,7 @@ pub enum PushrebaseRewriteDates {
177179

178180
pub trait Repo = BookmarksArc
179181
+ BookmarksRef
182+
+ SqlBookmarksRef
180183
+ BookmarkUpdateLogArc
181184
+ BookmarkUpdateLogRef
182185
+ RepoBlobstoreArc
@@ -214,6 +217,9 @@ pub struct ConcreteRepo {
214217
#[facet]
215218
bookmarks: dyn Bookmarks,
216219

220+
#[facet]
221+
sql_bookmarks: SqlBookmarks,
222+
217223
#[facet]
218224
bookmark_update_log: dyn BookmarkUpdateLog,
219225

eden/mononoke/mononoke_api/BUCK

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ rust_library(
110110
"//eden/mononoke/repo_attributes/bookmarks:bookmarks",
111111
"//eden/mononoke/repo_attributes/bookmarks/bookmarks_cache:bookmarks_cache",
112112
"//eden/mononoke/repo_attributes/bookmarks/bookmarks_movement:bookmarks_movement",
113+
"//eden/mononoke/repo_attributes/bookmarks/dbbookmarks:dbbookmarks",
113114
"//eden/mononoke/repo_attributes/commit_graph/commit_graph:commit_graph",
114115
"//eden/mononoke/repo_attributes/commit_graph/sql_commit_graph_storage:sql_commit_graph_storage",
115116
"//eden/mononoke/repo_attributes/commit_rate_limit:commit_rate_limit_config",

eden/mononoke/mononoke_api/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ commit_rate_limit_config = { version = "0.1.0", path = "../repo_attributes/commi
4040
content_manifest_derivation = { version = "0.1.0", path = "../derived_data/content_manifest_derivation" }
4141
context = { version = "0.1.0", path = "../servers/slapi/slapi_server/context" }
4242
cross_repo_sync = { version = "0.1.0", path = "../features/cross_repo_sync" }
43+
dbbookmarks = { version = "0.1.0", path = "../repo_attributes/bookmarks/dbbookmarks" }
4344
deleted_manifest = { version = "0.1.0", path = "../derived_data/deleted_manifest" }
4445
derivation_queue_thrift = { version = "0.1.0", path = "../repo_attributes/repo_derivation_queues/if" }
4546
derivative = "2.2"

eden/mononoke/mononoke_api/src/repo.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ use cross_repo_sync::get_all_submodule_deps_from_repo_pair;
7474
use cross_repo_sync::get_small_and_large_repos;
7575
use cross_repo_sync::sync_commit;
7676
use dag_types::Location;
77+
use dbbookmarks::SqlBookmarks;
7778
use derivation_queue_thrift::DerivationPriority;
7879
use derived_data_manager::BonsaiDerivable;
7980
use derived_data_manager::DerivableType;
@@ -263,6 +264,9 @@ pub struct Repo {
263264
#[facet]
264265
pub bookmarks: dyn Bookmarks,
265266

267+
#[facet]
268+
pub sql_bookmarks: SqlBookmarks,
269+
266270
#[facet]
267271
pub phases: dyn Phases,
268272

0 commit comments

Comments
 (0)