[ https://issues.apache.org/jira/browse/HDFS-11758?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Clampffer updated HDFS-11758: ----------------------------------- Attachment: HDFS-11758.HDFS-8707.000.patch Catches exceptions when event hooks get called. Passes info about the exception like the what string if it's a std::exception into the event_response object. Calls that throw don't have side effects on the library unless memory is being leaked in the handler, library ignores exceptions and will continue running. Tests have been added to hdfs_ext_test.cc. > libhdfs++: Catch exceptions thrown by runtime hooks > --------------------------------------------------- > > Key: HDFS-11758 > URL: https://issues.apache.org/jira/browse/HDFS-11758 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: hdfs-client > Reporter: James Clampffer > Assignee: James Clampffer > Attachments: HDFS-11758.HDFS-8707.000.patch > > > Right now there's nothing to stop a user supplied event callback from > throwing and unwinding the stack on the asio worker thread. This can lead to > async filesystem operations that never complete because the stack was unwound > before setting up the next async io call. > Best practice is to be really careful about what is done inside event hooks > and callbacks: don't throw, sleep, or anything else that might block. I've > seen a few issues pop up because a hook was made for monitoring purposes and > later on stuff that was able to throw was added without realizing where the > exception may end up. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org