Skip to content

fix(engine/protocol): pool stability fixes for morph-kgc and postprocessors#16

Merged
rpanfili merged 6 commits intomainfrom
fixes
Mar 26, 2026
Merged

fix(engine/protocol): pool stability fixes for morph-kgc and postprocessors#16
rpanfili merged 6 commits intomainfrom
fixes

Conversation

@rpanfili
Copy link
Contributor

Fixes three bugs introduced in v8.0.0 that could cause silent failures or resource starvation under concurrent load, plus a small observability improvement.

Changes

  • Engine — BrokenProcessPool recovery: when the morph-kgc subprocess pool dies (e.g. OOM-killed worker), the engine now recreates it and retries instead of propagating the exception.
  • Protocol — wrong pool size variable: mapping_pool_size was shadowed by the wrong local variable when constructing the ThreadPoolExecutor, causing it to be sized incorrectly.
  • Protocol — postprocessor pool cap: postprocessor pool is now capped at 75% of pool_size (min 2) so it can't consume all workers and starve the mapping stage.
  • Logging: url-fetch and postprocessor concurrency levels are logged at startup for easier tuning.

@rpanfili rpanfili merged commit afe3332 into main Mar 26, 2026
11 checks passed
@rpanfili rpanfili deleted the fixes branch March 26, 2026 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant