From 46f7523eb883b7599cfc0361c20a96547d3cff08 Mon Sep 17 00:00:00 2001 From: Rakesh Radhakrishnan Date: Sun, 18 Jun 2017 11:00:28 +0530 Subject: [PATCH] HDFS-11966. [SPS] Correct the log in BlockStorageMovementAttemptedItems#blockStorageMovementResultCheck. Contributed by Surendra Singh Lilhore. --- .../BlockStorageMovementAttemptedItems.java | 39 ++++++++++--------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/BlockStorageMovementAttemptedItems.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/BlockStorageMovementAttemptedItems.java index bf7859cb4d..6048986fca 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/BlockStorageMovementAttemptedItems.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/BlockStorageMovementAttemptedItems.java @@ -296,19 +296,17 @@ void blockStorageMovementResultCheck() throws IOException { .next(); synchronized (storageMovementAttemptedItems) { Status status = storageMovementAttemptedResult.getStatus(); + long trackId = storageMovementAttemptedResult.getTrackId(); ItemInfo itemInfo; switch (status) { case FAILURE: - blockStorageMovementNeeded - .add(storageMovementAttemptedResult.getTrackId()); + blockStorageMovementNeeded.add(trackId); LOG.warn("Blocks storage movement results for the tracking id: {}" + " is reported from co-ordinating datanode, but result" - + " status is FAILURE. So, added for retry", - storageMovementAttemptedResult.getTrackId()); + + " status is FAILURE. So, added for retry", trackId); break; case SUCCESS: - itemInfo = storageMovementAttemptedItems - .get(storageMovementAttemptedResult.getTrackId()); + itemInfo = storageMovementAttemptedItems.get(trackId); // ItemInfo could be null. One case is, before the blocks movements // result arrives the attempted trackID became timed out and then @@ -318,20 +316,23 @@ void blockStorageMovementResultCheck() throws IOException { // following condition. If all the block locations under the trackID // are attempted and failed to find matching target nodes to satisfy // storage policy in previous SPS iteration. - if (itemInfo != null - && !itemInfo.isAllBlockLocsAttemptedToSatisfy()) { - blockStorageMovementNeeded - .add(storageMovementAttemptedResult.getTrackId()); - LOG.warn("Blocks storage movement is SUCCESS for the track id: {}" - + " reported from co-ordinating datanode. But adding trackID" - + " back to retry queue as some of the blocks couldn't find" - + " matching target nodes in previous SPS iteration.", - storageMovementAttemptedResult.getTrackId()); + String msg = "Blocks storage movement is SUCCESS for the track id: " + + trackId + " reported from co-ordinating datanode."; + if (itemInfo != null) { + if (!itemInfo.isAllBlockLocsAttemptedToSatisfy()) { + blockStorageMovementNeeded.add(trackId); + LOG.warn("{} But adding trackID back to retry queue as some of" + + " the blocks couldn't find matching target nodes in" + + " previous SPS iteration.", msg); + } else { + LOG.info(msg); + // Remove xattr for the track id. + this.sps.postBlkStorageMovementCleanup( + storageMovementAttemptedResult.getTrackId()); + } } else { - LOG.info("Blocks storage movement is SUCCESS for the track id: {}" - + " reported from co-ordinating datanode. But the trackID " - + "doesn't exists in storageMovementAttemptedItems list", - storageMovementAttemptedResult.getTrackId()); + LOG.info("{} But the trackID doesn't exists in " + + "storageMovementAttemptedItems list", msg); // Remove xattr for the track id. this.sps.postBlkStorageMovementCleanup( storageMovementAttemptedResult.getTrackId());