alicenet / utilities

Utilities for the AliceNet project
MIT License
1 stars 0 forks source link

Index worker hangs on missing transaction #39

Closed ghost closed 1 year ago

ghost commented 1 year ago

Describe the bug

Alicenet has the ability to forget transactions after a period of epochs. This means that if such a transaction has not be indexed, it is impossible to index going forward.

To Reproduce

❯ curl https://edge.alice.net/v1/get-block-header -X POST -d '{"Height": 493}' | jq .
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   882  100   867  100    15   1646     28 --:--:-- --:--:-- --:--:--  1692
{
  "BlockHeader": {
    "BClaims": {
      "ChainID": 21,
      "Height": 493,
      "TxCount": 1,
      "PrevBlock": "6d22a523816c7288587d748893aab19d4f4baf41ac27e98e712ed15c0365e04c",
      "TxRoot": "bf0388519f2ed83334480449969c712e874ff97d62bd675f9d7a9716f71aac75",
      "StateRoot": "ea237d279c7bcf74398c3f922aab0ee987bf13fe4424a9cca84f63c8cb2add9b",
      "HeaderRoot": "94ea573da241e215a29b21cbaf02d900ee357b3c6471bb7f2164b5085a2b8832"
    },
    "SigGroup": "2c28ce7f0c752e035b68687a8210cceb6068b5034bba9a4a8f2d43e3bbaa8877081b33b885370e04cd712601eb860bf821396bdbcd4b089aba0bfe7b1e649dd3253adba688741303e0b046632b35289a0d5c7648b414375e4d61a855abc5f0c3095ed894617e232df1779101e1d98e177340cb0fc6283cbc437d79a12290c2f12977be4fe3b44b393f9c80d2c86f5bacca6b56388a2f71d18c43f1ac40f4739e0a908be87a1d8ceab93bbe2bf87fe82e25aa6f0112e9a79a1eb7c94dd3b8b462",
    "TxHshLst": [
      "f6ac93561f73b32e644adb2b79889b098218b621fe905a7777a494e517d23073"
    ]
  }
}
❯ curl https://edge.alice.net/v1/get-mined-transaction -X POST -d '{"TxHash": "f6ac93561f73b32e644adb2b79889b098218b621fe905a7777a494e517d23073"}' | jq .
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   201  100   123  100    78   1157    733 --:--:-- --:--:-- --:--:--  1990
{
  "code": 2,
  "message": "unknown transaction: f6ac93561f73b32e644adb2b79889b098218b621fe905a7777a494e517d23073",
  "details": []
}

Expected behavior

Indexer is able to have information necessary for all history on alicenet.

ghost commented 1 year ago

We have BadgerDB backups that we'll need to write a backfill utility for.