exp/ingest/io: Remove support for TransactionMeta.V=0 #2101
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Checklist
PR Structure
otherwise).
services/friendbot
, orall
ordoc
if the changes are broad or impact manypackages.
Thoroughness
.md
files, etc... affected by this change). Take a look in the
docs
folder for a given service,like this one.
Release planning
needed with deprecations, added features, breaking changes, and DB schema changes.
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.
What
This commit removes support for ingesting
TransactionMeta.V=0
inio.LedgerTransaction.GetChanges
.Close #2097.
Why
The code generating V0 meta was changed in stellar-core but without upgrading the V param. Some V0 meta has only one
LEDGER_ENTRY_STATE
emitted only when a ledger entry is first modified in a ledger but others add it before everyLEDGER_ENTRY_UPDATE
andLEDGER_ENTRY_REMOVED
. It looks like the code to parse meta to support both cases should be possible but since transaction meta in protocol version <10 can be incomplete (see #1902) users still need to switch to V2 to be able to parse it.See:
Known limitations
TransactionMeta
generated by the older versions of stellar-core will not be supported but the current code is inLedgerTransaction.GetChanges
is broken anyway.