koinos / koinos-account-history

The account history microservice saves transaction history and provides an API to the Koinos cluster via RPC over AMQP.
MIT License
1 stars 0 forks source link

[BUG]: Unclean shutdown during sync #19

Open mvandeberg opened 10 months ago

mvandeberg commented 10 months ago

Is there an existing issue for this?

Current behavior

When shutting down account history during a sync, the process does not exit cleanly.

2023-11-29 13:53:46.860348 (account_history.kEVBa) [account_history.cpp:71] <info>: Opened database at block - Height: 62000, ID: 0x122078a9385c346eabdc84406a1730fea370ac614d4c99ec389d6a42be56a4c6eb29
2023-11-29 13:53:46.860387 (account_history.kEVBa) [main.cpp:434] <info>: Connecting AMQP client...
2023-11-29 13:53:46.864635 (account_history.kEVBa) [main.cpp:436] <info>: Established AMQP client connection to the server
2023-11-29 13:53:46.864678 (account_history.kEVBa) [main.cpp:438] <info>: Attempting to connect to block_store...
2023-11-29 13:53:46.865040 (account_history.kEVBa) [main.cpp:442] <info>: Established connection to block_store
2023-11-29 13:53:46.865062 (account_history.kEVBa) [main.cpp:444] <info>: Attempting to connect to chain...
2023-11-29 13:53:46.865376 (account_history.kEVBa) [main.cpp:448] <info>: Established connection to chain
2023-11-29 13:53:46.865701 (account_history.kEVBa) [main.cpp:459] <info>: Connecting AMQP request handler...
2023-11-29 13:53:46.870553 (account_history.kEVBa) [main.cpp:461] <info>: Established request handler connection to the AMQP server
2023-11-29 13:53:46.870583 (account_history.kEVBa) [main.cpp:465] <info>: Listening for requests over AMQP
2023-11-29 13:53:46.969531 (account_history.kEVBa) [main.cpp:131] <info>: Sync progress - Height: 63000, ID: 0x12204e715c7055b8ee41fc1f5711eef939511f79e5750ce52357158354ab8b67013e (1y, 21d, 21h, 06m, 03s block time remaining)
2023-11-29 13:53:47.065554 (account_history.kEVBa) [main.cpp:131] <info>: Sync progress - Height: 64000, ID: 0x1220b89251ccb7ced483d8f72a4150b39930e6fa5696059f7ad909612651b578851d (1y, 21d, 20h, 16m, 07s block time remaining)
2023-11-29 13:53:47.210558 (account_history.kEVBa) [main.cpp:131] <info>: Sync progress - Height: 65000, ID: 0x1220f3df56d9b30cb4b49b428c25ee67d74bbe886896ce1ce4a491e8a753d2c67f93 (1y, 21d, 19h, 23m, 39s block time remaining)
2023-11-29 13:53:47.314073 (account_history.kEVBa) [main.cpp:131] <info>: Sync progress - Height: 66000, ID: 0x1220df5cfc351cdaa9c52d7ca744cdc29f2ecf4d6e5400f9854291881373c80e6395 (1y, 21d, 18h, 31m, 40s block time remaining)
2023-11-29 13:53:47.465018 (account_history.kEVBa) [main.cpp:131] <info>: Sync progress - Height: 67000, ID: 0x122075ee6a43ac419746715a5f45009c7bc84f0f64aaf7d44d77536e8aef9a230f78 (1y, 21d, 17h, 40m, 40s block time remaining)
2023-11-29 13:53:47.595448 (account_history.kEVBa) [main.cpp:131] <info>: Sync progress - Height: 68000, ID: 0x12205186b895ba7f020dd64a4b5a75d2e820845ea62a7af4c3135f45e292fe17c64f (1y, 21d, 16h, 49m, 55s block time remaining)
^C2023-11-29 13:53:47.609099 (account_history.kEVBa) [main.cpp:302] <info>: Caught signal, shutting down...
terminate called after throwing an instance of 'boost::wrapexcept<koinos::mq::client_not_running>'
  what():  client is not running
zsh: IOT instruction (core dumped)  ./programs/koinos_account_history/koinos_account_history --basedir=.

When built in debug, the process appears to hang instead.

Expected behavior

The process should exist cleanly from a SIGINT.

Steps to reproduce

  1. Build on Ubuntu in release mode
  2. Run ./programs/koinos_account_history/koinos_account_history
  3. Kill process with CTRL+C

Environment

- OS: Ubuntu 22.04

Anything else?

No response