Should I not have sent patches as RFC? I thought that RFC tag is used when it 
is needed to have some conversation/advices about the pending changes.
Anyway, as you requested, I’ve send a normal patch series:
https://patchwork.ozlabs.org/project/ovn/cover/[email protected]/

Regards,
Vladislav Odintsov

> On 2 Dec 2022, at 19:05, Numan Siddique <[email protected]> wrote:
> 
> On Fri, Dec 2, 2022 at 8:27 AM Vladislav Odintsov <[email protected] 
> <mailto:[email protected]>> wrote:
>> 
>> Hi Numan,
>> 
>> only a part of those patched supposed to be applied. Another part present in 
>> the RFC just to show some PoC/idea, should I repost all of the patches?
> 
> I'd say yes since you've marked the patches as RFC.
> 
> Numan
> 
>> 
>> Regards,
>> Vladislav Odintsov
>> 
>>> On 2 Dec 2022, at 00:20, Numan Siddique <[email protected]> wrote:
>>> 
>>> On Thu, Dec 1, 2022 at 3:58 PM Vladislav Odintsov <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> is it possible to consider any of the problems written below and here [0] 
>>>> for the possible fixes to be included in upcoming OVN/OVS releases?
>>> 
>>> Hi,
>>> 
>>> I didn't get a chance to look at the patches.  But if some of them are
>>> fixing any issues, we can definitely backport them,
>>> 
>>> I'd suggest removing the RFC tag and reposting the patches.
>>> 
>>> Thanks
>>> Numan
>>> 
>>>> 
>>>> Thanks.
>>>> 
>>>> 0: 
>>>> https://patchwork.ozlabs.org/project/ovn/cover/[email protected]/
>>>> 
>>>> Regards,
>>>> Vladislav Odintsov
>>>> 
>>>>> On 24 Nov 2022, at 20:57, Anton Vazhnetsov <[email protected]> wrote:
>>>>> 
>>>>> Hi, Terry!
>>>>> 
>>>>> In continuation to our yesterday’s conversation [0], we were able to 
>>>>> reproduce the issue with KeyError. We found that the problem is not 
>>>>> connected with ovsdb-server load but it appears when the ovsdb-server 
>>>>> schema is converted online (it even doesn’t matter whether the real ovs 
>>>>> schema is changed) while the active connection persists.
>>>>> Please use next commands to reproduce it:
>>>>> 
>>>>> # in terminal 1
>>>>> 
>>>>> ovsdb-tool create ./ovs.db /usr/share/ovn/ovn-nb.ovsschema
>>>>> ovsdb-server --remote punix://$(pwd)/ovs.sock $(pwd)/ovs.db -vconsole:dbg
>>>>> 
>>>>> 
>>>>> # in terminal 2. run python shell
>>>>> python3
>>>>> # setup connection
>>>>> import ovsdbapp.schema.ovn_northbound.impl_idl as nb_idl
>>>>> from ovsdbapp.backend.ovs_idl import connection
>>>>> 
>>>>> remote = "unix:///<path to ovs.sock>"
>>>>> 
>>>>> def get_idl():
>>>>>  """Connection getter."""
>>>>> 
>>>>>  idl = connection.OvsdbIdl.from_server(remote, "OVN_Northbound",
>>>>>                                        leader_only=False)
>>>>>  return nb_idl.OvnNbApiIdlImpl(connection.Connection(idl, 100))
>>>>> 
>>>>> idl = get_idl()
>>>>> 
>>>>> 
>>>>> # in terminal 1
>>>>> ovsdb-client convert unix:$(pwd)/ovs.sock /usr/share/ovn/ovn-nb.ovsschema
>>>>> 
>>>>> # in terminal 2 python shell:
>>>>> idl.ls_add("test").execute()
>>>>> 
>>>>> 
>>>>> We get following traceback:
>>>>> 
>>>>> Traceback (most recent call last):
>>>>> File 
>>>>> "/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/connection.py",
>>>>>  line 131, in run
>>>>>  txn.results.put(txn.do_commit())
>>>>> File 
>>>>> "/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py",
>>>>>  line 143, in do_commit
>>>>>  self.post_commit(txn)
>>>>> File 
>>>>> "/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/transaction.py",
>>>>>  line 73, in post_commit
>>>>>  command.post_commit(txn)
>>>>> File 
>>>>> "/usr/lib/python3.6/site-packages/ovsdbapp/backend/ovs_idl/command.py", 
>>>>> line 94, in post_commit
>>>>>  row = self.api.tables[self.table_name].rows[real_uuid]
>>>>> File "/usr/lib64/python3.6/collections/__init__.py", line 991, in 
>>>>> __getitem__
>>>>>  raise KeyError(key)
>>>>> KeyError: UUID('0256afa4-6dd0-4c2c-b6a2-686a360ab331')
>>>>> 
>>>>> In ovsdb-server debug logs we see that update2 or update3 messages are 
>>>>> not sent from server in response to client’s transaction, just reply with 
>>>>> result UUID:
>>>>> 2022-11-24T17:42:36Z|00306|poll_loop|DBG|wakeup due to [POLLIN] on fd 18 
>>>>> (///root/ovsdb-problem/ovs.sock<->) at lib/stream-fd.c:157
>>>>> 2022-11-24T17:42:36Z|00307|jsonrpc|DBG|unix#5: received request, 
>>>>> method="transact", 
>>>>> params=["OVN_Northbound",{"uuid-name":"row03ef28d6_93f1_43bc_b07a_eae58d4bd1c5","table":"Logical_Switch","op":"insert","row":{"name”:"test"}}],
>>>>>  id=5
>>>>> 2022-11-24T17:42:36Z|00308|jsonrpc|DBG|unix#5: send reply, 
>>>>> result=[{"uuid":["uuid","4eb7c407-beec-46ca-b816-19f942e57721"]}], id=5
>>>>> 
>>>>> We checked same with ovn-nbctl running in daemon mode and found that the 
>>>>> problem is not reproduced (ovsdb-server after database conversion sends 
>>>>> out update3 message to ovn-nbctl daemon process in response to 
>>>>> transaction, for example ovs-appctl -t <nbctl daemon socket> run ls-add 
>>>>> test-ls):
>>>>> 2022-11-24T17:54:51Z|00623|jsonrpc|DBG|unix#7: received request, 
>>>>> method="transact", 
>>>>> params=["OVN_Northbound",{"uuid-name":"rowcdb152ce_a9af_4761_b965_708ad300fcb7","table":"Logical_Switch","op":"insert","row":{"name":"test-ls"}},{"comment":"ovn-nbctl:
>>>>>  run ls-add test-ls","op":"comment"}], id=5
>>>>> 2022-11-24T17:54:51Z|00624|jsonrpc|DBG|unix#7: send notification, 
>>>>> method="update3", 
>>>>> params=[["monid","OVN_Northbound"],"00000000-0000-0000-0000-000000000000",{"Logical_Switch":{"0b147f2c-248d-496a-b718-a5328d3c2995":{"insert":{"name":"test-ls"}}}}]
>>>>> 2022-11-24T17:54:51Z|00625|jsonrpc|DBG|unix#7: send reply, 
>>>>> result=[{"uuid":["uuid","0b147f2c-248d-496a-b718-a5328d3c2995"]},{}], id=5
>>>>> 
>>>>> So it seems that the problem is in python-ovs, not in ovsdb-server.
>>>>> 
>>>>> Do you have any ideas what can be a reason for such behaviour?
>>>>> 
>>>>> 0: 
>>>>> https://review.opendev.org/c/openstack/ovsdbapp/+/865454/comments/674c57e6_3849591b
>>>>> 
>>>>> Regards, Anton.
>>>>> _______________________________________________
>>>>> dev mailing list
>>>>> [email protected]
>>>>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>>> 
>>>> _______________________________________________
>>>> dev mailing list
>>>> [email protected] <mailto:[email protected]>
>>>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev 
>>>> <https://mail.openvswitch.org/mailman/listinfo/ovs-dev>
>>> _______________________________________________
>>> dev mailing list
>>> [email protected] <mailto:[email protected]>
>>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev 
>>> <https://mail.openvswitch.org/mailman/listinfo/ovs-dev>
>> _______________________________________________
>> dev mailing list
>> [email protected]
>> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> _______________________________________________
> dev mailing list
> [email protected] <mailto:[email protected]>
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev 
> <https://mail.openvswitch.org/mailman/listinfo/ovs-dev>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to