Releases: dolittle/Runtime
Prerelease v9.0.0-hadhafang.8
Summary
Rewritten GetEventLogPosition which maps from legacy stream positions to the event log sequence. Will now retrieve the correct offset from the stream used in V8.
Also changed the logic to get the next stream position to use the last element instead of the count.
Continuing from a specific stream position will now use the eventlog position for the processor instead of the stream position.
Release v8.9.4
Summary
Added the ability to not require producer consent when consuming from event horizon.
To disable required consent, use the following configuration for the producer runtime: DOLITTLE__RUNTIME__EVENTHORIZON__REQUIRECONSENT=false
This will then pass NoConsent (empty guid) as a valid consent for the consumer, and allow it to consume as normal.
Prerelease v9.0.0-hadhafang.7
Summary
Adds support for a new mode to run partitioned event handlers in. With concurrency > 1, event handlers are able to process each partition (eventsourceId) in parallel. This greatly improves throughput, but requires the handlers to be thread safe and not require global ordering of events. Each partition still has full ordering guarantees and will be processed sequentially.
Prerelease v9.0.0-hadhafang.6
Summary
Pulled in upstream changes
Added support for partitioned events directly from event log.
Rewritten how retries are done in the actor based event handler processing. Optimizing for lower potential memory footprint, failed events are read from DB when retrying instead of optimizing for IO by keeping them in memory.
Release v8.9.3
Summary
This pull request includes various enhancements, bug fixes, and code updates. Please find below the details of the changes:
Added
- Implemented filtering to MongoDB traces, removing unnecessary noise.
- Introduced Proto.Actor healthchecks for improved monitoring and diagnostics.
Changed
- Upgraded the Proto.Actor dependency and transitioned to a single node provider/lookup. This change reduces overhead when running as a single server.
- Upgraded OTEL libraries
Fixed
- Fixed an edge case in the catch-up logic that could cause processing to stall.
- Addressed test assertion issues.
Release v8.9.2
Summary
- Updates gRPC libraries.
- Added tolerance for removed events from main event log.
Added
- Ability to tolerate events missing from eventlog. Before it would stop working when events were deleted. This has been changed to only logging and continuing to be able to commit new events.
Prerelease v9.0.0-hadhafang.5
Summary
- Less memory-hungry catchup queries.
- Cleaner logs on client shutdown
Prerelease v9.0.0-hadhafang.4
Prerelease v9.0.0-hadhafang.3
Summary
Rewrite of how event handlers process events. Earlier variants wrote a separate stream in the DB to be able to keep track of what belonged to a handler. This is replaced with a simpler model where the processors keep an offset and number of events processed in the main eventlog. Events are also directly processed in-memory when committed, saving the roundtrip and extra memory to read them from a new stream.
Removed
- Embeddings support has been removed from the runtime. Will probably be added back as an abstraction on aggregates in the SDK at a later time.
Prerelease v9.0.0-hadhafang.2
Summary
Reimplements reverse call with actors as a feature-flag feature that is enabled by default.
Also updates various internal dependencies like Proto.Actor and Grpc
Added
- Actors for reverse calls providing a more efficient way of streaming.
- Possibility of turning off pinging by sending a PingInterval time Duration that is either zero or max duration seconds.
- Dolittle:Runtime:ReverseCalls:UseActors flag (defaulted to true) for using the new actor based reverse call implementations.