This is an automated email from the ASF dual-hosted git repository.

wuzhiguo pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new e6576c8c4d AMBARI-25731: HdfsResource didn't chown again when reupload 
local file in resource_management (#3365)
e6576c8c4d is described below

commit e6576c8c4d260e770bb92fef6e9e7595061173c2
Author: timyuer <[email protected]>
AuthorDate: Sat Oct 8 16:42:37 2022 +0800

    AMBARI-25731: HdfsResource didn't chown again when reupload local file in 
resource_management (#3365)
---
 .../libraries/providers/hdfs_resource.py           | 27 ++++++++++++++--------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git 
a/ambari-common/src/main/python/resource_management/libraries/providers/hdfs_resource.py
 
b/ambari-common/src/main/python/resource_management/libraries/providers/hdfs_resource.py
index af6218a591..9db0ebf885 100644
--- 
a/ambari-common/src/main/python/resource_management/libraries/providers/hdfs_resource.py
+++ 
b/ambari-common/src/main/python/resource_management/libraries/providers/hdfs_resource.py
@@ -422,16 +422,25 @@ class HdfsResourceWebHDFS:
     
   def _create_resource(self):
     is_create = (self.main_resource.resource.source == None)
+    source = self.main_resource.resource.source
+    type = self.main_resource.resource.type
+    target = self.main_resource.resource.target
+    refresh_status = True
     
-    if is_create and self.main_resource.resource.type == "directory":
-      self._create_directory(self.main_resource.resource.target)
-    elif is_create and self.main_resource.resource.type == "file":
-      self._create_file(self.main_resource.target, mode=self.mode)
-    elif not is_create and self.main_resource.resource.type == "file":
-      self._create_file(self.main_resource.resource.target, 
source=self.main_resource.resource.source, mode=self.mode)
-    elif not is_create and self.main_resource.resource.type == "directory":
-      self._create_directory(self.main_resource.resource.target)
-      self._copy_from_local_directory(self.main_resource.resource.target, 
self.main_resource.resource.source)
+    if is_create and type == "directory":
+      self._create_directory(target)
+    elif is_create and type == "file":
+      self._create_file(target, mode=self.mode)
+    elif not is_create and type == "file":
+      self._create_file(target, source=source, mode=self.mode)
+    elif not is_create and type == "directory":
+      self._create_directory(target)
+      self._copy_from_local_directory(target, source)
+    else:
+      refresh_status = False
+
+    if refresh_status:
+      self.target_status = self._get_file_status(target)
     
   def _copy_from_local_directory(self, target, source):
     for next_path_part in sudo.listdir(source):


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to