Open AskAlexSharov opened 2 months ago
Hi Sir, I want help fix this issue but have a question:
In stage_exec
, external rwtx is defined as from kv.chainDB. It can be nil if noCommit==false, and that's why we use useExternalTx := txc.Tx != nil
.
However, instageBorHeimdall
,external rwtx will definitely be created as a non-nil value by db.update() if no error thrown. Is this true? if true, no need to fix this.
There are several places where stages are called. Some pass external rwtx, some are not.
“integration” usually doesn’t.
kv.RwTx and kv.RwDB are 2 different objects.
draft a pr #12097 to enable stage_bor_heimdall to commit partial progress, is this as expected?
see example in another stages:
useExternalTx := txc.Tx != nil