Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Allow configurable timeout for get_table_rows instead of being hardcoded to 10ms #10560

Open
matthewdarwin opened this issue Jul 21, 2021 · 0 comments

Comments

@matthewdarwin
Copy link

For non-public APIs, it would be nice to allow a configurable timeout for get_table_rows instead of being hardcoded to 10ms.

Discussion in EOSIO developer telegram:

Olexandr Shalakhin, [21.07.21 07:14]
[In reply to Matthew Darwin - EOS Nation]
we were doing get_table_rows with limit 1000 and some rows were missing. As I understood there is no guarantee it will return all 1000 items (in the table there are ~800 rows)

Aaron Cox (jesta) — Greymass, [21.07.21 11:58]
Another way to guarantee a more consistent view of table data is to run your own API 😂

Aaron Cox (jesta) — Greymass, [21.07.21 12:00]
The number of results returned per query is dependent on how busy the API server itself is. If you're using a public API node (shared resource), then you're competing with others for computational time on the server and there's no expectation that you'll get back the desired number of results.

Pagination is probably smart to setup regardless, it'll just introduce multiple calls.

Aaron Cox (jesta) — Greymass, [21.07.21 14:25]
It'd be nice if that time limit was configurable

Matthew Darwin - EOS Nation, [21.07.21 15:14]
[In reply to Aaron Cox (jesta) — Greymass]
does http-max-response-time-ms = 30 impact it?

Aaron Cox (jesta) — Greymass, [21.07.21 15:25]
I don't think so, but I'm not entirely sure. It's been a while since I've looked. I thought it was hard coded into nodeos.

Syed | Metal Pay | Bloks.io, [21.07.21 15:30]

explicit keep_processing(fc::microseconds&& duration = fc::milliseconds(10)) : end_time_(fc::time_point::now() + duration) {}

Syed | Metal Pay | Bloks.io, [21.07.21 15:30]
hardcoded to 10ms

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants