Skip to content

Node account ID changes are not present at ingest #21219

@ibankov

Description

@ibankov

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:

  1. I update node 0.0.4 to have id 0.0.10
  2. 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.
  3. 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.

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions