-
Notifications
You must be signed in to change notification settings - Fork 179
Labels
BugAn error that causes the feature to behave differently than what was expected based on design.An error that causes the feature to behave differently than what was expected based on design.
Description
From SDK team:
Testing with 2 nodes. Since we are not resetting the network when we do node update, some of the internal states of the consensus node get messed up
For example:
- I update node 0.0.4 to have id 0.0.10
- I submit another transaction with the old account id and it passes precheck (which would not normally happen in real env if we freeze and reset the network, i think). The node does not know it has been updated and it verifies with it's outdated account id.
- The transaction then fails on receipt. It goes into this logic in the consensus:
// The transaction account ID MUST have matched the creator!
// The node SHOULD have verified the transaction before it was submitted to the network.
// Since it didn't, it has failed in its due diligence and will be charged accordingly.
if (innerTransaction == InnerTransaction.NO
&& !creatorInfo.accountId().equals(txInfo.txBody().nodeAccountID())) {
throw new DueDiligenceException(INVALID_NODE_ACCOUNT, txInfo);
}
I think this is not normal, since whatever we do, the transaction will always fail wither in the first check (the preckeck from step 2) or it will fail on step 3.
Metadata
Metadata
Assignees
Labels
BugAn error that causes the feature to behave differently than what was expected based on design.An error that causes the feature to behave differently than what was expected based on design.