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

Reply via email to