Skip to content

Release v16.35.0

Choose a tag to compare

@github-actions github-actions released this 17 Aug 10:46
b758f36

Changed

  • Projections a client no longer registers are retired when the client registers its full set: the observer is unsubscribed in every namespace, jobs and failed partitions are cleared, and the definition is removed from the engine and storage. The sink container is never dropped (#3725)
  • When a retired projection wrote to the same container as another registered projection - a renamed read model keeps its container name - a replay recommendation is raised for the successor so the container can be rebuilt cleanly (#3725)
  • Partial projection registrations (such as saving a single projection from the Workbench) never retire anything, and the client SDK only declares a full set when every discovered artifact produced a definition (#3725)

Fixed

  • One rejected projection definition no longer aborts the whole registration: failures are isolated per definition, every other definition still lands, and the failed ones are reported and retried on the next registration instead of being left silently stale (#3722)
  • A projection whose pipeline cannot be built - for example a stale definition referencing a child collection the read model schema no longer has - no longer fails its grain activation and retries blindly forever; the failed partition now carries a descriptive error naming the projection, the child property and the read model, and the pipeline heals as soon as the definition is corrected (#3722)
  • Re-registering a projection with only a child collection changed now correctly evicts the cached pipeline in the observer subscriber (#3722)