[ https://issues.apache.org/jira/browse/HDFS-6473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Charles Lamb updated HDFS-6473: ------------------------------- Attachment: HDFS-6473.3.patch Thanks for the review Andrew. bq. Why listEZ and showEZ? Seems redundant, and are named very similarly. agree. It's now List<EncryptionZone> listEncryptionZones. Depending on the caller's privs, we either fill in the keyId or not, and return all or a subset. bq. Maybe call it "encryption.proto" rather than "EncryptionZone.proto", since we might be adding ops not directly related to a Zone at some point. done. bq. CreateEZRequestProto field numbers go 1 then 3, rather than 1 2. Ooops. Good catch. That was an artifact from when there was a mask field. bq. Seems like we should have a protobuf for key and IV, since it's also in the LocatedBlocksProto. I was a little confused by this, but I think that what you mean is that an EncryptionZone could be used to hold a key and IV. But we'll never show an IV to someone calling ListEncryptionZones (since an IV is per-file, not per-EZ). So I didn't make this change. bq. DFSClient, some of the unwrapped exceptions aren't actually thrown I fixed this up. bq. HdfsAdmin, let's work on specifying less generic exception types. AccessControlException and FileNotFoundException should probably be mentioned. Do we want a new UnknownKeyException or similar if it's not present in the KeyProvider? I added ACLE and FNFE. The KeyProvider API doesn't actually throw anything more than IOException so it doesn't feel right for us to throw something more specific here. I did make a note in the code that I'm working on for a future jira which implements createEZ. bq. I don't consider "encryption zone" a proper noun, let's lower case it. Same for "extended attribute". Done. bq. s/Key Management System/KeyProvider/, same for KMS. Side note, it's also Server not System. Done. bq. Should use self-closing <p/> tags. Done. bq. EncryptionZone, needs class javadoc, let's also use HashCodeBuilder and EqualsBuilder from Apache Commons or Guava. This is stylistic, but a factory method might be better than a builder, since this is a really simple class. Done. I just added a ctor instead of the builder. bq. I'd prefer just to leave out the FSNamesystem and new test, not much value in the current state. Can save em for later. I left minimal stub code in FSNamesystem and removed the test from the patch. > Protocol and API for Encryption Zones > ------------------------------------- > > Key: HDFS-6473 > URL: https://issues.apache.org/jira/browse/HDFS-6473 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: security > Reporter: Charles Lamb > Assignee: Charles Lamb > Attachments: HDFS-6473.1.patch, HDFS-6473.2.patch, HDFS-6473.3.patch > > > Create the client/NN protocol for encryption zones. -- This message was sent by Atlassian JIRA (v6.2#6252)