[jboss-jira] [JBoss JIRA] (JGRP-2362) Providing logical member name in JDBC_PING

S Pokutniy (Jira) issues at jboss.org
Thu Aug 1 04:02:01 EDT 2019


    [ https://issues.jboss.org/browse/JGRP-2362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13765613#comment-13765613 ] 

S Pokutniy commented on JGRP-2362:
----------------------------------

Sure, apologies for unclear description. What happens is this:
1) I can hardly use CREATE Table in parameter initialize_sql in JDBC_PING as it is done in an DML in my case.
2) My servers do crash frequently and can also be killed. If I do not do any clearing of old datasets the new start of the server lasts 3 (GSM.getJoinClusterTimeout) * 10(GSM.MaxJoinAttempts) * number of old entries = i.e. at least 30 seconds * number of old entries for the same server with its old UUID. Parameter remove_all_data_on_view_change does not seem to clear the data only when coordinator changes. 
3) Therefore I would like to delete old entries in JDBC_PING's parameter initialize_sql by using delete from JGROUPSPING where coordinator = x or logical_name = x As own_addr is a UUID and is always different it can hardly be used here and the logical address or the channel name would be a gain here but it is not there. In the source code I see that adding it would not be that diffecult as the data is already available in the object PingData.

If it is unclear I would gladly write more details.

> Providing logical member name in JDBC_PING
> ------------------------------------------
>
>                 Key: JGRP-2362
>                 URL: https://issues.jboss.org/browse/JGRP-2362
>             Project: JGroups
>          Issue Type: Feature Request
>    Affects Versions: 4.0.17, 4.0.18, 4.0.19, 4.1.0, 4.0.20
>            Reporter: S Pokutniy
>            Assignee: Bela Ban
>            Priority: Minor
>             Fix For: 4.1.2
>
>
> When using JDBC_PING and logical names instead of UUIDs and one of the cluster member crashes or get killed and this member is not coordinator then its database set still remains in the database as long as coordinator changes (independently from remove_old_coords_on_view_change /remove_all_data_on_view_change). If the the cluster is then restarted the old dataset makes connect() much slower (+30 seconds), as the members seem to be tryting to connect to it. Parameter remove_all_data_on_view_change seems to be the solution but it does not work as long as coordinator does not change, so practically the same as remove_old_coords_on_view_change. 
> The only solution seems to be to provide an appropriate delete statement in parameter  initialize_sql, which would delete old entry, for example like this: delete from JGROUPSPING where ping_data like '%logical name%'. However, this is neither really quick nor the ideal solution, as ping_data's datatype is bytea or bit varying.
> It would be great to have also logical name in JGROUPSPING, which is instead per default in insert(). This is also easy to implement as there is access to this information in PingData.



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jboss-jira mailing list