[jira] [Commented] (HDFS-12134) libhdfs++: Add a synchronization interface for the GSSAPI
[ https://issues.apache.org/jira/browse/HDFS-12134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16665057#comment-16665057 ] Sunil Govindan commented on HDFS-12134: --- Hi [~James C] pls set the fix version while committing patch. HDFS-8707 seems the fix version for this. Correct? > 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 >Priority: Major > Attachments: HDFS-12134.HDFS-8707.000.patch, > HDFS-12134.HDFS-8707.001.patch, HDFS-12134.HDFS-8707.002.patch, > HDFS-12134.HDFS-8707.003.patch, HDFS-12134.HDFS-8707.004.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 (v7.6.3#76005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12134) libhdfs++: Add a synchronization interface for the GSSAPI
[ https://issues.apache.org/jira/browse/HDFS-12134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410474#comment-16410474 ] Hudson commented on HDFS-12134: --- SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #13869 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/13869/]) HDFS-12134: libhdfs++: Add a synchronization interface for the GSSAPI. (james.clampffer: rev 22ea06a3dd74b80737977908e30ec38a32b968ab) * (edit) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/include/hdfspp/status.h * (edit) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/CMakeLists.txt * (add) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/include/hdfspp/locks.h * (edit) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/include/hdfspp/hdfspp.h * (edit) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/sasl_protocol.cc * (edit) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/CMakeLists.txt * (add) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/locks.cc * (edit) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/uri_test.cc * (add) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests/user_lock_test.cc * (edit) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/gsasl_engine.cc * (edit) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/uri.cc * (edit) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/rpc/cyrus_sasl_engine.cc * (edit) hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/common/status.cc > 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 >Priority: Major > Attachments: HDFS-12134.HDFS-8707.000.patch, > HDFS-12134.HDFS-8707.001.patch, HDFS-12134.HDFS-8707.002.patch, > HDFS-12134.HDFS-8707.003.patch, HDFS-12134.HDFS-8707.004.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 (v7.6.3#76005) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12134) libhdfs++: Add a synchronization interface for the GSSAPI
[ https://issues.apache.org/jira/browse/HDFS-12134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16102447#comment-16102447 ] Hadoop QA commented on HDFS-12134: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 15m 35s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s{color} | {color:red} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} | || || || || {color:brown} HDFS-8707 Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 14m 3s{color} | {color:green} HDFS-8707 passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 13m 26s{color} | {color:green} HDFS-8707 passed with JDK v1.8.0_131 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 13m 27s{color} | {color:green} HDFS-8707 passed with JDK v1.7.0_131 {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 6m 51s{color} | {color:green} HDFS-8707 passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 6m 50s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 14m 16s{color} | {color:green} the patch passed with JDK v1.8.0_131 {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 14m 16s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 14m 16s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 13m 50s{color} | {color:green} the patch passed with JDK v1.7.0_131 {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 13m 50s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 13m 50s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 6m 53s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green} 18m 42s{color} | {color:green} hadoop-hdfs-native-client in the patch passed with JDK v1.7.0_131. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 17s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}144m 6s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | JDK v1.8.0_131 Failed CTEST tests | test_libhdfs_threaded_hdfspp_test_shim_static | \\ \\ || Subsystem || Report/Notes || | Docker | Image:yetus/hadoop:3117e2a | | JIRA Issue | HDFS-12134 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12879045/HDFS-12134.HDFS-8707.000.patch | | Optional Tests | asflicense compile cc mvnsite javac unit | | uname | Linux f8b5506eea34 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh | | git revision | HDFS-8707 / 3117e2a | | Default Java | 1.7.0_131 | | Multi-JDK versions | /usr/lib/jvm/java-8-oracle:1.8.0_131 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_131 | | CTEST | https://builds.apache.org/job/PreCommit-HDFS-Build/20420/artifact/patchprocess/patch-hadoop-hdfs-project_hadoop-hdfs-native-client-jdk1.8.0_131-ctest.txt | | JDK v1.7.0_131 Test Results | https://builds.apache.org/job/PreCommit-HDFS-Build/20420/testReport/ | | modules | C: hadoop-hdfs-project/hadoop-hdfs-native-client U: hadoop-hdfs-project/hadoop-hdfs-native-client | | Console output | https://builds.apache.org/job/PreCommit-HDFS-Build/20420/console | | Powered by | Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org | This message was automatically generated. > libhdfs++: Add a synchronization interface for the GSSAPI > - > > Key: HDFS-12134 > URL: https
[jira] [Commented] (HDFS-12134) libhdfs++: Add a synchronization interface for the GSSAPI
[ 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
[jira] [Commented] (HDFS-12134) libhdfs++: Add a synchronization interface for the GSSAPI
[ https://issues.apache.org/jira/browse/HDFS-12134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16107854#comment-16107854 ] Deepak Majeti commented on HDFS-12134: -- +1 LGTM > 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, > HDFS-12134.HDFS-8707.001.patch, HDFS-12134.HDFS-8707.002.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
[jira] [Commented] (HDFS-12134) libhdfs++: Add a synchronization interface for the GSSAPI
[ https://issues.apache.org/jira/browse/HDFS-12134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16107875#comment-16107875 ] Hadoop QA commented on HDFS-12134: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 0s{color} | {color:blue} Docker mode activated. {color} | | {color:red}-1{color} | {color:red} docker {color} | {color:red} 9m 42s{color} | {color:red} Docker failed to build yetus/hadoop:3117e2a. {color} | \\ \\ || Subsystem || Report/Notes || | JIRA Issue | HDFS-12134 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12879689/HDFS-12134.HDFS-8707.002.patch | | Console output | https://builds.apache.org/job/PreCommit-HDFS-Build/20504/console | | Powered by | Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org | This message was automatically generated. > 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, > HDFS-12134.HDFS-8707.001.patch, HDFS-12134.HDFS-8707.002.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
[jira] [Commented] (HDFS-12134) libhdfs++: Add a synchronization interface for the GSSAPI
[ https://issues.apache.org/jira/browse/HDFS-12134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16113910#comment-16113910 ] Hadoop QA commented on HDFS-12134: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 15m 46s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s{color} | {color:red} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} | || || || || {color:brown} HDFS-8707 Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 16m 24s{color} | {color:green} HDFS-8707 passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 13m 29s{color} | {color:green} HDFS-8707 passed with JDK v1.8.0_144 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 13m 37s{color} | {color:green} HDFS-8707 passed with JDK v1.7.0_131 {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 6m 55s{color} | {color:green} HDFS-8707 passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 6m 51s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 13m 44s{color} | {color:green} the patch passed with JDK v1.8.0_144 {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 13m 44s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 13m 44s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 13m 43s{color} | {color:green} the patch passed with JDK v1.7.0_131 {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 13m 43s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 13m 43s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 6m 56s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green} 19m 27s{color} | {color:green} hadoop-hdfs-native-client in the patch passed with JDK v1.7.0_131. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 18s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}148m 0s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Image:yetus/hadoop:3117e2a | | JIRA Issue | HDFS-12134 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12880303/HDFS-12134.HDFS-8707.004.patch | | Optional Tests | asflicense compile cc mvnsite javac unit | | uname | Linux 2ea7664decaf 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh | | git revision | HDFS-8707 / 3117e2a | | Default Java | 1.7.0_131 | | Multi-JDK versions | /usr/lib/jvm/java-8-oracle:1.8.0_144 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_131 | | JDK v1.7.0_131 Test Results | https://builds.apache.org/job/PreCommit-HDFS-Build/20552/testReport/ | | modules | C: hadoop-hdfs-project/hadoop-hdfs-native-client U: hadoop-hdfs-project/hadoop-hdfs-native-client | | Console output | https://builds.apache.org/job/PreCommit-HDFS-Build/20552/console | | Powered by | Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org | This message was automatically generated. > 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, > H
[jira] [Commented] (HDFS-12134) libhdfs++: Add a synchronization interface for the GSSAPI
[ https://issues.apache.org/jira/browse/HDFS-12134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16116781#comment-16116781 ] James Clampffer commented on HDFS-12134: w.r.t. lack of new and modified tests: Added a bunch, they just don't get picked up by test4tests yet, hoping to figure that out soon. If anyone knows their way around the build system and wants to contribute that'd be really appreciated. HDFS-12168 filed for getting it working. > 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, > HDFS-12134.HDFS-8707.001.patch, HDFS-12134.HDFS-8707.002.patch, > HDFS-12134.HDFS-8707.003.patch, HDFS-12134.HDFS-8707.004.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
[jira] [Commented] (HDFS-12134) libhdfs++: Add a synchronization interface for the GSSAPI
[ https://issues.apache.org/jira/browse/HDFS-12134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16117754#comment-16117754 ] Deepak Majeti commented on HDFS-12134: -- +1 LGTM > 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, > HDFS-12134.HDFS-8707.001.patch, HDFS-12134.HDFS-8707.002.patch, > HDFS-12134.HDFS-8707.003.patch, HDFS-12134.HDFS-8707.004.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