Open nzenchik opened 9 months ago
So, this means that the translation between the message CID and the transaction hash isn't present in the index. I'm guessing that's happening because the node was restarted after it synced to a new head but before the indexer finished indexing.
Unfortunately, this code doesn't currently (although it really should...) record the last tipset indexed.
The fix is:
Is there any way to fix this with current node state or the only way is to roll back head to block before this transaction and resync node from there?
Fixing this would require writing a bit of code to fill in the gaps.
Could you check if you have the message bafy2bzaceboq6gh6oztidkxg2aeac3tjsmpawqchdiji7ofpie57smofputrw
on this node? Just to make sure?
Yes, node has this message
lotus chain getmessage bafy2bzaceboq6gh6oztidkxg2aeac3tjsmpawqchdiji7ofpie57smofputrw
{
"Message": {
"Version": 0,
"To": "f410ftz6bnd4lzaquley4eeifleuxjbfqsefozmwd6nq",
"From": "f410fhq3uzl2am6rmq6f6m5fxzdvhtisohkc7yowv27i",
"Nonce": 4,
"Value": "17000000000000000000",
"GasLimit": 2278816,
"GasFeeCap": "180234",
"GasPremium": "110033",
"Method": 3844450837,
"Params": null,
"CID": {
"/": "bafy2bzacecvfyihe6iyinsciqfft3t4mchy73dwcooqmtw3maiopn6tcihxvm"
}
},
"Signature": {
"Type": 3,
"Data": "NdvtU8Es+/amGUm0JkDQo5t/fc2srIQJqpIkt2lfWFYbaShWxQZCa1XCfkiS+frXxY82JMXo+IUHXCQ0UIOW4AA="
},
"CID": {
"/": "bafy2bzaceboq6gh6oztidkxg2aeac3tjsmpawqchdiji7ofpie57smofputrw"
}
}
Ok, then it's definitely an issue with the index.
Hey! Just want to say that we are working on this issue as part of the larger meta issue: fixing high impact correctness and performance problems in ETH RPC API - please follow that issue ticket for further updates.
There is currently a WIP PR for the whole meta issue here: https://github.com/filecoin-project/lotus/pull/12388
Checklist
Latest release
, the most recent RC(release canadiate) for the upcoming release or the dev branch(master), or have an issue updating to any of these.Lotus component
Lotus Version
Repro Steps
Describe the Bug
We are running archive node with
EnableSplitstore = false
,EnableEthRPC = true
andEnableMsgIndex = true
. For some transactions we get an error that they cannot be found. Here is an examplecurl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0xf9e71100c00934024a96b451b032c52e75ea46dfd3e50516eab6aba6afd569ad"],"id":1}' {"jsonrpc":"2.0","id":1,"error":{"code":1,"message":"failed to lookup Eth Txn 0xf9e71100c00934024a96b451b032c52e75ea46dfd3e50516eab6aba6afd569ad as bafy2bzaced46oeiayaetiasks22fdmbsyuxhl2sg37j6kbiw5k3kxjvp2vu22: failed to load message: ipld: could not find bafy2bzaced46oeiayaetiasks22fdmbsyuxhl2sg37j6kbiw5k3kxjvp2vu22"}}
The same transaction on https://filfox.info/en/message/0xf9e71100c00934024a96b451b032c52e75ea46dfd3e50516eab6aba6afd569ad?t=1 shows that it has different ID (bafy2bzaceboq6gh6oztidkxg2aeac3tjsmpawqchdiji7ofpie57smofputrw) than returned by nodeLogging Information