[ https://issues.apache.org/jira/browse/GEODE-8793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17310795#comment-17310795 ]
ASF subversion and git services commented on GEODE-8793: -------------------------------------------------------- Commit d80dd3286369476552cd27a27ba7a7c431e20227 in geode-native's branch refs/heads/develop from Mario Salazar de Torres [ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=d80dd32 ] GEODE-8793: Fix PdxTypeRegistry cleanup (#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. - 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. - PdxTypeRegistry clean up is now done synchronously. - Added a counter for connected endpoints per endpoint. - Now PdxTypeRegistry clean up is triggered whenever there are no connected endpoints remaining rather than whenever there are no connections remaining in the pool. This mimics Java client functionality and its much more reliable. - A new IT has been added in favour of the previous UT. - In order to keep this change as minimal as possible, changes in ClientMetadataService have been reverted as now they are not strictly needed. > 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 > Labels: pull-request-available > > *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)