[ https://issues.apache.org/jira/browse/HDFS-10311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Clampffer updated HDFS-10311: ----------------------------------- Status: Patch Available (was: Open) > libhdfs++: DatanodeConnection::Cancel should not delete the underlying socket > ----------------------------------------------------------------------------- > > Key: HDFS-10311 > URL: https://issues.apache.org/jira/browse/HDFS-10311 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: hdfs-client > Reporter: James Clampffer > Assignee: James Clampffer > Attachments: HDFS-10311.HDFS-8707.000.patch > > > DataNodeConnectionImpl calls reset on the unique_ptr that references the > underlying asio::tcp::socket. If this happens after the continuation > pipeline checks the cancel state but before asio uses the socket it will > segfault because unique_ptr::reset will explicitly change it's value to > nullptr. > Cancel should only call shutdown() and close() on the socket but keep the > instance of it alive. The socket can probably also be turned into a member > of DataNodeConnectionImpl to get rid of the unique pointer and simplify > things a bit. -- This message was sent by Atlassian JIRA (v6.3.4#6332)