Github user HyukjinKwon commented on a diff in the pull request: https://github.com/apache/spark/pull/22078#discussion_r228881824 --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/InsertIntoHadoopFsRelationCommand.scala --- @@ -261,4 +272,69 @@ case class InsertIntoHadoopFsRelationCommand( } }.toMap } + + private def isExtendedAclEnabled(hadoopConf: Configuration): Boolean = + hadoopConf.getBoolean(DFS_NAMENODE_ACLS_ENABLED_KEY, DFS_NAMENODE_ACLS_ENABLED_DEFAULT) + + private def getFullFileStatus( + conf: SQLConf, + hadoopConf: Configuration, + pathExists: Boolean, + fs: FileSystem, + file: Path): (Option[FsPermission], Option[AclStatus]) = { + var permission: Option[FsPermission] = None + var aclStatus: Option[AclStatus] = None + if (conf.isDataSouceTableInheritPerms && pathExists) { + permission = Some(fs.getFileStatus(file).getPermission) + if (isExtendedAclEnabled(hadoopConf)) aclStatus = Some(fs.getAclStatus(file)) + } + (permission, aclStatus) --- End diff -- I would remove `var` by, for instance: ```scala val shouldFetchPermission = conf.isDataSouceTableInheritPerms && pathExists val shouldFetchAclStatus = shouldFetchPermission && isExtendedAclEnabled(hadoopConf) val permission = if (shouldFetchPermission) { Some(fs.getFileStatus(file).getPermission) } else { None } val aclStatus = if (shouldFetchAclStatus) { Some(fs.getAclStatus(file)) } else { None } (permission, aclStatus) ```
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org