Skip to content

Commit b2f24f2

Browse files
committed
[#9797] YSQL: Stubs for ysql major version upgrade RPCs
Summary: The pg15-upgrade branch has implementations of 3 RPCs needed for the YSQL major version upgrade: * StartYsqlMajorVersionUpgradeInitdb * IsYsqlMajorVersionUpgradeInitdbDone * RollbackYsqlMajorVersionUpgrade In order to facilitate integration with tools such as YBA, add stubs for these methods to the master branch. Upgrade/Downgrade safety: No issues. New, unimplemented interface. Jira: DB-1591 Test Plan: Jenkins Using a recent pg15-upgrade build, manually run: yb-admin ysql_major_version_upgrade_initdb yb-admin rollback_ysql_major_version_upgrade Verify it shows something like the following errors: Error running ysql_major_version_upgrade_initdb: Not implemented (yb/master/catalog_manager.cc:3281): Unable to run initdb for ysql major version upgrade: Ysql major version upgrade is not supported Error running rollback_ysql_major_version_upgrade: Not implemented (yb/master/catalog_manager.cc:3294): Unable to roll back ysql major version upgrade: Ysql major version upgrade is not supported Note yb-admin doesn't have a command for IsYsqlMajorVersionUpgradeInitdbDone because it implements its own blocking on the pg15-upgrade branch, but the code is similar for the 3 RPCs. Reviewers: hsunder Reviewed By: hsunder Subscribers: vbansal, ybase, yql Differential Revision: https://phorge.dev.yugabyte.com/D36940
1 parent 66890cb commit b2f24f2

File tree

4 files changed

+68
-0
lines changed

4 files changed

+68
-0
lines changed

src/yb/master/catalog_manager.cc

+20
Original file line numberDiff line numberDiff line change
@@ -3274,6 +3274,26 @@ Status CatalogManager::DdlLog(
32743274
return sys_catalog_->FetchDdlLog(resp->mutable_entries());
32753275
}
32763276

3277+
Status CatalogManager::StartYsqlMajorVersionUpgradeInitdb(
3278+
const StartYsqlMajorVersionUpgradeInitdbRequestPB* req,
3279+
StartYsqlMajorVersionUpgradeInitdbResponsePB* resp,
3280+
rpc::RpcContext* rpc, const LeaderEpoch& epoch) {
3281+
return STATUS(NotSupported, "Ysql major version upgrade is not supported");
3282+
}
3283+
3284+
Status CatalogManager::IsYsqlMajorVersionUpgradeInitdbDone(
3285+
const IsYsqlMajorVersionUpgradeInitdbDoneRequestPB* req,
3286+
IsYsqlMajorVersionUpgradeInitdbDoneResponsePB* resp, rpc::RpcContext* rpc) {
3287+
return STATUS(NotSupported, "Ysql major version upgrade is not supported");
3288+
}
3289+
3290+
Status CatalogManager::RollbackYsqlMajorVersionUpgrade(
3291+
const RollbackYsqlMajorVersionUpgradeRequestPB* req,
3292+
RollbackYsqlMajorVersionUpgradeResponsePB* resp,
3293+
rpc::RpcContext* rpc, const LeaderEpoch& epoch) {
3294+
return STATUS(NotSupported, "Ysql major version upgrade is not supported");
3295+
}
3296+
32773297
namespace {
32783298

32793299
Status ValidateCreateTableSchema(const Schema& schema, CreateTableResponsePB* resp) {

src/yb/master/catalog_manager.h

+15
Original file line numberDiff line numberDiff line change
@@ -1098,6 +1098,21 @@ class CatalogManager : public tserver::TabletPeerLookupIf,
10981098
Status DdlLog(
10991099
const DdlLogRequestPB* req, DdlLogResponsePB* resp, rpc::RpcContext* rpc);
11001100

1101+
// Not implemented.
1102+
Status StartYsqlMajorVersionUpgradeInitdb(const StartYsqlMajorVersionUpgradeInitdbRequestPB* req,
1103+
StartYsqlMajorVersionUpgradeInitdbResponsePB* resp,
1104+
rpc::RpcContext* rpc, const LeaderEpoch& epoch);
1105+
1106+
// Not implemented.
1107+
Status IsYsqlMajorVersionUpgradeInitdbDone(
1108+
const IsYsqlMajorVersionUpgradeInitdbDoneRequestPB* req,
1109+
IsYsqlMajorVersionUpgradeInitdbDoneResponsePB* resp, rpc::RpcContext* rpc);
1110+
1111+
// Not implemented.
1112+
Status RollbackYsqlMajorVersionUpgrade(const RollbackYsqlMajorVersionUpgradeRequestPB* req,
1113+
RollbackYsqlMajorVersionUpgradeResponsePB* resp,
1114+
rpc::RpcContext* rpc, const LeaderEpoch& epoch);
1115+
11011116
// Test wrapper around protected DoSplitTablet method.
11021117
Status TEST_SplitTablet(
11031118
const TabletInfoPtr& source_tablet_info,

src/yb/master/master_admin.proto

+30
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,29 @@ message DdlLogResponsePB {
177177
repeated DdlLogEntryPB entries = 2;
178178
}
179179

180+
message StartYsqlMajorVersionUpgradeInitdbRequestPB {
181+
}
182+
183+
message StartYsqlMajorVersionUpgradeInitdbResponsePB {
184+
optional MasterErrorPB error = 1;
185+
}
186+
187+
message IsYsqlMajorVersionUpgradeInitdbDoneRequestPB {
188+
}
189+
190+
message IsYsqlMajorVersionUpgradeInitdbDoneResponsePB {
191+
optional MasterErrorPB error = 1;
192+
optional bool done = 2;
193+
optional MasterErrorPB initdb_error = 3;
194+
}
195+
196+
message RollbackYsqlMajorVersionUpgradeRequestPB {
197+
}
198+
199+
message RollbackYsqlMajorVersionUpgradeResponsePB {
200+
optional MasterErrorPB error = 1;
201+
}
202+
180203
message CheckIfPitrActiveRequestPB {}
181204

182205
message CheckIfPitrActiveResponsePB {
@@ -268,6 +291,13 @@ service MasterAdmin {
268291

269292
rpc DdlLog(DdlLogRequestPB) returns (DdlLogResponsePB);
270293

294+
rpc StartYsqlMajorVersionUpgradeInitdb(StartYsqlMajorVersionUpgradeInitdbRequestPB)
295+
returns (StartYsqlMajorVersionUpgradeInitdbResponsePB);
296+
rpc IsYsqlMajorVersionUpgradeInitdbDone(IsYsqlMajorVersionUpgradeInitdbDoneRequestPB)
297+
returns (IsYsqlMajorVersionUpgradeInitdbDoneResponsePB);
298+
rpc RollbackYsqlMajorVersionUpgrade(RollbackYsqlMajorVersionUpgradeRequestPB)
299+
returns (RollbackYsqlMajorVersionUpgradeResponsePB);
300+
271301
rpc CheckIfPitrActive(CheckIfPitrActiveRequestPB)
272302
returns (CheckIfPitrActiveResponsePB);
273303

src/yb/master/master_admin_service.cc

+3
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ class MasterAdminServiceImpl : public MasterServiceBase, public MasterAdminIf {
4949
(GetCompactionStatus)
5050
(CreateTransactionStatusTable)
5151
(DdlLog)
52+
(StartYsqlMajorVersionUpgradeInitdb)
53+
(IsYsqlMajorVersionUpgradeInitdbDone)
54+
(RollbackYsqlMajorVersionUpgrade)
5255
(DeleteNotServingTablet)
5356
(FlushSysCatalog)
5457
(SplitTablet)

0 commit comments

Comments
 (0)