@@ -85,11 +85,6 @@ public class FSORepairTool extends RepairTool {
85
85
description = "Path to OM RocksDB" )
86
86
private String omDBPath ;
87
87
88
- @ CommandLine .Option (names = {"-r" , "--repair" },
89
- defaultValue = "false" ,
90
- description = "Run in repair mode to move unreferenced files and directories to deleted tables." )
91
- private boolean repair ;
92
-
93
88
@ CommandLine .Option (names = {"-v" , "--volume" },
94
89
description = "Filter by volume name. Add '/' before the volume name." )
95
90
private String volumeFilter ;
@@ -99,19 +94,14 @@ public class FSORepairTool extends RepairTool {
99
94
private String bucketFilter ;
100
95
101
96
@ CommandLine .Option (names = {"--verbose" },
102
- description = "Verbose output. Show all intermediate steps and deleted keys info ." )
97
+ description = "Verbose output. Show all intermediate steps." )
103
98
private boolean verbose ;
104
99
105
100
@ Override
106
101
public void execute () throws Exception {
107
102
if (checkIfServiceIsRunning ("OM" )) {
108
103
return ;
109
104
}
110
- if (repair ) {
111
- info ("FSO Repair Tool is running in repair mode" );
112
- } else {
113
- info ("FSO Repair Tool is running in debug mode" );
114
- }
115
105
try {
116
106
Impl repairTool = new Impl ();
117
107
repairTool .run ();
@@ -274,18 +264,12 @@ private boolean checkIfSnapshotExistsForBucket(String volumeName, String bucketN
274
264
}
275
265
276
266
private void processBucket (OmVolumeArgs volume , OmBucketInfo bucketInfo ) throws IOException {
277
- info ("Processing bucket: " + volume .getVolume () + "/" + bucketInfo .getBucketName ());
278
267
if (checkIfSnapshotExistsForBucket (volume .getVolume (), bucketInfo .getBucketName ())) {
279
- if (!repair ) {
280
- info (
281
- "Snapshot detected in bucket '" + volume .getVolume () + "/" + bucketInfo .getBucketName () + "'. " );
282
- } else {
283
- info (
284
- "Skipping repair for bucket '" + volume .getVolume () + "/" + bucketInfo .getBucketName () + "' " +
285
- "due to snapshot presence." );
286
- return ;
287
- }
268
+ info ("Skipping repair for bucket '" + volume .getVolume () + "/" + bucketInfo .getBucketName () + "' " +
269
+ "due to snapshot presence." );
270
+ return ;
288
271
}
272
+ info ("Processing bucket: " + volume .getVolume () + "/" + bucketInfo .getBucketName ());
289
273
markReachableObjectsInBucket (volume , bucketInfo );
290
274
handleUnreachableAndUnreferencedObjects (volume , bucketInfo );
291
275
}
@@ -359,15 +343,10 @@ private void handleUnreachableAndUnreferencedObjects(OmVolumeArgs volume, OmBuck
359
343
360
344
if (!isReachable (dirKey )) {
361
345
if (!isDirectoryInDeletedDirTable (dirKey )) {
362
- info ("Found unreferenced directory: " + dirKey );
363
346
unreferencedStats .addDir ();
364
347
365
- if (!repair ) {
366
- if (verbose ) {
367
- info ("Marking unreferenced directory " + dirKey + " for deletion." );
368
- }
369
- } else {
370
- info ("Deleting unreferenced directory " + dirKey );
348
+ info ("Deleting unreferenced directory " + dirKey );
349
+ if (!isDryRun ()) {
371
350
OmDirectoryInfo dirInfo = dirEntry .getValue ();
372
351
markDirectoryForDeletion (volume .getVolume (), bucket .getBucketName (), dirKey , dirInfo );
373
352
}
@@ -393,15 +372,10 @@ private void handleUnreachableAndUnreferencedObjects(OmVolumeArgs volume, OmBuck
393
372
OmKeyInfo fileInfo = fileEntry .getValue ();
394
373
if (!isReachable (fileKey )) {
395
374
if (!isFileKeyInDeletedTable (fileKey )) {
396
- info ("Found unreferenced file: " + fileKey );
397
375
unreferencedStats .addFile (fileInfo .getDataSize ());
398
376
399
- if (!repair ) {
400
- if (verbose ) {
401
- info ("Marking unreferenced file " + fileKey + " for deletion." + fileKey );
402
- }
403
- } else {
404
- info ("Deleting unreferenced file " + fileKey );
377
+ info ("Deleting unreferenced file " + fileKey );
378
+ if (!isDryRun ()) {
405
379
markFileForDeletion (fileKey , fileInfo );
406
380
}
407
381
} else {
0 commit comments