You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
print(f"invalid response {rep.status} from witnesses {wit}")
keeps in an infinite loop in line 96 if one witness is unresponsive, preventing the loop over witnesses (line 90) to iterate to the rest.
Ideally the client should timeout, instead it tries forever, at least using demo witnesses.
One option is to add a timeout in line 96.
Steps to reproduce
Create a single sig AID with toad=1 and two witnesses , with one of them disconnected.
Using kli incept with the --receipt-endpoint flag forces to use the Receiptor. It can reproduced with the following steps
1- start demo witness kli witness demo
2- init and resolve to witness oobis, one from the demo wits and one on the cloud
kli init --name local --nopasscode
kli oobi resolve --name local --oobi http://127.0.0.1:5642/oobi/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha/controller --oobi-alias witdemo
kli oobi resolve --name local --oobi http://witness1.dev.provenant.net:5631/oobi/BCf29L_7oQtU8WUXEV2Bi5sf7WoxnGyX7sgJSym-p4Pp/controller --oobi-alias wit cloud
3- test incepting with toad=1 and both witnesses up
Version
all
Environment
Witness Deployment
Expected behavior
When
Receiptor
sends events to the list of witnesses, it should try to communicate with all witnesses even if one of them is unresponsive.Actual behavior
Current logic in
Receiptor
keripy/src/keri/app/agenting.py
Lines 90 to 110 in 6b6970b
keeps in an infinite loop in line 96 if one witness is unresponsive, preventing the loop over witnesses (line 90) to iterate to the rest.
Ideally the client should timeout, instead it tries forever, at least using demo witnesses.
One option is to add a timeout in line 96.
Steps to reproduce
Create a single sig AID with
toad=1
and two witnesses , with one of them disconnected.Using
kli incept
with the--receipt-endpoint
flag forces to use theReceiptor
. It can reproduced with the following steps1- start demo witness
kli witness demo
2- init and resolve to witness oobis, one from the demo wits and one on the cloud
3- test incepting with toad=1 and both witnesses up
4- stop demo witnesses (ctrl-c)
5- incept a new aid
Note that no receipts were received even though one witness is up and toad=1
6- incept a new aid with the witnesses in different order
Note that now 1 receipt is received because the witness that is up is first in the loop.
The text was updated successfully, but these errors were encountered: