-
Notifications
You must be signed in to change notification settings - Fork 69
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
Move abi serialization of transaction trace off main thread for chain_plugin: get_table_rows
and get_account
#1054
Conversation
plugins/chain_plugin/include/eosio/chain_plugin/chain_plugin.hpp
Outdated
Show resolved
Hide resolved
for( unsigned int count = 0; cur_time <= params_deadline && count < p.limit && itr != end_itr; ++itr, cur_time = fc::time_point::now() ) { | ||
for( unsigned int count = 0; | ||
cur_time <= params_deadline && count < p.limit && itr != end_itr; | ||
++count, ++itr, cur_time = fc::time_point::now() ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Curious how many more rows you get with this impl than previous impl. Less is constrained by the params_deadline
so should be considerably more I would think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it might be much more, as just extracting the binary data should be very fast.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you test it and provide some #s.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should have a http_max_main_thread_time
, and a http_max_response_time
for the total time taken (main_thread + http_thread times).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like overkill. Would like to avoid new options if at all possible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you test it and provide some #s.
Let me see if I can figure out how. I'm not very knowledgeable about this kind of things, but I need to learn.
Resolves #743.
The API deadline is now checked only for the part executed on the main thread. The deserialization part, executed on the http thread pool, is limited only by
abi_serializer_max_time
, which is checked on a per-row basis.Here is a proposal for a new way of setting API timeouts for nodeos 5.0.