@@ -2022,14 +2022,19 @@ func (cf *changeFrontier) managePerTableProtectedTimestamps(
2022
2022
}
2023
2023
2024
2024
if len (tableIDsToRelease ) > 0 {
2025
- if err := cf .releasePerTableProtectedTimestampRecords (ctx , txn , ptsEntries , tableIDsToRelease , pts ); err != nil {
2025
+ if err := cf .releasePerTableProtectedTimestampRecords (ctx , ptsEntries , tableIDsToRelease , pts ); err != nil {
2026
2026
return hlc.Timestamp {}, false , err
2027
2027
}
2028
- updatedPerTablePTS = true
2029
2028
}
2030
2029
2031
2030
if len (tableIDsToCreate ) > 0 {
2032
- if err := cf .createPerTableProtectedTimestampRecords (ctx , txn , ptsEntries , tableIDsToCreate , pts ); err != nil {
2031
+ if err := cf .createPerTableProtectedTimestampRecords (ctx , ptsEntries , tableIDsToCreate , pts ); err != nil {
2032
+ return hlc.Timestamp {}, false , err
2033
+ }
2034
+ }
2035
+
2036
+ if len (tableIDsToRelease ) > 0 || len (tableIDsToCreate ) > 0 {
2037
+ if err := writeChangefeedJobInfo (ctx , perTableProtectedTimestampsFilename , ptsEntries , txn , cf .spec .JobID ); err != nil {
2033
2038
return hlc.Timestamp {}, false , err
2034
2039
}
2035
2040
updatedPerTablePTS = true
@@ -2040,7 +2045,6 @@ func (cf *changeFrontier) managePerTableProtectedTimestamps(
2040
2045
2041
2046
func (cf * changeFrontier ) releasePerTableProtectedTimestampRecords (
2042
2047
ctx context.Context ,
2043
- txn isql.Txn ,
2044
2048
ptsEntries * cdcprogresspb.ProtectedTimestampRecords ,
2045
2049
tableIDs []descpb.ID ,
2046
2050
pts protectedts.Storage ,
@@ -2051,7 +2055,7 @@ func (cf *changeFrontier) releasePerTableProtectedTimestampRecords(
2051
2055
}
2052
2056
delete (ptsEntries .ProtectedTimestampRecords , tableID )
2053
2057
}
2054
- return writeChangefeedJobInfo ( ctx , perTableProtectedTimestampsFilename , ptsEntries , txn , cf . spec . JobID )
2058
+ return nil
2055
2059
}
2056
2060
2057
2061
func (cf * changeFrontier ) advancePerTableProtectedTimestampRecord (
@@ -2079,7 +2083,6 @@ func (cf *changeFrontier) advancePerTableProtectedTimestampRecord(
2079
2083
2080
2084
func (cf * changeFrontier ) createPerTableProtectedTimestampRecords (
2081
2085
ctx context.Context ,
2082
- txn isql.Txn ,
2083
2086
ptsEntries * cdcprogresspb.ProtectedTimestampRecords ,
2084
2087
tableIDsToCreate map [descpb.ID ]hlc.Timestamp ,
2085
2088
pts protectedts.Storage ,
@@ -2088,7 +2091,7 @@ func (cf *changeFrontier) createPerTableProtectedTimestampRecords(
2088
2091
ptsEntries .ProtectedTimestampRecords = make (map [descpb.ID ]* uuid.UUID )
2089
2092
}
2090
2093
for tableID , tableHighWater := range tableIDsToCreate {
2091
- targets , err := cf .createPerTablePTSTarget (tableID )
2094
+ targets , err := cf .createPerTablePTSTargets (tableID )
2092
2095
if err != nil {
2093
2096
return err
2094
2097
}
@@ -2101,22 +2104,23 @@ func (cf *changeFrontier) createPerTableProtectedTimestampRecords(
2101
2104
return err
2102
2105
}
2103
2106
}
2104
- return writeChangefeedJobInfo ( ctx , perTableProtectedTimestampsFilename , ptsEntries , txn , cf . spec . JobID )
2107
+ return nil
2105
2108
}
2106
2109
2107
- func (cf * changeFrontier ) createPerTablePTSTarget (
2110
+ func (cf * changeFrontier ) createPerTablePTSTargets (
2108
2111
tableID descpb.ID ,
2109
2112
) (changefeedbase.Targets , error ) {
2110
2113
targets := changefeedbase.Targets {}
2111
- if cf .targets .Size > 0 {
2112
- if found , err := cf .targets .EachHavingTableID (tableID , func (target changefeedbase.Target ) error {
2113
- targets .Add (target )
2114
- return nil
2115
- }); err != nil {
2116
- return changefeedbase.Targets {}, err
2117
- } else if ! found {
2118
- return changefeedbase.Targets {}, errors .AssertionFailedf ("attempted to create a per-table PTS record for table %d, but no target was found" , tableID )
2119
- }
2114
+ if found , err := cf .targets .EachHavingTableID (tableID , func (target changefeedbase.Target ) error {
2115
+ targets .Add (target )
2116
+ return nil
2117
+ }); err != nil {
2118
+ return changefeedbase.Targets {}, err
2119
+ } else if ! found {
2120
+ return changefeedbase.Targets {}, errors .AssertionFailedf (
2121
+ "attempted to create a per-table PTS record for table %d, but no target was found" ,
2122
+ tableID ,
2123
+ )
2120
2124
}
2121
2125
if targets .Size != 1 {
2122
2126
return changefeedbase.Targets {}, errors .AssertionFailedf ("expected 1 target, got %d" , targets .Size )
0 commit comments