Github user zd-project commented on a diff in the pull request:

    https://github.com/apache/storm/pull/2754#discussion_r209305519
  
    --- Diff: 
storm-webapp/src/main/java/org/apache/storm/daemon/logviewer/utils/LogCleaner.java
 ---
    @@ -142,30 +154,41 @@ public void run() {
                         
oldLogDirs.stream().map(File::getName).collect(joining(",")),
                         
deadWorkerDirs.stream().map(File::getName).collect(joining(",")));
     
    -            deadWorkerDirs.forEach(Unchecked.consumer(dir -> {
    +            for (File dir : deadWorkerDirs) {
                     String path = dir.getCanonicalPath();
    -                LOG.info("Cleaning up: Removing {}", path);
    +                long size = FileUtils.sizeOf(dir);
    +                LOG.info("Cleaning up: Removing {}, {} KB", path, size * 
1e-3);
     
                     try {
                         Utils.forceDelete(path);
                         cleanupEmptyTopoDirectory(dir);
    +                    numFilesCleaned++;
    +                    diskSpaceCleaned += size;
                     } catch (Exception ex) {
    +                    ExceptionMeters.NUM_FILE_REMOVAL_EXCEPTIONS.mark();
                         LOG.error(ex.getMessage(), ex);
                     }
    -            }));
    +            }
     
    -            perWorkerDirCleanup(maxPerWorkerLogsSizeMb * 1024 * 1024);
    -            globalLogCleanup(maxSumWorkerLogsSizeMb * 1024 * 1024);
    +            final List<DirectoryCleaner.DeletionMeta> 
perWorkerDirCleanupMeta = perWorkerDirCleanup(maxPerWorkerLogsSizeMb * 1024 * 
1024);
    +            numFilesCleaned += 
perWorkerDirCleanupMeta.stream().mapToInt(meta -> meta.deletedFiles).sum();
    +            diskSpaceCleaned += 
perWorkerDirCleanupMeta.stream().mapToLong(meta -> meta.deletedSize).sum();
    +            final DirectoryCleaner.DeletionMeta globalLogCleanupMeta = 
globalLogCleanup(maxSumWorkerLogsSizeMb * 1024 * 1024);
    +            numFilesCleaned += globalLogCleanupMeta.deletedFiles;
    +            diskSpaceCleaned += globalLogCleanupMeta.deletedSize;
             } catch (Exception ex) {
    +            ExceptionMeters.NUM_CLEANUP_EXCEPTIONS.mark();
                 LOG.error("Exception while cleaning up old log.", ex);
             }
    +        numFilesCleanedUp.update(numFilesCleaned);
    +        diskSpaceFreed.update(diskSpaceCleaned);
         }
     
         /**
          * Delete the oldest files in each overloaded worker log dir.
          */
         @VisibleForTesting
    -    List<Integer> perWorkerDirCleanup(long size) {
    +    List<DirectoryCleaner.DeletionMeta> perWorkerDirCleanup(long size) {
    --- End diff --
    
    Okay.


---

Reply via email to