Hi Forum Members,
We have successfully brought of Federated opensips presence cluster and now
focusing on getting Active-Active Configuration with shared DB (in each region)
working for HA scenario.
We are facing some basic issues and would like to hear if we are missing
something very basic. We are writing this mail after some long sessions of
debugging.
Presence related configuration:
modparam("presence","server_address","sip:[email protected]:5060")
modparam("xcap|presence|clusterer",
"db_url","mysql://bhanu:WElcome12#@10.207.232.168/opensips")
modparam("presence_xml", "force_active", 1)
modparam("presence", "fallback2db", 1)
modparam("presence", "cluster_id", 1)
modparam("presence", "cluster_federation_mode", 1)
modparam("presence", "cluster_sharing_tags", "A=active")
#modparam("presence", "cluster_sharing_tags" ,"B=backup")
modparam("presence", "cluster_pres_events" ,"presence, dialog;sla,
message-summary")
modparam("presence", "db_update_period", 1)
#modparam("presence", "clean_period", 10)
modparam("presence", "active_watchers_table", "active_watchers")
Issue 1: Publish on one server(Server A) results in cluster replication on
other server(Server B). Handle_replicated_publish method is invoked in Server
B, however the below error is seen, as server B is also inserting the entry to
presentity table, which seems wrong. Is it a race scenario? If yes we don't how
to mitigate it. We have the shared DB outside both opensips servers running.
Logs:
Jun 25 00:17:38 [18288] DBG:presence:handle_replicated_publish: Updating
presentity
Jun 25 00:17:38 [18288] DBG:presence:update_pres_etag: etag =
a.1593058326.29320.3.1
Jun 25 00:17:38 [18288] DBG:presence:update_presentity: inserting 8 cols into
table
Jun 25 00:17:38 [18288] CRITICAL:db_mysql:wrapper_single_mysql_real_query:
driver error (1062): Duplicate entry
'1000-10.207.232.168-presence-a.1593058326.29320.3.1' for key
'presentity.presentity_idx'
Jun 25 00:17:38 [18288] ERROR:core:db_do_insert: error while submitting query
Jun 25 00:17:38 [18288] ERROR:presence:update_presentity: inserting new record
in database
Jun 25 00:17:38 [18288] DBG:presence:next_turn_phtable: new current turn is 1
for <sip:[email protected]>
Jun 25 00:17:38 [18288] ERROR:presence:handle_replicated_publish: failed to
update presentity based on replicated Publish
Jun 25 00:17:38 [18288] ERROR:presence:handle_replicated_publish: failed to
handle bin packet 101 from node 2
Issue 2: Active Watcher table is not getting update with entry. Not able to
conclude is it a delay in writing the cache entry to DB or something else. If
it is delay to write to db, not sure if there are any parameters available to
make this entry faster (to take of server going down - HA)
Also in one case, we thought even though active_watchers table did not had an
entry, opensips will be able to operate with cache values, but when replicated
publish is received, seeing this log,
Logs:
Jun 25 00:13:16 [29319] DBG:presence:handle_replicated_publish: Updating
presentity
Jun 25 00:13:16 [29319] DBG:presence:search_phtable_etag: pres_uri=
sip:[email protected], event=1, etag= a.1593058321.18289.1.0
Jun 25 00:13:16 [29319] DBG:presence:search_phtable_etag: found etag =
a.1593058321.18289.1.0
Jun 25 00:13:16 [29319] DBG:presence:update_presentity: pres
<sip:[email protected]> my turn is 1, current turn is 1
Jun 25 00:13:16 [29319] DBG:presence:update_pres_etag: etag =
a.1593058321.18289.3.1
Jun 25 00:13:16 [29319] DBG:db_mysql:mysql_raise_event: MySQL status has not
changed: connected
Jun 25 00:13:16 [29319] DBG:presence:get_subs_db: querying database table =
active_watchers
Jun 25 00:13:16 [29319] DBG:db_mysql:mysql_raise_event: MySQL status has not
changed: connected
Jun 25 00:13:16 [29319] DBG:core:db_new_result: allocate 48 bytes for result
set at 0x7fe80282a240
Jun 25 00:13:16 [29319] DBG:db_mysql:db_mysql_get_columns: 16 columns returned
from the query
Jun 25 00:13:16 [29319] DBG:core:db_allocate_columns: allocate 448 bytes for
result columns at 0x7fe80284f880
--------
-------
Jun 25 00:13:16 [29319] DBG:db_mysql:db_mysql_get_columns: use DB_STRING result
type
Jun 25 00:13:16 [29319] DBG:db_mysql:db_mysql_get_columns:
RES_NAMES(0x7fe80284f9e0)[14]=[local_contact]
Jun 25 00:13:16 [29319] DBG:db_mysql:db_mysql_get_columns: use DB_STRING result
type
Jun 25 00:13:16 [29319] DBG:db_mysql:db_mysql_get_columns:
RES_NAMES(0x7fe80284f9f0)[15]=[version]
Jun 25 00:13:16 [29319] DBG:db_mysql:db_mysql_get_columns: use DB_INT result
type
Jun 25 00:13:16 [29319] DBG:db_mysql:db_mysql_convert_rows: no rows returned
from the query
Jun 25 00:13:16 [29319] DBG:presence:get_subs_db: The query for subscribtion
for [uri]= sip:[email protected] for [event]= presence returned no result
Jun 25 00:13:16 [29319] DBG:core:db_free_columns: freeing result columns at
0x7fe80284f880
Jun 25 00:13:16 [29319] DBG:core:db_free_rows: freeing 0 rows
As always Thanks for all help.,
__________________________________________________________
INFORMATION CLASSIFICATION: IPC PROPRIETARY
Rajeshkumar Govindaraj
Senior Software Engineer
777 Commerce Drive,
Fairfield, CT-06825
Follow us on twitter: @ipc_Systems_Inc www.ipc.com<http://www.ipc.com/>
[cid:[email protected]]
DISCLAIMER: This e-mail may contain information that is confidential,
privileged or otherwise protected from disclosure.
If you are not an intended recipient of this e-mail, do not duplicate or
redistribute it by any means.
Please delete it and any attachments and notify the sender that you have
received it in error.
Unintended recipients are prohibited from taking action on the basis of
information in this e-mail.
E-mail messages may contain computer viruses or other defects, may not be
accurately replicated on other systems, or may be intercepted,
deleted or interfered with without the knowledge of the sender or the intended
recipient.
If you are not comfortable with the risks associated with e-mail messages,
you may decide not to use e-mail to communicate with IPC. IPC reserves the
right,
to the extent and under circumstances permitted by applicable law,
to retain, monitor and intercept e-mail messages to and from its systems.
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users