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

[3.2] Refactor producer_plugin to consolidate controller push_transaction calls #29

Merged
merged 13 commits into from
Aug 29, 2022

Conversation

heifner
Copy link
Member

@heifner heifner commented Aug 19, 2022

producer_plugin had duplicate code around calling chain controller push_transaction which resulted in slight differences in handling of error conditions; particularly around logging of failures. This PR refactors the calling of controller push_transaction into a common push_transaction call so that all instances of handling incoming transactions are handled the same way. Now all transactions are logged regardless of the stage of execution. Also ordering of log messages are now consistent with transaction logged before transaction_success_tracing/transaction_failure_tracing which is logged before transaction_trace_success/transaction_trace_failure.

Includes a slight change to log output format of eosnetworkfoundation/mandel#733, new example:

debug 2022-08-19T13:21:48.872 nodeos    producer_plugin.cpp:1838      log_trx_results      ] [TRX_TRACE] Block 12 for producer eosio is REJECTING tx: 5766e8a589b7725f6d0dd9ea8044f62bedd18754b6902a310402e8fd49ecbcea, auth: eosio, action: eosio:unlinkauth, the owner of the linked permission needs to be the actor of the declared authorization

Includes a fix for channels::transaction_ack not always being signaled for expired or transactions with invalid signatures.
Includes a change to set disable-api-persisted-trx=true when running in HEAD mode as transaction side-effects are undone anyway when in HEAD mode so no need to ever speculatively execute them.

Resolves eosnetworkfoundation/mandel#297

@heifner heifner changed the title Refactor producer_plugin to consolidate controller push_transaction calls [3.2] Refactor producer_plugin to consolidate controller push_transaction calls Aug 19, 2022
@heifner heifner added the OCI Work exclusive to OCI team label Aug 19, 2022
@heifner heifner requested a review from linh2931 August 19, 2022 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCI Work exclusive to OCI team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refactor producer_plugin to remove dup code around push_transaction
2 participants