Skip to content

Release v19.133.1

Choose a tag to compare

@github-actions github-actions released this 06 Nov 15:21
1769bf0

Connected clients keep their observers subscribed with a cheap check, so a kernel hosting many observers is no longer saturated by keep-alive traffic.

Fixed

  • Keeping a client's reactor and reducer subscriptions alive no longer copies the whole observer definition through the JSON serializer every two seconds for every observer of every connection. Each tick now asks the observer's client grain a question that carries no definition, and sends the definition only when something must be restored. On a kernel serving hundreds of observers per client this was a large share of its CPU; the starved kernel stopped accepting connections in time and observers were left disconnected.
  • A silo that does not know the new check, as during a rolling upgrade, is handled by falling back to the previous full keep-alive.