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

Reply via email to