Upgrade Algorand Indexer 2.10.0 along with Algorand 3.5.1

We are performing upgrade from algorand-3.4.2 to algorand-3.5.1 and algorand-indexer-2.9.0 to algorand-indexer-2.10.0 today. It is known that there will be database migration for both algorand and algorand indexer. The database migration has been completed for algorand but our node is still catching up the the latest blocks.

When we start algorand-indexer, the following logs are observed but no more:

Apr 11 07:28:08 algorand-2 algorand-indexer[997]: {"level":"info","msg":"Running 2 migrations.","time":"2022-04-11T07:28:08Z"}
Apr 11 07:28:08 algorand-2 algorand-indexer[997]: {"level":"info","msg":"Setting status: Active migration: convert account.account_data column","time":"2022-04-11T07:28:08Z"}

How can I check if the database migration for indexer is still in good progress? It’s almost 10 hours after starting algorand-indexer, and a restart of the algorand-indexer.service does not help.


Unfortunately, by restarting indexer, I wonder if you cancelled the database transaction and had to start over.

A mainnet indexer upgrade using an db.r5.xlarge instance took about a half hour, so ten hours sounds long. What sort of hardware are you using? Is there3 anything interesting reported if you hit the /health endpoint?

1 Like

The migration has just completed:

Apr 11 19:42:44 algorand-2 algorand-indexer[997]: {"level":"info","msg":"Setting status: Active migration: Mark migrations done","time":"2022-04-11T19:42:44Z"}
Apr 11 19:42:44 algorand-2 algorand-indexer[997]: {"level":"info","msg":"fetching genesis from algod","time":"2022-04-11T19:42:44Z"}
Apr 11 19:42:44 algorand-2 algorand-indexer[997]: {"level":"info","msg":"Setting status: Migrations Complete","time":"2022-04-11T19:42:44Z"}
Apr 11 19:42:44 algorand-2 algorand-indexer[997]: {"level":"info","msg":"Migration finished successfully.","time":"2022-04-11T19:42:44Z"}

Hi John,

The data load for the mainnet-v1.0 is finished in archival mode and now is in parallel with the last block stated in https://algoexplorer.io/.
Now I want to start the indexer. But, currently the config.json file includes this information only:
“Archival”: true

Which parameters and values should be in config.json file, so that
-Archival mode can stop
-The mainnet data can continue to sync from the last block that has been retrieved
-Also the indexer can be started

Is the version of the indexer important to define the parameters and values in config.json file?
My indexer version is 2.10.

In this regard, is it possible that you can share here the correct config.json file here to serve for this purpose?
Hope to hear from you soon.

The archival node is necessary for normal indexer operation, so I wouldn’t disable archival mode or shut down the node. The config you mention appears to be for the algod node, so I would leave that as is.

Indexer can be started and pointed to the archival node to catch up. The version of indexer is not important so long as it supports the most recent consensus version, but I would recommend using the most recent version, at this time 2.11.1.