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

Release 1.1.4 #5098

Merged
merged 13 commits into from
Aug 8, 2018
Merged

Release 1.1.4 #5098

merged 13 commits into from
Aug 8, 2018

Conversation

wanderingbort
Copy link
Contributor

No description provided.

b1bart and others added 13 commits August 6, 2018 10:15
in #5001 the ability to bill appropriate CPU time for `soft_fail` and `hard_fail` scheduled transaction was added.  However, this exposes an ambiguity in the block structure:  There is no way to represent the objective failure of a scheduled transaction due to this limit.  This is because the measurement is subjective and must be strictly less than or equal to this limit otherwise the _block_ is objectively bad.  As a result, producers will no longer include those scheduled transactions in their blocks, giving each producer a chance to execute it in under the limited time or to another objective failure case.

Previous versions of `nodeos` were producing 0 values for billed transaction time which did not resolve the ambgiuity but shifted the failure mode from the desired mode (transaction exceeded an objective maximum) to a different failure mode (transaction under the minimum billable time) allowing those blocks to validate correctly despite the mismatch.

resolves #5057
producer plugin was treating leeway cpu exceptions as subjective which in turn implies to the rest of the producer code that the block is exhausted.  However, this exception rarely clears in a fresh block (only on wall-clock wobble) so it is in-appropriate for the producer plugin to consider this "subjective"
…-fail-ambiguous-dtrx-case

make scheduled transactions subjectively fail on tx_cpu_usage_exceeded
…-producer-subjective

remove producer-subjectivness from leeway
- Various regression/unit tests

Co-authored-by: Kevin Heifner <[email protected]>
Co-authored-by: Matt Witherspoon <[email protected]>
Backport of `fix/asset_mult_and_div` onto `release/1.1.x`
@wanderingbort wanderingbort merged commit 4f4e5c2 into master Aug 8, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants