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

Andrew Wang commented on HDFS-6634:
-----------------------------------

Thanks for revving James, few more comments. I haven't dug into the QJM stuff 
in detail yet.

Misc/meta:
* We have some TODOs sprinkled around. I like to turn these into JIRAs, and 
then reference the JIRA in the comment. JIRA is a much better tracking tool 
than TODOs :)
* Comment in HdfsAdmin has "TODO complete this"?
* hdfs-default.xml, would be good if you could provide guidance about how to 
size this appropriately. Basically, why and how was 1000 chosen?
* Maybe we leave the InterfaceStability at Unstable for now just in case, we 
might want to change things as future work flows in.
* CNPServerSideTranslatorPB, unrelated whitespace changes
* EditsDoubleBuffer, does that visibility need to be changed to public?
* NNRpcServer, unnecessary RejectedExecutionException import?
* The PB definition for getCurrentTxid is a uint64, but I see that we return a 
-1 if the edit log is not open. Seems like it should be an int64. Same issue 
for lastWriterEpoch in QJournalProtocol.
* QuorumJournalManager, unused import to RemoteEditLogManifest

DFSInotifyEventInputStream
* You could add a "_MS" suffix to the two constants, self-documents that 
they're in milliseconds. I think one of these also isn't being used.
* Some javadoc lines are longer than 80 chars
* Can we add a {{@link}} to the best-documented version of {{next}} from the 
other versions of {{next}}?
* Using LinkedBlockingQueue as a reference, it'd be nice to provide blocking 
calls as well for convenience. You could use the same terminology of poll and 
take from LinkedBlockingQueue if you like.
* The {{namenode}} RPC proxy has its own timeout and retry policy built in, so 
the user could very well end up waiting for minutes regardless of what they 
pass in. I think if we used Futures and cancellation (or some other method of 
interrupting), it would be more timely. You could also create a new RPC proxy 
with a more fitting timeout/retry policy.
* Also I don't think doing additional backoff is necessary, since the RPC proxy 
already has timeout/retry policy. I think since our timeouts are quite 
conservative (60s?), backoff isn't as important.

Tests:
* some lines longer than 80 chars
* Nit: "Uncomitted" should have two m's
* Wish I had told you about this before, but there's DFSTestUtil#runOperations 
which runs through a bunch of different operations. Is this reusable in 
testBasic? It'd be nice, since TestOfflineEditsViewer checks that all opcodes 
are generated by runOperations, so we'll only need to update this function when 
we add more opcodes in the future. Or we could do the same assertion about all 
the opcodes being present and tested.
* Can we add conservative timeouts on the new tests, e.g. 120000 ?

> inotify in HDFS
> ---------------
>
>                 Key: HDFS-6634
>                 URL: https://issues.apache.org/jira/browse/HDFS-6634
>             Project: Hadoop HDFS
>          Issue Type: New Feature
>          Components: hdfs-client, namenode, qjm
>            Reporter: James Thomas
>            Assignee: James Thomas
>         Attachments: HDFS-6634.2.patch, HDFS-6634.3.patch, HDFS-6634.patch, 
> inotify-design.2.pdf, inotify-design.pdf, inotify-intro.2.pdf, 
> inotify-intro.pdf
>
>
> Design a mechanism for applications like search engines to access the HDFS 
> edit stream.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to