You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
143334: kvserver: add kv excise command r=iskettaneh a=iskettaneh
kvserver: add kv excise command
This commit adds a KV command called Excise, which ends up calling Pebble's excise command. The command deletes all the data overlapping with the provided key span.
This command will be used by the OnlineRestore job to clean up the state where an external SSTable is pointing to a deleted file.
These are the remaining items:
1. Perform split operations after the file is removed.
2. Add more detailed Rangefeed/Changefeed tests.
3. Add a test to excise part of the deleted span only (after cockroachdb/pebble#4417 is fixed)
4. Understand if merges require to read the SSTable if the range contains estimates.
5. Add a small test to verify that SSTables aren't read during writeBatch commit.
6. Defensive patches: Handle FileNotFound error from code locations that didn't fail in tests, but that could in theory fail under some circumstances.
References: #143135
Release note: None
Co-authored-by: Ibrahim Kettaneh <[email protected]>
Copy file name to clipboardExpand all lines: docs/generated/metrics/metrics.html
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -641,6 +641,7 @@
641
641
<tr><td>STORAGE</td><td>rpc.method.delete.recv</td><td>Number of Delete requests processed</td><td>RPCs</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
642
642
<tr><td>STORAGE</td><td>rpc.method.deleterange.recv</td><td>Number of DeleteRange requests processed</td><td>RPCs</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
643
643
<tr><td>STORAGE</td><td>rpc.method.endtxn.recv</td><td>Number of EndTxn requests processed</td><td>RPCs</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
644
+
<tr><td>STORAGE</td><td>rpc.method.excise.recv</td><td>Number of Excise requests processed</td><td>RPCs</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
644
645
<tr><td>STORAGE</td><td>rpc.method.export.recv</td><td>Number of Export requests processed</td><td>RPCs</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
645
646
<tr><td>STORAGE</td><td>rpc.method.gc.recv</td><td>Number of GC requests processed</td><td>RPCs</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
646
647
<tr><td>STORAGE</td><td>rpc.method.get.recv</td><td>Number of Get requests processed</td><td>RPCs</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
@@ -1105,6 +1106,7 @@
1105
1106
<tr><td>APPLICATION</td><td>distsender.rpc.err.unsupportedrequesterrtype</td><td>Number of UnsupportedRequestErrType errors received replica-bound RPCs<br/><br/>This counts how often error of the specified type was received back from replicas<br/>as part of executing possibly range-spanning requests. Failures to reach the target<br/>replica will be accounted for as 'roachpb.CommunicationErrType' and unclassified<br/>errors as 'roachpb.InternalErrType'.<br/></td><td>Errors</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1106
1107
<tr><td>APPLICATION</td><td>distsender.rpc.err.writeintenterrtype</td><td>Number of WriteIntentErrType errors received replica-bound RPCs<br/><br/>This counts how often error of the specified type was received back from replicas<br/>as part of executing possibly range-spanning requests. Failures to reach the target<br/>replica will be accounted for as 'roachpb.CommunicationErrType' and unclassified<br/>errors as 'roachpb.InternalErrType'.<br/></td><td>Errors</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1107
1108
<tr><td>APPLICATION</td><td>distsender.rpc.err.writetooolderrtype</td><td>Number of WriteTooOldErrType errors received replica-bound RPCs<br/><br/>This counts how often error of the specified type was received back from replicas<br/>as part of executing possibly range-spanning requests. Failures to reach the target<br/>replica will be accounted for as 'roachpb.CommunicationErrType' and unclassified<br/>errors as 'roachpb.InternalErrType'.<br/></td><td>Errors</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1109
+
<tr><td>APPLICATION</td><td>distsender.rpc.excise.sent</td><td>Number of Excise requests processed.<br/><br/>This counts the requests in batches handed to DistSender, not the RPCs<br/>sent to individual Ranges as a result.</td><td>RPCs</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1108
1110
<tr><td>APPLICATION</td><td>distsender.rpc.export.sent</td><td>Number of Export requests processed.<br/><br/>This counts the requests in batches handed to DistSender, not the RPCs<br/>sent to individual Ranges as a result.</td><td>RPCs</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1109
1111
<tr><td>APPLICATION</td><td>distsender.rpc.gc.sent</td><td>Number of GC requests processed.<br/><br/>This counts the requests in batches handed to DistSender, not the RPCs<br/>sent to individual Ranges as a result.</td><td>RPCs</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
1110
1112
<tr><td>APPLICATION</td><td>distsender.rpc.get.sent</td><td>Number of Get requests processed.<br/><br/>This counts the requests in batches handed to DistSender, not the RPCs<br/>sent to individual Ranges as a result.</td><td>RPCs</td><td>COUNTER</td><td>COUNT</td><td>AVG</td><td>NON_NEGATIVE_DERIVATIVE</td></tr>
0 commit comments