Open justincpresley opened 2 years ago
Hey, feel more than free to delay this issue until appropriate time can be allocated. It is not an urgent issue and can be worked around till it can be fixed.
Last time this happens because the same key was used to sign multiple registration commands in one ms. Somehow NFD prevents this. I added a delay function in sending command Interests to slow it down. If you use python-ndn with multithreading, probably the delay does not work properly. You can try to slow down registration (1-2ms is enough, which does not impede performance much) and see what happens.
If you specifically talk about Hydra:
I would like to point out that even running one Hydra node results in this problem, so while ensuring instance separation (like key maagement) could help, the existence of multiple instances does not complete the problem.
System: Ubuntu 20.04 Forwarder Version: NFD-nightly, latest pull Scope: When working with heavy applications using python-ndn that register more than 2+ prefixes. Error Frequency: Around 1 per 10 registrations, starting to see this problem more though.
Situation: When working on ndn-hydra, an application that listens to around 6+ different prefixes, I noticed that I would consistently get the error
Registration for PREFIX failed: 403 authorization rejected
for about half of the times that I ran the application. I dismissed this fact when first encountered, and later become curious which lead me to open this issue for NFD-nightly as I thought it was a forwarding-related problem.Reproducing: You can see this error in action if you run ndn-hydra. It might not happen in the very first run, but a couple will bound to produce this error.
Problem: As stated in the issue, @yoursunny noted that the error is likely a result of python-ndn not implementing stop and wait correctly. More information is found inside that issue.