[
https://issues.apache.org/jira/browse/HDFS-10311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410421#comment-16410421
]
Hudson commented on HDFS-10311:
-------------------------------
SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #13869 (See
[https://builds.apache.org/job/Hadoop-trunk-Commit/13869/])
HDFS-10311: DatanodeConnection::Cancel should not delete the underlying
(james.clampffer: rev e542db66ee4465744e019a92ba410f3e20d09365)
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/util.cc
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/util.h
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/connection/datanodeconnection.h
* (edit)
hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/connection/datanodeconnection.cc
> 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
> Priority: Major
> Attachments: HDFS-10311.HDFS-8707.000.patch,
> HDFS-10311.HDFS-8707.001.patch, HDFS-10311.HDFS-8707.002.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
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]