Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rhizome RX can fail due to locked database #72

Closed
gardners opened this issue Jan 31, 2013 · 2 comments
Closed

rhizome RX can fail due to locked database #72

gardners opened this issue Jan 31, 2013 · 2 comments

Comments

@gardners
Copy link
Member

... resulting in repeated rhizome fetches, which may also fail, and generally clog up all available bandwidth without doing anything really useful.

Happening quite a bit at LCA2013 with the congested WiFi. Not sure how to reproduce in the lab.

@quixotique
Copy link
Member

What is probably needed here is a change in rhizome_fetch.c to allow rhizome_write_content() to suspend the (pseudo) thread until the db write succeeds, by scheduling a short alarm if the SQlite write operation times out due to a lock. That will prevent the Rhizome fetch logic from closing the slot and re-starting the fetch from scratch, and will also slow the fetch rate down to the rate at which the local SQLite db can accept content (given its lock density).

@lakeman
Copy link
Member

lakeman commented Jun 26, 2014

The impact of issue has been greatly reduced. We now pass the full manifest to batphone via the monitor interface, so we don't need to hit the database for that. And we have re-implemented the MeshMS API using restful HTTP (See 73e1a70, 8c71c34), so we don't need to hit the database directly. Shortly we should be able to perform all other rhizome commands via HTTP, reducing the impact still further.

@lakeman lakeman closed this as completed Aug 11, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants