You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In #6302, we updated ANs to support storing transaction error messages to their local db. This ensures they have the data going forward, but nodes will still be missing previous data. This is needed by historic ANs to ensure they have all data necessary to serve requests.
Proposed Solution
Create a util command to backfill transaction error messages from a set of execution nodes to the nodes local database.
The command should take a comma separated list of execution node IDs. It will query these nodes (in order) to get error messages. There is a special value "any" which must be the only value if provided. When used, the command will use any valid execution node.
The command also optionally takes a start and end height. If not provided it will use the root block and latest sealed block as start/end.
It should only work when the node has indexing enabled, otherwise it returns an error. it can check by seeing if there are tx results for the start block.
When run, the command looks up local transaction results for all transactions in each block between start and end inclusive. For each transaction with Failed == true, request the transaction error messages from the ENs and store it into the local db.
When querying ENs, stop after the first successful response. Query the ENs in the order they were provided to the command.
As an optimization, use GetTransactionErrorMessagesByBlockID to query all tx error messages for the block at once.
Definition of Done
The util command works as expected
There are unit tests covering core functionality
The text was updated successfully, but these errors were encountered:
Problem Description
In #6302, we updated ANs to support storing transaction error messages to their local db. This ensures they have the data going forward, but nodes will still be missing previous data. This is needed by historic ANs to ensure they have all data necessary to serve requests.
Proposed Solution
Create a
util
command to backfill transaction error messages from a set of execution nodes to the nodes local database.The command should take a comma separated list of execution node IDs. It will query these nodes (in order) to get error messages. There is a special value "any" which must be the only value if provided. When used, the command will use any valid execution node.
The command also optionally takes a start and end height. If not provided it will use the root block and latest sealed block as start/end.
It should only work when the node has indexing enabled, otherwise it returns an error. it can check by seeing if there are tx results for the start block.
When run, the command looks up local transaction results for all transactions in each block between start and end inclusive. For each transaction with
Failed == true
, request the transaction error messages from the ENs and store it into the local db.When querying ENs, stop after the first successful response. Query the ENs in the order they were provided to the command.
As an optimization, use
GetTransactionErrorMessagesByBlockID
to query all tx error messages for the block at once.Definition of Done
The util command works as expected
There are unit tests covering core functionality
The text was updated successfully, but these errors were encountered: