[ https://issues.apache.org/jira/browse/GEODE-8793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17250935#comment-17250935 ]
ASF GitHub Bot commented on GEODE-8793: --------------------------------------- gaussianrecurrence opened a new pull request #715: URL: https://github.com/apache/geode-native/pull/715 - Upon disconnection, if option on-client-disconnect-clear-pdxType-Ids is enabled, PdxTypeRegistry is supposed to be cleaned up. But the problem is that this was not happening each time, but each 2 times the client disconnects from the cluster. - Due to the project being moving away from ACE, ACE semaphore was replaced. - Sadly there is no equivalent version in Boost, given that current semaphore implementations are designed to work in an interprocess environment. Also C++ semaphores are included in the latest standard C++20, but that's not the standard we are using. - That's why a new class named binary_semaphore has been added, which implements a binary semaphore by using condition variables. - Also some methods have been renamed to better represent the functionality. - Given its quite complex to test this behaviour with IT, a UT has been created testing that every time pool-size reaches 0, PdxTypeRegstry is cleaned up. - Also fixed an issue within ClientMetadataService that was causing a coredump while trying to stop the thread when it was not started in the first time. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Fix PdxTypeRegistry cleanup upon cluster disconnection > ------------------------------------------------------ > > Key: GEODE-8793 > URL: https://issues.apache.org/jira/browse/GEODE-8793 > Project: Geode > Issue Type: Bug > Components: native client > Affects Versions: 1.13.0, 1.13.1 > Reporter: Mario Salazar de Torres > Assignee: Mario Salazar de Torres > Priority: Major > > *GIVEN* A native client cache with on-client-disconnect-clear-pdxType-Ids is > set to "true" (not the best name if you ask me) > *WHEN* the connection towards the cluster is lost > *THEN* PdxTypeRegistry should be cleaned up straight away. > ---- > *Additional information* > **Instead of being cleaned up straight away, PdxTypeRegistry it's cleaned up > every 2 cluster disconnections. > Probably the issue is that semaphores in place are missused. > Consider additionally to change the callback name "cliCallback" as it does > not represent the actual functionality here. -- This message was sent by Atlassian Jira (v8.3.4#803005)