[ https://issues.apache.org/jira/browse/HDFS-14567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16929649#comment-16929649 ]
hemanthboyina commented on HDFS-14567: -------------------------------------- [~jojochuang] can you have look into the patch > If kms-acls is failed to load, and it will never be reload > ----------------------------------------------------------- > > Key: HDFS-14567 > URL: https://issues.apache.org/jira/browse/HDFS-14567 > Project: Hadoop HDFS > Issue Type: Bug > Reporter: hemanthboyina > Assignee: hemanthboyina > Priority: Major > Attachments: HDFS-14567.001.patch, HDFS-14567.002.patch, > HDFS-14567.patch > > > Scenario : through one automation tool , we are generating kms-acls , though > the generation of kms-acls is not completed , the system will detect a > modification of kms-alcs and it will try to load > Before getting the configuration we are modifiying last reload time , code > shown below > {code:java} > private Configuration loadACLsFromFile() { > LOG.debug("Loading ACLs file"); > lastReload = System.currentTimeMillis(); > Configuration conf = KMSConfiguration.getACLsConf(); > // triggering the resource loading. > conf.get(Type.CREATE.getAclConfigKey()); > return conf; > }{code} > if the kms-acls file written within next 100ms , the changes will not be > loaded as this condition "newer = f.lastModified() - time > 100" never meets > because we have modified last reload time before getting the configuration > {code:java} > public static boolean isACLsFileNewer(long time) { > boolean newer = false; > String confDir = System.getProperty(KMS_CONFIG_DIR); > if (confDir != null) { > Path confPath = new Path(confDir); > if (!confPath.isUriPathAbsolute()) { > throw new RuntimeException("System property '" + KMS_CONFIG_DIR + > "' must be an absolute path: " + confDir); > } > File f = new File(confDir, KMS_ACLS_XML); > LOG.trace("Checking file {}, modification time is {}, last reload time is" > + " {}", f.getPath(), f.lastModified(), time); > // at least 100ms newer than time, we do this to ensure the file > // has been properly closed/flushed > newer = f.lastModified() - time > 100; > } > return newer; > } {code} > -- This message was sent by Atlassian Jira (v8.3.2#803003) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org