Add application software version to event serialization and Event
interface.
#720
Replies: 3 comments
-
does this have any effect on the transaction valid duration window or is it assumed that this process would happen within the 3 minute (default 2 minute) transaction valid duration period? e.g. using the example given in the HIP if I were to submit just before an upgrade at time T with the max duration of 3 minutes (T+00:03:00), is there any chance for instance that this means the transaction would still be valid even if the event stream was processed say 5 minutes after submission (T+00:05:00)? |
Beta Was this translation helpful? Give feedback.
-
@rhysied This probably would not have any effect on the transaction valid duration window. Because the code that processes transactions must be deterministic so that all nodes can come to the same conclusion, and because it's possible the logic for processing a transaction could change between versions, at the moment, it is best for services business logic not to process transactions that are in a half-and-half state, i.e., transactions that were submitted before the upgrade on one version of the code and then handled using a different version of the code after the upgrade. It's also possible that a node could take longer to upgrade than the 3-minute timeout. If that's the case, then even without this HIP, the user could craft a transaction that is out of sync with the consensus timestamp. If the transaction is not vaild because it's Please note, in any instance where we are discussing "time" we are referring to consensus time not wall-clock time. |
Beta Was this translation helpful? Give feedback.
-
Thinking through this discussion, I have included a new HIP to help aid in some of the issues around local clock-generated timestamps and consensus timestamps. #739 |
Beta Was this translation helpful? Give feedback.
-
hiero-ledger/hiero-consensus-node#6026
In a coming change, events will be written to disk in a preconsensus event stream. On a restart with software upgrade, events may be read from the saved preconsensus event stream and replayed to bring them to consensus. This addition to the event metadata will be useful to the application to decide whether or not to handle or ignore transactions from the previous software version.
Beta Was this translation helpful? Give feedback.
All reactions