[
https://issues.apache.org/jira/browse/HDFS-10409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Clampffer updated HDFS-10409:
-----------------------------------
Attachment: HDFS-10409.HDFS-8707.000.patch
Posted patch.
I wasn't able confirm my original hypothesis or find anything else that looked
suspicious. Let's just get rid of the lock in the destructor; if that's
actually protecting a member of the class it's only serving to make undefined
behavior execute a little later than it otherwise would have.
> libhdfs++: Something is holding connection_state_lock in RpcConnectionImpl
> destructor
> -------------------------------------------------------------------------------------
>
> Key: HDFS-10409
> URL: https://issues.apache.org/jira/browse/HDFS-10409
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Reporter: James Clampffer
> Assignee: James Clampffer
> Attachments: HDFS-10409.HDFS-8707.000.patch, locked_dtor.patch
>
>
> The destructor to RpcConnectionImpl grabs a lock using a std::lock_guard<>.
> It turns out something is already holding the lock when this happens. Best
> bet is something that looks like:
> {code}
> void SomeFunctionThatShouldntTakeLock(){
> std::lock_guard<std::mutex> bad(connection_state_lock_)
> conn_.reset(); //conn is a shared_ptr to RpcConnectionImpl
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]