-
Notifications
You must be signed in to change notification settings - Fork 648
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
Improve performance of get_account_history_operations
API
#613
Comments
This may break some client applications. So please be careful. Perhaps implement a mechanism for API servers to refuse to serve such API, if there is not one already. |
Actually perhaps the performance can be improved by getting use of the |
get_account_history
APIget_account_history
API
Actually the performance issue about |
All the I understand not all full nodes will change the Ill start with will like to know what @pmconrad think too. |
I'm with the UNIX philosophy: One tool for one job. Integrating an ES proxy into the witness_node makes things unnecessarily complex. If clients need a common endpoint to access both history and live chain data, set a common proxy before both witness_node and ES. |
okay, got it, lets fix. starting on |
any ideas for current implementation do the same as ideally we should have an composite key index that can track suggestions welcome. |
Since |
one thing that should work is to add a new field that should allow us to create new tag
RAM of course will be increased by saving an additional integer field(operation_type) on each created object. This option(or similar) was discarded in the past mainly because the data is already in the blockchain so it will be redundant to add again, however, an index that can get data from 2 different objects is something i was not able to find any example on how to do. if that is possible we can maybe do a good refactor without increasing ram much. |
Partially done. Moving to next milestone. |
Perhaps I can help. It sounds like you want to build a composite key based on values from 2 different objects, not just the account_transaction_history object, correct? I haven't looked at your situation in detail, but I have a little experience with key extractors. Take a look at https://github.com/bitshares/bitshares-core/pull/1019/files#diff-1ad134c975af5bd661e554a2a77f4767 Perhaps that is something to build on. I hope it helps. |
Many thanks for the comment. i am going to take a look as if i can solve it that way it will be the most efficient as we will use data already available in the blockchain. i have a solution that actually adds a new field to resuming the work here to give a try to john suggestion. if this works, it can also be of value in other issues. |
@oxarbitrage I set the status label to |
get_account_history
APIget_account_history_operations
API
The
get_account_history
API andget_account_history_operations
API are inefficient, which can be seen as DoS vulnerabilities for API servers especially full-full nodes.get_account_history
APIget_account_history_operations
APIThe text was updated successfully, but these errors were encountered: