[ 
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]

Reply via email to