Query related to cdb_trigger_subscription

Hi Team,

In our implementation, we use cdb_trigger_subscription() to read the ConfD configuration data whenever our daemons start. I wanted to understand how ConfD queues subscription requests when multiple applications call cdb_trigger_subscription() simultaneously. It appears that applications that called this API earlier are placed later in the pending notification queue.

During device boot-up, all our applications attempt to read the configuration data by calling cdb_trigger_subscription(). We would like to prioritize some daemons to read the configuration before others. Is there any way to set priority for certain daemons when calling cdb_trigger_subscription().

confd-state internal cdb datastore
NAME     PRIORITY  CLIENT NAME              SUBSCRIPTION IDS
-----------------------------------------------------------------------------
running  10        l2featmgr                [ 90 91 93 ]
         11        l2featmgr                [ 95 ]
         12        l2featmgr                [ 98 100 ]
         13        l2featmgr                [ 102 104 105 ]
         14        l2featmgr                [ 106 ]
         15        l2featmgr                [ 108 ]
         5         twamp-session-reflector  [ 117 ]
         1         BGP                      [ 97 ]
         2         BGP                      [ 114 ]
         3         BGP                      [ 110 111 112 116 ]
         4         BGP                      [ 113 ]
         5         BGP                      [ 99 ]
         6         BGP                      [ 101 ]
         7         BGP                      [ 115 ]
         8         BGP                      [ 103 107 ]
         10        BGP                      [ 109 ]
         3         ip                       [ 118 ]
         3         eventmgr                 [ 120 121 ]
         4         eventmgr                 [ 119 ]
         3         sflow                    [ 122 ]
         1         TelemetryAgent           [ 123 124 ]
         3         TelemetryAgent           [ 125 ]
         5         TelemetryAgent           [ 126 ]
         7         TelemetryAgent           [ 127 ]
         1         stp                      [ 129 ]
         2         stp                      [ 128 ]
         3         ipfixd                   [ 131 132 ]
         5         ipfixd                   [ 130 ]
         10        lblmgr                   [ 133 ]
         5         twamp-session-sender     [ 134 ]
         10        li                       [ 135 ]
         11        li                       [ 136 ]
         3         KEYCHAIN                 [ 137 ]
         2         DPAL                     [ 138 ] <----- this app has called cdb_trigger_subscription before BGP and others apps.
         3         DPAL                     [ 139 140 141 ]<------
         3         vrfmgr                   [ 155 ]
         1         ifmgr                    [ 142 ]
         2         ifmgr                    [ 160 ]
         3         ifmgr                    [ 153 156 157 158 159 162 163 ]
         4         ifmgr                    [ 144 145 ]
         5         ifmgr                    [ 146 ]
         6         ifmgr                    [ 143 ]
         7         ifmgr                    [ 147 ]
         8         ifmgr                    [ 148 149 ]
         9         ifmgr                    [ 154 ]
         11        ifmgr                    [ 150 ]
         12        ifmgr                    [ 151 152 ]
         999       ifmgr                    [ 161 ]
         7         RAdvDShim                [ 164 165 ]
         3         LLDP Shim                [ 166 ]
         2         ntp-snmp                 [ 167 ]
         3         ntp-snmp                 [ 168 ]
         1         ldp                      [ 172 173 ]
         2         ldp                      [ 171 ]

can anyone help me on this ?

If you start your applications and call cdb_trigger_subscription() once, the subscribing applications will be notified in priority order.
If each application calls cdb_trigger_subscription() using their subscription IDs, you must ensure they are started in priority order if that matters to the application.