From e75a821cc91b7a4bd1ec8ab58994edb6f7b65284 Mon Sep 17 00:00:00 2001 From: Jacob Hoffman-Andrews Date: Mon, 6 May 2024 09:15:51 -0700 Subject: [PATCH] sa: eliminate requestedNames table (#7471) Part of https://github.com/letsencrypt/boulder/issues/7432 Follows up on https://github.com/letsencrypt/boulder/pull/7435, now that that PR is deployed. --- db/map_test.go | 4 ---- sa/database.go | 1 - .../20240503000000_RemoveRequestedNames.sql | 18 ++++++++++++++++++ sa/db-users/boulder_sa.sql | 2 -- sa/model.go | 6 ------ sa/sa.go | 19 +------------------ 6 files changed, 19 insertions(+), 31 deletions(-) create mode 100644 sa/db-next/boulder_sa/20240503000000_RemoveRequestedNames.sql diff --git a/db/map_test.go b/db/map_test.go index 5ac548dab..19fdd7fe4 100644 --- a/db/map_test.go +++ b/db/map_test.go @@ -165,10 +165,6 @@ func TestTableFromQuery(t *testing.T) { query: "insert into `orderToAuthz2` (`OrderID`,`AuthzID`) values (?,?);", expectedTable: "`orderToAuthz2`", }, - { - query: "insert into `requestedNames` (`ID`,`OrderID`,`ReversedName`) values (?,?,?);", - expectedTable: "`requestedNames`", - }, { query: "UPDATE authz2 SET status = :status, attempted = :attempted, validationRecord = :validationRecord, validationError = :validationError, expires = :expires WHERE id = :id AND status = :pending", expectedTable: "authz2", diff --git a/sa/database.go b/sa/database.go index 43f5c5eaa..fb9a790d5 100644 --- a/sa/database.go +++ b/sa/database.go @@ -279,7 +279,6 @@ func initTables(dbMap *borp.DbMap) { dbMap.AddTableWithName(orderModelv1{}, "orders").SetKeys(true, "ID") } dbMap.AddTableWithName(orderToAuthzModel{}, "orderToAuthz").SetKeys(false, "OrderID", "AuthzID") - dbMap.AddTableWithName(requestedNameModel{}, "requestedNames").SetKeys(false, "OrderID") dbMap.AddTableWithName(orderFQDNSet{}, "orderFqdnSets").SetKeys(true, "ID") dbMap.AddTableWithName(authzModel{}, "authz2").SetKeys(true, "ID") dbMap.AddTableWithName(orderToAuthzModel{}, "orderToAuthz2").SetKeys(false, "OrderID", "AuthzID") diff --git a/sa/db-next/boulder_sa/20240503000000_RemoveRequestedNames.sql b/sa/db-next/boulder_sa/20240503000000_RemoveRequestedNames.sql new file mode 100644 index 000000000..1837923dd --- /dev/null +++ b/sa/db-next/boulder_sa/20240503000000_RemoveRequestedNames.sql @@ -0,0 +1,18 @@ +-- +migrate Up + +DROP TABLE requestedNames; + +-- +migrate Down + +DROP TABLE requestedNames; + +CREATE TABLE `requestedNames` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `orderID` bigint(20) NOT NULL, + `reversedName` varchar(253) CHARACTER SET ascii NOT NULL, + PRIMARY KEY (`id`), + KEY `orderID_idx` (`orderID`), + KEY `reversedName_idx` (`reversedName`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 + PARTITION BY RANGE(id) +(PARTITION p_start VALUES LESS THAN (MAXVALUE)); diff --git a/sa/db-users/boulder_sa.sql b/sa/db-users/boulder_sa.sql index d0d1a60f4..da6b90899 100644 --- a/sa/db-users/boulder_sa.sql +++ b/sa/db-users/boulder_sa.sql @@ -22,7 +22,6 @@ GRANT SELECT,INSERT,UPDATE ON certificatesPerName TO 'sa'@'localhost'; GRANT SELECT,INSERT,UPDATE ON registrations TO 'sa'@'localhost'; GRANT SELECT,INSERT on fqdnSets TO 'sa'@'localhost'; GRANT SELECT,INSERT,UPDATE ON orders TO 'sa'@'localhost'; -GRANT SELECT,INSERT ON requestedNames TO 'sa'@'localhost'; GRANT SELECT,INSERT,DELETE ON orderFqdnSets TO 'sa'@'localhost'; GRANT SELECT,INSERT,UPDATE ON authz2 TO 'sa'@'localhost'; GRANT SELECT,INSERT ON orderToAuthz2 TO 'sa'@'localhost'; @@ -43,7 +42,6 @@ GRANT SELECT ON certificatesPerName TO 'sa_ro'@'localhost'; GRANT SELECT ON registrations TO 'sa_ro'@'localhost'; GRANT SELECT on fqdnSets TO 'sa_ro'@'localhost'; GRANT SELECT ON orders TO 'sa_ro'@'localhost'; -GRANT SELECT ON requestedNames TO 'sa_ro'@'localhost'; GRANT SELECT ON orderFqdnSets TO 'sa_ro'@'localhost'; GRANT SELECT ON authz2 TO 'sa_ro'@'localhost'; GRANT SELECT ON orderToAuthz2 TO 'sa_ro'@'localhost'; diff --git a/sa/model.go b/sa/model.go index 5022721a0..ff3ab8ebc 100644 --- a/sa/model.go +++ b/sa/model.go @@ -395,12 +395,6 @@ type orderModelv2 struct { CertificateProfileName string } -type requestedNameModel struct { - ID int64 - OrderID int64 - ReversedName string -} - type orderToAuthzModel struct { OrderID int64 AuthzID int64 diff --git a/sa/sa.go b/sa/sa.go index a9a2fad87..f354e4195 100644 --- a/sa/sa.go +++ b/sa/sa.go @@ -545,24 +545,7 @@ func (ssa *SQLStorageAuthority) NewOrderAndAuthzs(ctx context.Context, req *sapb return nil, err } - // Fourth, insert all of the requestedNames. - // TODO(#7432): Remove this - inserter, err = db.NewMultiInserter("requestedNames", []string{"orderID", "reversedName"}, "") - if err != nil { - return nil, err - } - for _, name := range req.NewOrder.Names { - err := inserter.Add([]interface{}{orderID, ReverseName(name)}) - if err != nil { - return nil, err - } - } - _, err = inserter.Insert(ctx, tx) - if err != nil { - return nil, err - } - - // Fifth, insert the FQDNSet entry for the order. + // Fourth, insert the FQDNSet entry for the order. err = addOrderFQDNSet(ctx, tx, req.NewOrder.Names, orderID, req.NewOrder.RegistrationID, req.NewOrder.Expires.AsTime()) if err != nil { return nil, err