Hi, Ilya,Numan
I fully understand. I did miss the "RECONNECT_DEFAULT_PROBE_INTERVAL"。 In my scale test,probe interval of ovn-dbctl is 60 seconds,default probe interval(5 seconds)is not large enough。 I only want to specify the probe interval value of ovn-dbctl,"adding a command line option" is a good way Thanks for your reply Best regards, Wentao Jia >> >> Hi, Ilya >> >> Initially, ovndb-ctl command is a program executed only once,probe interval >> is not be set。 >> ovndb-ctl daemon mode is a longrun program,so we need to set probe interval。 > >I understand that. But, >"not set" should be equal to "set to default 5 seconds". >I'm not sure why we need to call ovsdb_idl_set_probe_interval >explicitly if the default 5 seconds should already be configured. >That is my question. > >We should not need to call ovsdb_idl_set_probe_interval to >have 5 second inactivity probe interval. So, I'm trying to >understand why this is needed in your case. > >The only reason I can think of is the unix: connection method >that may not have inactivity probe enabled by default. But >unix sockets are typically good at detecting broken connections. > >Best regards, Ilya Maximets. > >> >> Best regards, Wentao Jia >> >> >>>>> >>>>> ovndb-ctl deamon mode, the connection cannot be reconnected when >>>>> connection is broken, set inactivity probe interval to make it >>>>> reconnected >>> >>>Hi, Wentao, Numan. >>> >>>Could you, please, elaborate, why exactly connection can not be >>>reconnected? AFAICT, ovsdb_idl_set_probe_interval() only updates >>>the fsm->probe_interval that should already be equal to 5 seconds >>>by default (RECONNECT_DEFAULT_PROBE_INTERVAL). >>>So, why do we need to set it from the application code? Am I missing >>>something? >>> >>>Best regards, Ilya Maximets. >>> >>>>> >>>>> >>>>> Signed-off-by: Wentao Jia <[email protected]> >>>> >>>> Thanks for the patch. >>>> >>>> I see one issue with using the default probe interval value of 5 >>>> seconds. If the database is huge, >>>> 5 seconds may not be enough and the dbctl daemons/utilities could be >>>> in infinite loop connecting/disconnecting >>>> due to the probe interval time out. >>>> >>>> Instead, I'd suggest adding a command line option so that users can >>>> specify the probe interval value to use >>>> (with the default value set to 0 if not specified). >>>> >>>> Like ovn-nbctl --probe-interval=10000 ... >>>> >>>> >>>> Thanks >>>> Numan >>>> >>>>> --- >>>>> utilities/ovn-dbctl.c | 4 ++++ >>>>> 1 file changed, 4 insertions(+) >>>>> >>>>> >>>>> diff --git a/utilities/ovn-dbctl.c b/utilities/ovn-dbctl.c >>>>> index 791caabb2..2080e8ba0 100644 >>>>> --- a/utilities/ovn-dbctl.c >>>>> +++ b/utilities/ovn-dbctl.c >>>>> @@ -109,6 +109,9 @@ static void server_loop(const struct >>>>> ovn_dbctl_options *dbctl_options, >>>>> struct ovsdb_idl *idl, int argc, char *argv[]); >>>>> static void ovn_dbctl_exit(int status); >>>>> >>>>> +/* Default probe interval for NB and SB DB connections. */ >>>>> +#define DEFAULT_PROBE_INTERVAL_MSEC 5000 >>>>> + >>>>> int >>>>> ovn_dbctl_main(int argc, char *argv[], >>>>> const struct ovn_dbctl_options *dbctl_options) >>>>> @@ -191,6 +194,7 @@ ovn_dbctl_main(int argc, char *argv[], >>>>> /* "retry" is true iff in daemon mode. */ >>>>> ovsdb_idl_set_remote(idl, db, daemon_mode); >>>>> ovsdb_idl_set_leader_only(idl, leader_only); >>>>> + ovsdb_idl_set_probe_interval(idl, DEFAULT_PROBE_INTERVAL_MSEC); >>>>> >>>>> if (daemon_mode) { >>>>> server_loop(dbctl_options, idl, argc, argv_); >>>>> -- >>>>> 2.32.0 >>> >> >> > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
