Manoj Govindassamy created HDFS-11267: -----------------------------------------
Summary: Avoid redefinition of storageDirs in NNStorage and cleanup its accessors in Storage Key: HDFS-11267 URL: https://issues.apache.org/jira/browse/HDFS-11267 Project: Hadoop HDFS Issue Type: Bug Affects Versions: 3.0.0-alpha1 Reporter: Manoj Govindassamy Assignee: Manoj Govindassamy In the abstract class {{Storage}}, {{storageDirs}} is a protected variable and all its derived classes like {{NNStorage}}, {{JNStorage}}, {{DataStorage}}.. are iterating over this non-thread safe variable without any proper locks. Any parallel modification operation like add or remove volume can mutate the backing storageDirs list and any iterators on this list around the same time can face {{ConcurrentModificationException}}. It would be good to make the variable private and restrict the access via getters and setters. Any thread safe restriction need to be done can then be placed on the parent class only. Also, {{NNStorage}} redefines parent class Storage's {{storageDirs}}, making it inconsistent with other derived classes. Would be cleaner if {{NNStorage}} can avoid re-defining it locally. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org