Hello,
I seem to have stumbled upon a bug in FQLv10 when trying to compare two objects. I was attempting to write FQLv10 that would check if an index definition existed as expected on a document definition, and if not update it. The query was as follows:
result2 = client.query(fql('test.definition.indexes == {by_name_and_namespace: { terms: [{"field": "name"}, {"field": "namespace"}], queryable: true, status: "complete"}}'))
This query never completed and the python client hung indefinitely. I believe this is because the python FQLv10 client defaults to no read timeout.
I tried a simple version in the beta fauna dashboard and it timed out.
{foo: "bar"} == {foo: "bar"}
Please try again.
To add to this, it appears that array comparisons with objects inside of them work. It seems that directly comparing objects does not.
[{unique: ["name", "namespace"]}] == [{unique: ["name", "namespace"]}]
>> SUCCESS
true
[{unique: ["name", "foo"]}] == [{unique: ["name", "namespace"]}]
>> SUCCESS
false
{foo: "bar"} == {foo: "bar"}
Please try again.
1 Like
Hi @rcausey
Thank you for reporting this issue! I could reproduce it and I have filed an internal ticket for our DB Engineers to look at.
Thanks!
1 Like
I noticed that the Python driver hung indefinitely when this error occurred, so I opened this GitHub issue on the new Python driver as well: HTTPX read timeout is set to infinite by default · Issue #122 · fauna/fauna-python · GitHub