Skip to content

Fallback can't work while postgres database's table <blocks> store no blocks #3

@WhatMe1on

Description

@WhatMe1on

when store no blocks, program ./multichain-sync sync will work on the WALLET_STARTING_HEIGHT set block forever
logs below:

INFO [03-27|15:10:19.359] exec wallet sync
INFO [03-27|15:10:19.359] loaded chain config                      config="{ChainId:1 ChainName:Ethereum RpcUrl:127.0.0.1:8289 StartingHeight:3547100 Confirmations:10 SynchronizerInterval:5s WorkerInterval:3s BlocksStep:5}"

INFO [03-27|15:10:19.362] New deposit                              ChainAccountRpc=127.0.0.1:8189
INFO [03-27|15:10:19.362] New account chain rpc client             chainName=Ethereum
INFO [03-27|15:10:19.363] "\r\n2025/03/27 15:10:19 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/blocks.go:58\n\x1b[0m\x1b[33m[0.968ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"blocks\" ORDER BY number DESC LIMIT 1"
INFO [03-27|15:10:19.739] starting deposit...
INFO [03-27|15:10:19.740] start fallback......
INFO [03-27|15:10:19.740] handle deposit task start
INFO [03-27|15:10:22.742] fallback task                            depositIsFallBack=false
INFO [03-27|15:10:22.742] no block fallback, waiting for fallback task coming
WARN [03-27|15:10:25.450] lastTraversedHeader and header zero: parentHash and hash parentHash=dc23b8..6e550e Hash=f68a87..894afd
WARN [03-27|15:10:25.450] found block fallback, start fallback task
INFO [03-27|15:10:25.740] fallback task                            depositIsFallBack=true
INFO [03-27|15:10:25.740] notified of fallback                     fallbackBlockNumber=3,547,101
INFO [03-27|15:10:25.740] start get block header info              lastBlockNumber=3,547,100
INFO [03-27|15:10:26.082] "\r\n2025/03/27 15:10:26 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/blocks.go:70\n\x1b[0m\x1b[33m[2.683ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"blocks\" WHERE number = 3547100 LIMIT 1"
WARN [03-27|15:10:26.082] query block from database err            err="record not found"
INFO [03-27|15:10:26.084] "\r\n2025/03/27 15:10:26 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/business.go:44\n\x1b[0m\x1b[33m[1.853ms] \x1b[34;1m[rows:1]\x1b[0m SELECT * FROM \"business\""
INFO [03-27|15:10:26.084] handle business                          BusinessUid=tora_1
INFO [03-27|15:10:26.084] Query fallback transactions              startBlock=3547101 EndBlock=3547101
INFO [03-27|15:10:26.086] "\r\n2025/03/27 15:10:26 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/transactions.go:105\n\x1b[0m\x1b[33m[2.058ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"transactions_tora_1\" WHERE block_number >= 3547101 and block_number <= 3547101"
INFO [03-27|15:10:26.088] "\r\n2025/03/27 15:10:26 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/blocks.go:58\n\x1b[0m\x1b[33m[0.656ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"blocks\" ORDER BY number DESC LIMIT 1"
INFO [03-27|15:10:28.742] fallback task                            depositIsFallBack=false
INFO [03-27|15:10:28.742] no block fallback, waiting for fallback task coming
WARN [03-27|15:10:31.287] headers[i-1] nad headers[i] parentHash and hash parentHash=b5f7f9..61bde4 Hash=cf966b..070f21
WARN [03-27|15:10:31.287] found block fallback, start fallback task
INFO [03-27|15:10:31.740] fallback task                            depositIsFallBack=true
INFO [03-27|15:10:31.740] notified of fallback                     fallbackBlockNumber=1
INFO [03-27|15:10:31.740] start get block header info              lastBlockNumber=0
INFO [03-27|15:10:32.077] "\r\n2025/03/27 15:10:32 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/blocks.go:70\n\x1b[0m\x1b[33m[0.853ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"blocks\" WHERE number = 0 LIMIT 1"
WARN [03-27|15:10:32.077] query block from database err            err="record not found"
INFO [03-27|15:10:32.077] "\r\n2025/03/27 15:10:32 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/business.go:44\n\x1b[0m\x1b[33m[0.256ms] \x1b[34;1m[rows:1]\x1b[0m SELECT * FROM \"business\""
INFO [03-27|15:10:32.077] handle business                          BusinessUid=tora_1
INFO [03-27|15:10:32.077] Query fallback transactions              startBlock=1       EndBlock=1
INFO [03-27|15:10:32.077] "\r\n2025/03/27 15:10:32 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/transactions.go:105\n\x1b[0m\x1b[33m[0.293ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"transactions_tora_1\" WHERE block_number >= 1 and block_number <= 1"
INFO [03-27|15:10:32.078] "\r\n2025/03/27 15:10:32 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/blocks.go:58\n\x1b[0m\x1b[33m[0.279ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"blocks\" ORDER BY number DESC LIMIT 1"
INFO [03-27|15:10:34.742] fallback task                            depositIsFallBack=false
INFO [03-27|15:10:34.742] no block fallback, waiting for fallback task coming
WARN [03-27|15:10:37.039] headers[i-1] nad headers[i] parentHash and hash parentHash=b5f7f9..61bde4 Hash=cdd90f..764664
WARN [03-27|15:10:37.039] found block fallback, start fallback task
INFO [03-27|15:10:37.740] fallback task                            depositIsFallBack=true
INFO [03-27|15:10:37.740] notified of fallback                     fallbackBlockNumber=1
INFO [03-27|15:10:37.740] start get block header info              lastBlockNumber=0
INFO [03-27|15:10:38.092] "\r\n2025/03/27 15:10:38 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/blocks.go:70\n\x1b[0m\x1b[33m[2.134ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"blocks\" WHERE number = 0 LIMIT 1"
WARN [03-27|15:10:38.092] query block from database err            err="record not found"
INFO [03-27|15:10:38.092] "\r\n2025/03/27 15:10:38 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/business.go:44\n\x1b[0m\x1b[33m[0.636ms] \x1b[34;1m[rows:1]\x1b[0m SELECT * FROM \"business\""
INFO [03-27|15:10:38.093] handle business                          BusinessUid=tora_1
INFO [03-27|15:10:38.093] Query fallback transactions              startBlock=1       EndBlock=1
INFO [03-27|15:10:38.094] "\r\n2025/03/27 15:10:38 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/transactions.go:105\n\x1b[0m\x1b[33m[1.029ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"transactions_tora_1\" WHERE block_number >= 1 and block_number <= 1"
INFO [03-27|15:10:38.095] "\r\n2025/03/27 15:10:38 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/blocks.go:58\n\x1b[0m\x1b[33m[0.472ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"blocks\" ORDER BY number DESC LIMIT 1"
INFO [03-27|15:10:40.740] fallback task                            depositIsFallBack=false
INFO [03-27|15:10:40.740] no block fallback, waiting for fallback task coming
WARN [03-27|15:10:41.290] headers[i-1] nad headers[i] parentHash and hash parentHash=b5f7f9..61bde4 Hash=cdd90f..764664
WARN [03-27|15:10:41.290] found block fallback, start fallback task
INFO [03-27|15:10:43.742] fallback task                            depositIsFallBack=true
INFO [03-27|15:10:43.742] notified of fallback                     fallbackBlockNumber=1
INFO [03-27|15:10:43.742] start get block header info              lastBlockNumber=0
INFO [03-27|15:10:44.589] "\r\n2025/03/27 15:10:44 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/blocks.go:70\n\x1b[0m\x1b[33m[0.886ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"blocks\" WHERE number = 0 LIMIT 1"
WARN [03-27|15:10:44.589] query block from database err            err="record not found"
INFO [03-27|15:10:44.589] "\r\n2025/03/27 15:10:44 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/business.go:44\n\x1b[0m\x1b[33m[0.300ms] \x1b[34;1m[rows:1]\x1b[0m SELECT * FROM \"business\""
INFO [03-27|15:10:44.589] handle business                          BusinessUid=tora_1
INFO [03-27|15:10:44.589] Query fallback transactions              startBlock=1       EndBlock=1
INFO [03-27|15:10:44.590] "\r\n2025/03/27 15:10:44 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/transactions.go:105\n\x1b[0m\x1b[33m[0.390ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"transactions_tora_1\" WHERE block_number >= 1 and block_number <= 1"
INFO [03-27|15:10:44.591] "\r\n2025/03/27 15:10:44 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/blocks.go:58\n\x1b[0m\x1b[33m[0.298ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"blocks\" ORDER BY number DESC LIMIT 1"
WARN [03-27|15:10:45.829] headers[i-1] nad headers[i] parentHash and hash parentHash=b5f7f9..61bde4 Hash=276b37..5a0e2c
WARN [03-27|15:10:45.829] found block fallback, start fallback task
INFO [03-27|15:10:46.740] fallback task                            depositIsFallBack=true
INFO [03-27|15:10:46.740] notified of fallback                     fallbackBlockNumber=1
INFO [03-27|15:10:46.740] start get block header info              lastBlockNumber=0
^CINFO [03-27|15:10:46.774] shutting down batch producer
INFO [03-27|15:10:46.774] stop fallback......
INFO [03-27|15:10:47.577] "\r\n2025/03/27 15:10:47 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/blocks.go:70\n\x1b[0m\x1b[33m[0.377ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"blocks\" WHERE number = 0 LIMIT 1"
WARN [03-27|15:10:47.577] query block from database err            err="record not found"
INFO [03-27|15:10:47.577] "\r\n2025/03/27 15:10:47 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/business.go:44\n\x1b[0m\x1b[33m[0.171ms] \x1b[34;1m[rows:1]\x1b[0m SELECT * FROM \"business\""
INFO [03-27|15:10:47.577] handle business                          BusinessUid=tora_1
INFO [03-27|15:10:47.577] Query fallback transactions              startBlock=1       EndBlock=1
INFO [03-27|15:10:47.577] "\r\n2025/03/27 15:10:47 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/transactions.go:105\n\x1b[0m\x1b[33m[0.162ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"transactions_tora_1\" WHERE block_number >= 1 and block_number <= 1"
ERROR[03-27|15:10:47.577] handle fallback block fail               err="context canceled"
INFO [03-27|15:10:47.577] "\r\n2025/03/27 15:10:47 \x1b[32m/home/ccacr/project/theWeb3/wallet/multichain-sync-account/database/blocks.go:58\n\x1b[0m\x1b[33m[0.133ms] \x1b[34;1m[rows:0]\x1b[0m SELECT * FROM \"blocks\" ORDER BY number DESC LIMIT 1"
INFO [03-27|15:10:47.577] stop fallback in worker
INFO [03-27|15:10:47.578] stop fallback success

As you can see, "parentHash=b5f7f9..61bde4" appear 4 times in log with no blocks store in table

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions