My client is a two-phase subscriber and during startup is starts a separate thread to call thread_cdb_trigger_subscriptions()
. Everything works ok except when my program rejects the configuration changes during the CDB_SUB_PREPARE
phase. If I call cdb_sub_abort_trans()
instead of cdb_sync_subscription_socket()
, then thread_cdb_trigger_subscriptions()
will keep blocked ad infinitum. I’m using ConfD 6.4. Is this the expected behavior?
I know that changes that are already stored in CDB can’t be rejected anymore, that makes no sense. I’ll change my application to do something different when it can’t apply the startup configuration. However I find this blocking behavior of thread_cdb_trigger_subscriptions()
to be problematic nonetheless.
Regards,
Renato.