[ https://issues.apache.org/jira/browse/HDFS-12134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16107568#comment-16107568 ]
Deepak Majeti commented on HDFS-12134: -------------------------------------- {{include/hdfspp/locks.h}}: Remove additional variable {{finalize_}} and just use {{gssapiMtx}} for checks Can we remove {{InitLocks}} method and initialize via {{options}}? This will prevent misuse of the API by invoking {{InitLocks}} multiple times. Make {{bool _locked}} an {{std::atomic_bool _locked}} use {{volatile}} to be safe for other Lock class fields. {{lib/common/locks.cc}}: 51 should be {{_mtx.try_lock()}} Thanks! > libhdfs++: Add a synchronization interface for the GSSAPI > --------------------------------------------------------- > > Key: HDFS-12134 > URL: https://issues.apache.org/jira/browse/HDFS-12134 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: hdfs-client > Reporter: James Clampffer > Assignee: James Clampffer > Attachments: HDFS-12134.HDFS-8707.000.patch > > > Bits of the GSSAPI that Cyrus Sasl uses aren't thread safe. There needs to > be a way for a client application to share a lock with this library in order > to prevent race conditions. It can be done using event callbacks through the > C API but we can provide something more robust (RAII) in the C++ API. > Proposed client supplied lock, pretty much the C++17 lockable concept. Use a > default if one isn't provided. This would be scoped at the process level > since it's unlikely that multiple instances of libgssapi unless someone puts > some effort in with dlopen/dlsym. > {code} > class LockProvider > { > virtual ~LockProvider() {} > // allow client application to deny access to the lock > virtual bool try_lock() = 0; > virtual void unlock() = 0; > } > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org