Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: log errors on block download failure; implement max retries #503

Merged
merged 2 commits into from
Mar 19, 2024

Conversation

MicaiahReid
Copy link
Contributor

Description

Before this PR, Chainhook would loop infinitely if there is a problem downloading a BTC block, and it wouldn't log much information as to what was causing the failure. This PR implements better logging, and breaks out of the loop at 10 failed attempts.

@MicaiahReid MicaiahReid requested review from csgui and lgalabru March 13, 2024 18:46
@MicaiahReid MicaiahReid force-pushed the fix-download-btc-block branch 2 times, most recently from 2b08951 to 86a03ad Compare March 14, 2024 20:49
Copy link
Contributor

@csgui csgui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM!

Just a remark: maybe that solution can be improved as a configuration on the Chainhook.toml file at the limits table settings. Or even more granular, for instance, as a configuration in a predicate json file.

@MicaiahReid
Copy link
Contributor Author

@csgui Great call!

There's a lot to be desired still in our implementation of limits like these, I've made this issue to track! #533

@MicaiahReid MicaiahReid force-pushed the fix-download-btc-block branch from 86a03ad to c577146 Compare March 19, 2024 15:08
@MicaiahReid MicaiahReid merged commit 3bfb0e1 into develop Mar 19, 2024
3 checks passed
@MicaiahReid MicaiahReid deleted the fix-download-btc-block branch March 19, 2024 15:14
MicaiahReid added a commit that referenced this pull request Mar 27, 2024
### Description

Before this PR, Chainhook would loop infinitely if there is a problem
downloading a BTC block, and it wouldn't log much information as to what
was causing the failure. This PR implements better logging, and breaks
out of the loop at 10 failed attempts.
MicaiahReid added a commit that referenced this pull request Mar 27, 2024
### Description

Before this PR, Chainhook would loop infinitely if there is a problem
downloading a BTC block, and it wouldn't log much information as to what
was causing the failure. This PR implements better logging, and breaks
out of the loop at 10 failed attempts.
github-actions bot pushed a commit that referenced this pull request Mar 27, 2024
## [1.4.0](v1.3.1...v1.4.0) (2024-03-27)

### Features

* detect http / rpc errors as early as possible ([ad78669](ad78669))
* use stacks.rocksdb for predicate scan ([#514](#514)) ([a4f1663](a4f1663)), closes [#513](#513) [#485](#485)

### Bug Fixes

* enable debug logs in release mode ([#537](#537)) ([fb49e28](fb49e28))
* improve error handling, and more! ([#524](#524)) ([86b5c78](86b5c78)), closes [#498](#498) [#521](#521) [#404](#404) [/github.com//issues/517#issuecomment-1992135101](https://github.com/hirosystems//github.com/hirosystems/chainhook/issues/517/issues/issuecomment-1992135101) [#517](#517) [#506](#506) [#510](#510) [#519](#519)
* log errors on block download failure; implement max retries ([#503](#503)) ([0fc38cb](0fc38cb))
* **metrics:** update latest ingested block on reorg ([#515](#515)) ([8f728f7](8f728f7))
* order and filter blocks used to seed forking block pool ([#534](#534)) ([a11bc1c](a11bc1c))
* seed forking handler with unconfirmed blocks to improve startup stability ([#505](#505)) ([485394e](485394e)), closes [#487](#487)
* skip db consolidation if no new dataset was downloaded ([#513](#513)) ([983a165](983a165))
* update scan status for non-triggering predicates ([#511](#511)) ([9073f42](9073f42)), closes [#498](#498)
github-actions bot pushed a commit that referenced this pull request Apr 6, 2024
## [1.5.0](v1.4.1...v1.5.0) (2024-04-06)

### Features

* add brc-20 schemas for ordhook ([#551](#551)) ([1e25a8f](1e25a8f))
* detect http / rpc errors as early as possible ([e515116](e515116))
* rm blocks ([f35498d](f35498d))
* use stacks.rocksdb for predicate scan ([#514](#514)) ([0baae10](0baae10)), closes [#513](#513) [#485](#485)

### Bug Fixes

* build error ([03b3938](03b3938))
* log errors on block download failure; implement max retries ([#503](#503)) ([3bfb0e1](3bfb0e1))
* **metrics:** update latest ingested block on reorg ([#515](#515)) ([823713a](823713a))
* order and filter blocks used to seed forking block pool ([#534](#534)) ([a2865b7](a2865b7))
* revisit 7+ blocks reorg handling ([#553](#553)) ([184fd07](184fd07))
* seed forking handler with unconfirmed blocks to improve startup stability ([#505](#505)) ([b77aca2](b77aca2)), closes [#487](#487)
* skip db consolidation if no new dataset was downloaded ([#513](#513)) ([b1469a6](b1469a6))
* update scan status for non-triggering predicates ([#511](#511)) ([32cdfee](32cdfee)), closes [#498](#498)
Copy link

github-actions bot commented Apr 6, 2024

🎉 This PR is included in version 1.5.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

vabanaerytk added a commit to vabanaerytk/chainhook that referenced this pull request Aug 7, 2024
## [1.4.0](hirosystems/chainhook@v1.3.1...v1.4.0) (2024-03-27)

### Features

* detect http / rpc errors as early as possible ([4a3e7e8](hirosystems/chainhook@4a3e7e8))
* use stacks.rocksdb for predicate scan ([#514](hirosystems/chainhook#514)) ([bff1372](hirosystems/chainhook@bff1372)), closes [#513](hirosystems/chainhook#513) [#485](hirosystems/chainhook#485)

### Bug Fixes

* enable debug logs in release mode ([#537](hirosystems/chainhook#537)) ([5ff21e0](hirosystems/chainhook@5ff21e0))
* improve error handling, and more! ([#524](hirosystems/chainhook#524)) ([2cfedd7](hirosystems/chainhook@2cfedd7)), closes [#498](hirosystems/chainhook#498) [#521](hirosystems/chainhook#521) [#404](hirosystems/chainhook#404) [/github.com/hirosystems/chainhook/issues/517#issuecomment-1992135101](https://github.com/hirosystems//github.com/hirosystems/chainhook/issues/517/issues/issuecomment-1992135101) [#517](hirosystems/chainhook#517) [#506](hirosystems/chainhook#506) [#510](hirosystems/chainhook#510) [#519](hirosystems/chainhook#519)
* log errors on block download failure; implement max retries ([#503](hirosystems/chainhook#503)) ([0454a4f](hirosystems/chainhook@0454a4f))
* **metrics:** update latest ingested block on reorg ([#515](hirosystems/chainhook#515)) ([7653766](hirosystems/chainhook@7653766))
* order and filter blocks used to seed forking block pool ([#534](hirosystems/chainhook#534)) ([ff775de](hirosystems/chainhook@ff775de))
* seed forking handler with unconfirmed blocks to improve startup stability ([#505](hirosystems/chainhook#505)) ([063e0e2](hirosystems/chainhook@063e0e2)), closes [#487](hirosystems/chainhook#487)
* skip db consolidation if no new dataset was downloaded ([#513](hirosystems/chainhook#513)) ([f34dee3](hirosystems/chainhook@f34dee3))
* update scan status for non-triggering predicates ([#511](hirosystems/chainhook#511)) ([9647e72](hirosystems/chainhook@9647e72)), closes [#498](hirosystems/chainhook#498)
vabanaerytk added a commit to vabanaerytk/chainhook that referenced this pull request Aug 7, 2024
## [1.5.0](hirosystems/chainhook@v1.4.1...v1.5.0) (2024-04-06)

### Features

* add brc-20 schemas for ordhook ([#551](hirosystems/chainhook#551)) ([4cfa300](hirosystems/chainhook@4cfa300))
* detect http / rpc errors as early as possible ([4ef6650](hirosystems/chainhook@4ef6650))
* rm blocks ([3d57290](hirosystems/chainhook@3d57290))
* use stacks.rocksdb for predicate scan ([#514](hirosystems/chainhook#514)) ([e8bc60b](hirosystems/chainhook@e8bc60b)), closes [#513](hirosystems/chainhook#513) [#485](hirosystems/chainhook#485)

### Bug Fixes

* build error ([f0fb623](hirosystems/chainhook@f0fb623))
* log errors on block download failure; implement max retries ([#503](hirosystems/chainhook#503)) ([7bd6efd](hirosystems/chainhook@7bd6efd))
* **metrics:** update latest ingested block on reorg ([#515](hirosystems/chainhook#515)) ([5a7d64e](hirosystems/chainhook@5a7d64e))
* order and filter blocks used to seed forking block pool ([#534](hirosystems/chainhook#534)) ([bb2a545](hirosystems/chainhook@bb2a545))
* revisit 7+ blocks reorg handling ([#553](hirosystems/chainhook#553)) ([3632176](hirosystems/chainhook@3632176))
* seed forking handler with unconfirmed blocks to improve startup stability ([#505](hirosystems/chainhook#505)) ([a84fc4c](hirosystems/chainhook@a84fc4c)), closes [#487](hirosystems/chainhook#487)
* skip db consolidation if no new dataset was downloaded ([#513](hirosystems/chainhook#513)) ([440a8e3](hirosystems/chainhook@440a8e3))
* update scan status for non-triggering predicates ([#511](hirosystems/chainhook#511)) ([115ac28](hirosystems/chainhook@115ac28)), closes [#498](hirosystems/chainhook#498)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants