James Clampffer created HDFS-12134:
--------------------------------------

             Summary: 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
            Reporter: James Clampffer
            Assignee: James Clampffer


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-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org

Reply via email to