[ 
https://issues.apache.org/jira/browse/HDFS-17043?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17732703#comment-17732703
 ] 

ASF GitHub Bot commented on HDFS-17043:
---------------------------------------

ayushtkn commented on code in PR #5734:
URL: https://github.com/apache/hadoop/pull/5734#discussion_r1230049769


##########
hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/java/org/apache/hadoop/fs/http/client/HttpFSFileSystem.java:
##########
@@ -1773,6 +1775,17 @@ public FsStatus getStatus(final Path path) throws 
IOException {
     return JsonUtilClient.toFsStatus(json);
   }
 
+  public Collection<ErasureCodingPolicyInfo> getAllErasureCodingPolicies() 
throws IOException {
+    Map<String, String> params = new HashMap<>();
+    params.put(OP_PARAM, Operation.GETECPOLICIES.toString());
+    Path path = new Path(getUri().toString(), "/");
+    HttpURLConnection conn =
+        getConnection(Operation.GETECPOLICIES.getMethod(), params, path, true);

Review Comment:
   do we need this makeQualified to be ``true`` here? we hardcoded / itself 
here, getAllStoragePolicies seems to pass ``false`` as well



##########
hadoop-hdfs-project/hadoop-hdfs-httpfs/src/test/java/org/apache/hadoop/fs/http/client/BaseTestHttpFSWith.java:
##########
@@ -2111,6 +2114,40 @@ private void testGetStatus() throws Exception {
     }
   }
 
+  private void testGetAllEEPolicies() throws Exception {
+    if (isLocalFS()) {
+      // do not test the getAllEEPolicies for local FS.
+      return;
+    }
+    final Path path = new Path("/foo");
+    FileSystem fs = FileSystem.get(path.toUri(), this.getProxiedFSConf());
+    if (fs instanceof DistributedFileSystem) {
+      DistributedFileSystem dfs =
+          (DistributedFileSystem) FileSystem.get(path.toUri(), 
this.getProxiedFSConf());
+      FileSystem httpFs = this.getHttpFSFileSystem();
+
+      Collection<ErasureCodingPolicyInfo> dfsAllErasureCodingPolicies =
+          dfs.getAllErasureCodingPolicies();
+      Collection<ErasureCodingPolicyInfo> diffErasureCodingPolicies = null;
+
+      if (httpFs instanceof HttpFSFileSystem) {
+        HttpFSFileSystem httpFS = (HttpFSFileSystem) httpFs;
+        diffErasureCodingPolicies = httpFS.getAllErasureCodingPolicies();
+      } else if (httpFs instanceof WebHdfsFileSystem) {
+        WebHdfsFileSystem webHdfsFileSystem = (WebHdfsFileSystem) httpFs;
+        diffErasureCodingPolicies = 
webHdfsFileSystem.getAllErasureCodingPolicies();
+      } else {
+        Assert.fail(fs.getClass().getSimpleName() + " doesn't support 
getSnapshotDiff");

Review Comment:
   ``getSnapshotDiff`` ?





> HttpFS implementation for getAllErasureCodingPolicies
> -----------------------------------------------------
>
>                 Key: HDFS-17043
>                 URL: https://issues.apache.org/jira/browse/HDFS-17043
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: httpfs
>    Affects Versions: 3.4.0
>            Reporter: Hualong Zhang
>            Assignee: Hualong Zhang
>            Priority: Major
>              Labels: pull-request-available
>
> HttpFS should support getAllErasureCodingPolicies API In order to be able to 
> retrieve all Erasure Coding Policies.. WebHdfs implementation available on 
> HDFS-17029.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to