pjfanning opened a new pull request, #504: URL: https://github.com/apache/pekko-projection/pull/504
https://github.com/akka/akka-projection/releases/tag/v1.4.1 is now available under Apache License, v2.0. Ports two fixes from akka-projection, adapted for pekko namespaces. ### PR #908 — `groupedWithinAsync` only stored the last offset of the group Root cause: `adaptedHandlerForGroupedAsync` called `addInflights` (in-memory only) instead of persisting offsets, so on restart only the last offset was known, triggering "Rejected envelope from backtracking" errors. - Adds internal `OffsetStoredByHandler` offset strategy to signal that the handler adapter owns offset persistence (semantically distinct from `ExactlyOnce`) - Renames `exactlyOnceProcessing` → `offsetStoredByHandlerProcessing`; both `ExactlyOnce` and `OffsetStoredByHandler` route through it - `adaptedHandlerForGroupedAsync` now calls `offsetStore.saveOffsets(offsets)` with all offsets in the group after handler processing - `groupedWithinAsync` uses `OffsetStoredByHandler()` instead of `AtLeastOnce(afterEnvelopes=1, orAfterDuration=Zero)` — processing of next group now waits for previous group's offsets to be stored - `withRecoveryStrategy` updated in R2DBC, JDBC, and Slick projection impls to handle the new strategy ### PR #898 — Batched multi-row INSERT for timestamp offsets - Adds `offsetBatchSize` setting (default `20`, config key `pekko.projection.r2dbc.offset-store.offset-batch-size`) to `R2dbcProjectionSettings` - `insertTimestampOffsetInTx` now uses a single multi-row `INSERT … VALUES (…),(…),…` per batch instead of R2DBC `Statement.add()` batch, reducing round-trips when saving many offsets (e.g. from `groupedWithinAsync`) - `bindTimestampOffsetRecord` gains an optional `bindStartIndex` parameter (default `0`) for binding into multi-row statements; `MySQLR2dbcOffsetStore` override is unaffected - Fixes error message URL: `pekko-persistence-r2dbc/issues` → `pekko-projection/issues` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
