near / read-rpc

Read-only NEAR RPC centralized-like performant solution
17 stars 5 forks source link

[Tracking issue] `UNKNOWN_TRANSACTION` response problem #224

Open khorolets opened 6 months ago

khorolets commented 6 months ago

Two weeks ago (let's say approximately since 2024-03-15, when the first 1.37.x resharding happened), we started receiving complaints about transactions needing to be added on the ReadRPC side.

This means that queries like EXPERIMENTAL_tx_status or tx are responded to with UNKNOWN_TRANSACION.

We haven't handled this problem entirely, so the issue is ongoing.

*The next updates will go in the comments**

kobayurii commented 5 months ago

Looks like that problem has been solved.

khorolets commented 5 months ago

Looks like that problem has been solved.

Yeah, but we have no idea why it happened and what has fixed it :(

khorolets commented 3 months ago

I am reopening the issue since in the last few days we've been reported about different transactions with this particular issue:

We have reindexed transaction around those blocks to make them work.

While I can find an explanation for the two of them (more than a few months ago) the majority of the transactions are new. It means they were indexed with this issue even though we have introduced the additional checks to prevent it. It doesn't make sense to me.

We double checked borsh and can confirm it has all necessary checks and guaranteed deterministic ser/de. The only suspect is ScyllaDB. I assume there's something happening during the data distribution on the write. We do only 3-4 checks to prevent them. Perhaps it's worth to: