Transaction logger misses 'Left' Transactions and leads to differences with the traditional logger

I’m fairly certain the new transaction-logger is missing transactions that are classified as ‘Left’ in the summaries table?

Example:

select * from summaries where height =261 

Result (first column is summaries.id):

"753"	"binary data"	"1623220987500"	"261"	"{"Left":{"cost":"6010","hash":"b010562ed14cde371f48fdc39526f312395950b83cd7c42c864b1b5e38d58e87","type":{"type":"accountTransaction","contents":"transfer"},"index":0,"result":{"events":[{"to":{"type":"AddressAccount","address":"42Hc6eq8GaKpz7w9B7tGD1mNWLjbYFq3iSyK5NjNPNif7fgNVS"},"tag":"Transferred","from":{"type":"AddressAccount","address":"38T2PSXK6JVqNmoGqzjtnYsyb76uuNYKSpEoA8vPdtmRmpZhAv"},"amount":"3000000000"}],"outcome":"success"},"sender":"38T2PSXK6JVqNmoGqzjtnYsyb76uuNYKSpEoA8vPdtmRmpZhAv","energyCost":601}}"
"754"	"binary data"	"1623220987500"	"261"	"{"Right":{"tag":"Mint","mintBakingReward":"333962969","foundationAccount":"4LH62AZmugKXFA2xXZhpoNbt2fFhAn8182kdHgxCu8cyiZGo2c","mintFinalizationReward":"19644880","mintPlatformDevelopmentCharge":"39289762"}}"
"755"	"binary data"	"1623220987500"	"261"	"{"Right":{"tag":"FinalizationRewards","remainder":"6","finalizationRewards":[{"amount":"1532420","address":"3CbvrNVpcHpL7tyT2mhXxQwNWHiPNYEJRgp3CMgEcMyXivms6B"},{"amount":"1532420","address":"3EctbG8WaQkTqZb1NTJPAFnqmuhvW62pQbywvqb9VeyqaFZdzN"},{"amount":"5861520","address":"3XSLuJcXg6xEua6iBPnWacc3iWh93yEDMCqX8FbE3RDSbEnT9P"},{"amount":"2490186","address":"3eUA4NnWufEqTBXR2QtTwjPxHZRGZvoqHaVjybmzZSqbuG32vJ"},{"amount":"1532420","address":"3ofwYFAkgV59BsHqzmiWyRmmKRB5ZzrPfbmx5nup24cE53jNX5"},{"amount":"1532420","address":"47xTHwtFra1d4Mq4DYZuZYJEYrDXY34C4CGkTTzT6eiwjEczuT"},{"amount":"1532420","address":"49SJ6R6T9zo1C5cLVyxbwAuZC3EcDB9a78vSQYm3ZLA2y2eojM"},{"amount":"2098651","address":"4MPJybKC9Kz7kw9KNyLHhuAEt4ZTxLsd3DBDbxtKdUiv4fXqVN"},{"amount":"1532420","address":"4d13WVDNKVGDUxRUb1PRQAJyTwWSVcjWS7uwZ1oqmDm5icQEPT"}]}}"
"756"	"binary data"	"1623220987500"	"261"	"{"Right":{"tag":"BlockReward","baker":"3ofwYFAkgV59BsHqzmiWyRmmKRB5ZzrPfbmx5nup24cE53jNX5","bakerReward":"2704","newGASAccount":"2704","oldGASAccount":"0","transactionFees":"6010","foundationCharge":"602","foundationAccount":"4LH62AZmugKXFA2xXZhpoNbt2fFhAn8182kdHgxCu8cyiZGo2c"}}"

Next, try to find this summary.id in the ati table:

select * from ati where summary = 753

Result:

Nothing…

To compare: I have another node running with ‘traditional’ transaction logging through the node itself.

select * from summaries where height =261 

Result:

"749"	"binary data"	"1623220987500"	"261"	"{"Left":{"cost":"6010","hash":"b010562ed14cde371f48fdc39526f312395950b83cd7c42c864b1b5e38d58e87","type":{"type":"accountTransaction","contents":"transfer"},"index":0,"result":{"events":[{"to":{"type":"AddressAccount","address":"42Hc6eq8GaKpz7w9B7tGD1mNWLjbYFq3iSyK5NjNPNif7fgNVS"},"tag":"Transferred","from":{"type":"AddressAccount","address":"38T2PSXK6JVqNmoGqzjtnYsyb76uuNYKSpEoA8vPdtmRmpZhAv"},"amount":"3000000000"}],"outcome":"success"},"sender":"38T2PSXK6JVqNmoGqzjtnYsyb76uuNYKSpEoA8vPdtmRmpZhAv","energyCost":601}}"
"750"	"binary data"	"1623220987500"	"261"	"{"Left":{"cost":"6010","hash":"b010562ed14cde371f48fdc39526f312395950b83cd7c42c864b1b5e38d58e87","type":{"type":"accountTransaction","contents":"transfer"},"index":0,"result":{"events":[{"to":{"type":"AddressAccount","address":"42Hc6eq8GaKpz7w9B7tGD1mNWLjbYFq3iSyK5NjNPNif7fgNVS"},"tag":"Transferred","from":{"type":"AddressAccount","address":"38T2PSXK6JVqNmoGqzjtnYsyb76uuNYKSpEoA8vPdtmRmpZhAv"},"amount":"3000000000"}],"outcome":"success"},"sender":"38T2PSXK6JVqNmoGqzjtnYsyb76uuNYKSpEoA8vPdtmRmpZhAv","energyCost":601}}"
"751"	"binary data"	"1623220987500"	"261"	"{"Right":{"tag":"Mint","mintBakingReward":"333962969","foundationAccount":"4LH62AZmugKXFA2xXZhpoNbt2fFhAn8182kdHgxCu8cyiZGo2c","mintFinalizationReward":"19644880","mintPlatformDevelopmentCharge":"39289762"}}"
"752"	"binary data"	"1623220987500"	"261"	"{"Right":{"tag":"FinalizationRewards","remainder":"6","finalizationRewards":[{"amount":"1532420","address":"3CbvrNVpcHpL7tyT2mhXxQwNWHiPNYEJRgp3CMgEcMyXivms6B"},{"amount":"1532420","address":"3EctbG8WaQkTqZb1NTJPAFnqmuhvW62pQbywvqb9VeyqaFZdzN"},{"amount":"5861520","address":"3XSLuJcXg6xEua6iBPnWacc3iWh93yEDMCqX8FbE3RDSbEnT9P"},{"amount":"2490186","address":"3eUA4NnWufEqTBXR2QtTwjPxHZRGZvoqHaVjybmzZSqbuG32vJ"},{"amount":"1532420","address":"3ofwYFAkgV59BsHqzmiWyRmmKRB5ZzrPfbmx5nup24cE53jNX5"},{"amount":"1532420","address":"47xTHwtFra1d4Mq4DYZuZYJEYrDXY34C4CGkTTzT6eiwjEczuT"},{"amount":"1532420","address":"49SJ6R6T9zo1C5cLVyxbwAuZC3EcDB9a78vSQYm3ZLA2y2eojM"},{"amount":"2098651","address":"4MPJybKC9Kz7kw9KNyLHhuAEt4ZTxLsd3DBDbxtKdUiv4fXqVN"},{"amount":"1532420","address":"4d13WVDNKVGDUxRUb1PRQAJyTwWSVcjWS7uwZ1oqmDm5icQEPT"}]}}"
"753"	"binary data"	"1623220987500"	"261"	"{"Right":{"tag":"BlockReward","baker":"3ofwYFAkgV59BsHqzmiWyRmmKRB5ZzrPfbmx5nup24cE53jNX5","bakerReward":"2704","newGASAccount":"2704","oldGASAccount":"0","transactionFees":"6010","foundationCharge":"602","foundationAccount":"4LH62AZmugKXFA2xXZhpoNbt2fFhAn8182kdHgxCu8cyiZGo2c"}}"

Two things to note:

  1. the summaries.ids are different, probably caused by…
  2. the ‘Left’ transaction is seen twice, as it’s a transaction that affects 2 accounts, while with the new logger (see above), the transaction is only there once…

Now, looking up one of the ‘Left’ summaries.ids in the ati table:

select * from ati where summary = 749;

Result:

"2833"	"binary data"	"749"

Ie, that transaction can be found in the ati table.

Is this expected behaviour from the new logger? I was under the impression that is was a vastly improved approach (pulling), with exactly the same results as the traditional logging, but that doesn’t seem to be the case?

Am I the only one seeing this? Or the only one trying to use the new logger?

Apologies for the slow response time.

First of all, I can verify your findings. Note that the service is not yet deployed internally as it hasn’t yet been verified to work correctly. Thank you for helping with that.

I don’t think the difference is intentional, but the row not duplicated like the new service does is what we actually want. Whether you have two summary rows with sender and receiver pointing to each one or one summary with both sender and receiver pointing to it, the result of joining the tables (which is what matters) is the same. But the latter is of course the appropriate solution in the given data model.

Edit: Removed comment on ATI that repeated what you already said above but I somehow missed.

Bottom line: Yes, the ingested data is different, but it should be an improvement as the join result is the same. And yes there seems to be a bug that causes ATI entries to be missing. I’m currently investigating this.