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

add a configurable max timeout for predicate requests #643

Closed
rafaelcr opened this issue Sep 10, 2024 · 1 comment · Fixed by #642
Closed

add a configurable max timeout for predicate requests #643

rafaelcr opened this issue Sep 10, 2024 · 1 comment · Fixed by #642
Assignees
Labels
bug Something isn't working released on @stacks-signers

Comments

@rafaelcr
Copy link
Collaborator

If chainhook is sending a POST request for a predicate into an external server but that server never responds, it leads to an indefinite lock in the thread that handles predicate evaluations, which disrupts the entire block consumption process.

We should add a configurable timeout for these requests.

@rafaelcr rafaelcr added the bug Something isn't working label Sep 10, 2024
@github-project-automation github-project-automation bot moved this to 🆕 New in DevTools Sep 10, 2024
@andresgalante andresgalante moved this from 🆕 New to 📋 Backlog in DevTools Sep 16, 2024
rafaelcr added a commit that referenced this issue Oct 10, 2024
…quests (#642)

This PR adds a new (optional) entry to the config .toml file so outgoing
predicate payload HTTP POST requests can have a configurable timeout
that will cancel the request if hit.

```toml
[predicates]
payload_http_request_timeout_ms = 10000
```

This new setting is useful to public-facing chainhook instances that may
run into unresponsive 3rd party servers that may take forever to respond
to a payload request.

Fixes #643
@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in DevTools Oct 10, 2024
github-actions bot pushed a commit that referenced this issue Oct 25, 2024
## [1.9.0-stacks-signers.1](v1.8.0...v1.9.0-stacks-signers.1) (2024-10-25)

### Features

* add various new nakamoto block fields to `/new_block` ingestion and `StacksPayload` ([#659](#659)) ([f48cda5](f48cda5))
* include recovered signer pubkeys in new block payload ([#662](#662)) ([b5ad4ba](b5ad4ba))
* include signer messages in Stacks predicate payloads ([#656](#656)) ([aee14bc](aee14bc))
* parse `/stackerdb_chunks` Stacks node event ([#653](#653)) ([e44d84a](e44d84a))
* store signer messages in local sqlite database ([#664](#664)) ([d12acd9](d12acd9))
* support tenure-height in block messages ([#661](#661)) ([99e5a61](99e5a61))
* **ts-client:** add persisted predicates and periodic health check ([#658](#658)) ([535226a](535226a))
* **ts-client:** add signer messages to stacks payloads ([#657](#657)) ([ff66bb2](ff66bb2))

### Bug Fixes

* add a configurable max timeout for outgoing predicate payload requests ([#642](#642)) ([6c1dfa9](6c1dfa9)), closes [#643](#643)
* increase stacks event server body size limit to 500MB ([#660](#660)) ([21234c9](21234c9))
* return 500 status code to Stacks node when event ingestion fails ([#648](#648)) ([63c753c](63c753c)), closes [#646](#646)
* signer pubkey calculation ([#665](#665)) ([cc93873](cc93873))
* update SignerMessage deserializing ([#663](#663)) ([71364c1](71364c1))
* validate ts client predicates before registering ([#639](#639)) ([2d08f72](2d08f72))
Copy link

🎉 This issue has been resolved in version 1.9.0-stacks-signers.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working released on @stacks-signers
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant