[ https://issues.apache.org/jira/browse/HDFS-8777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14640016#comment-14640016 ]
Rakesh R commented on HDFS-8777: -------------------------------- I have attached patch taken from HDFS-8266 jira. Earlier [~demongaorui] helped in reviews and got few [comments|https://issues.apache.org/jira/browse/HDFS-8266?focusedCommentId=14568815&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14568815] in HDFS-8266. I have addressed (1) and (2). Could you please give few clarifications on (3) and (4). bq. (3) I think we could not confirm the older snapshots still have the old EZ settings here, cause snap1Zone has the exactly same value as snap3Zone. Maybe, we can make different settings of old EZ and new EZ, so that we can confirm the older snapshot keep the old EZ settings. Presently there is no option to add a new schema apart from the {{SYS_DEFAULT_SCHEMA}}. I have tested the behavior by creating a new ec zone with different schema. It will allow to create the eczone without any ecschema. IMHO we could improve this by validating the user given schema with the {{ErasureCodingSchemaManager#activeSchemas}}, if not should throw IOException to the users, right. Shall I raise a separate jira to validate the user passed ECSchema against {{activeSchemas}} and work on this ? {code} fs.createErasureCodingZone(zone, customECSchema, 0); {code} bq. (4) In method testSnapshotsOnECZoneDir(), ECZone was created based on zone(value: "/zone"). When we call fs.getErasureCodingZone() respectively with parameter snap1Zone(value:"/zone/.snapshot/snap1/zone")}}and{{snap1(value:"/zone/.snapshot/snap1"), I think fs.getErasureCodingZone(snap1) actually returns the ECZone set to zone(value:"/zone"), and {{fs.getErasureCodingZone(snap1Zone) returns the ECZone set in the process of snapshot, right? If it's right, then ECZone can be nested, so does fs.getErasureCodingZone() return the nearest parent dir which is ECZone of the Path parameter (or the Path parameter itself if the Path parameter is ECZone)? IIUC {{fs.getErasureCodingZone}} will always returns the parent dir of the ECZone. I have modified the testcase by giving a new snapfile name {{"file1"}} instead of reusing the {{"zone"}} name to avoid confusion. > Erasure Coding: add tests for taking snapshots on EC files > ---------------------------------------------------------- > > Key: HDFS-8777 > URL: https://issues.apache.org/jira/browse/HDFS-8777 > Project: Hadoop HDFS > Issue Type: Sub-task > Reporter: Jing Zhao > Assignee: Rakesh R > Attachments: HDFS-8777-HDFS-7285-00.patch > > > We need to add more tests for (EC + snapshots). The tests need to verify the > fsimage saving/loading is correct. -- This message was sent by Atlassian JIRA (v6.3.4#6332)