[ https://issues.apache.org/jira/browse/HADOOP-5188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12712022#action_12712022 ]
Luca Telloli commented on HADOOP-5188: -------------------------------------- Konstantin, thanks for your comments! Let me address each of your point separately: 1. I opened HADOOP-5832 by mistake using the subtask option, without knowing that it would have generated a new patch. My bad. But I think that there's no clear cut between the two patches, because with URI processing I'm introducing logging devices which is something related to logging abstraction. Without introducing logging devices, HADOOP-5832 would be trivial, as you'd read a string, treat is as a URI and retrieve the path fragment, at least until other types of logging are developed, unless I'm forgetting something. So, unless you think it's necessary to have separate patches, I'd rather link them. 2. I think edit streams are opened and closed many times during the life of a server process (namenode/secondaryNN/backupnode) while the LoggingDevices are ideally created only once. While this might not make a difference for files, which can be opened/closed many times, it might fit better other types of logging which might want to store persistent information inside their "LoggingDevice" implementation. For instance, when thinking about Bookkeeper, I want to create a Bookkeeper client only once through the life of a NameNode and use it for Input/Output streams when needed. Does this sound reasonable? 3. From what I see in FSImage.loadFSEdits(StorageDirectory sd) EditLogFileInputStream needs to access a StorageDirectory object. Assuming that we keep the LoggingDevice abstraction and both edit streams (input and output) need to access it, it sounds better to leave it inside FileLoggingDevice and retrieve it with the getNewInputStreamInstance() method. 4. In the current patch you can specify values in dfs.name.dir as URI, as you can see in the FSNamesystem.getStorageDirs(...) method, where arguments of type URI are processed as well as path strings, both adding the correct value to the dirNames ArrayList. In general, values of this property will be mapped directly to storage directories, since StorageDirectory is the unit of storage for file system images. The mapping is different for the other property: dfs.name.edits.dir, where the mapping is not one-to-one with StorageDirectories, since other types of device can be used. > Modifications to enable multiple types of logging > -------------------------------------------------- > > Key: HADOOP-5188 > URL: https://issues.apache.org/jira/browse/HADOOP-5188 > Project: Hadoop Core > Issue Type: Improvement > Components: dfs > Affects Versions: 0.20.0 > Reporter: Luca Telloli > Fix For: 0.21.0 > > Attachments: HADOOP-5188.patch, HADOOP-5188.patch, HADOOP-5188.patch, > HADOOP-5188.patch, HADOOP-5188.pdf > > -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.