Releases: goadesign/pulse
Releases · goadesign/pulse
pulse v1.4.3
Fixes
- Fix rmap SetAndWait data race: remove the waiter notification channel close and make waiter notifications non-blocking, eliminating a race found by FAIL . [setup failed] in downstream consumers (notably goa-ai registry tests).
- Fix pool hashing data race: make the Jump Consistent Hash implementation concurrency-safe when routing/rebalancing worker events.
Notes
- No API changes; this is a bugfix release focused on race-detector correctness and stability under concurrency.
v1.4.2
What's Changed
- Fix potential job loss during concurrent worker cleanup/rebalancing under churn
- Add regression test
TestJobLossDuringConcurrentWorkerCleanupto reproduce cascading failure scenario - Fix weather example event unmarshalling to correctly error on truncated payloads
Full Changelog: v1.4.1...v1.4.2
v1.4.1
What's Changed
- Fix potential panics caused by an invalid regexp by returning an error by @douglaswth in #53
- Fix streaming Reader race condition by @douglaswth in #55
Full Changelog: v1.4.0...v1.4.1
v1.4.0
v1.3.0
v1.2.0
What's Changed
- Enforce unique job keys:
DispatchJobnow returns an error when dispatching a job with a key that already exists - Proper support for empty string values in rmap: setting an empty string value then calling
Getnow returns empty string and true. - Update dependencies
- Adds
SetIfNotExiststo replicated maps that sets a value only if it isn't already in the map. - Protect rmap.SetAndWait against corner cases
Full Changelog: v1.1.0...v1.2.0
v1.1.0
What's Changed
- Add back option to set reading block duration to node options by @nitinmohan87 in #46
- Add a debug log when worker fails to start a job by @raphael in #47
- Fix a few issues by @raphael in #48
New Contributors
- @nitinmohan87 made their first contribution in #46
Full Changelog: v1.0.6...v1.1.0
v1.0.6
What's Changed
- Fix rmap set debug log cardinality by @douglaswth in #17
- Reset timer when changing ticker duration by @raphael in #18
- Series of small fixes by @raphael in #20
- Stop workers before requeuing their jobs by @raphael in #22
- Test requeuing by @raphael in #21
- Fix issues with idle message requeuing by @raphael in #23
- Delete consumers when stale instead of reusing them. by @raphael in #24
- Add CI workflows by @raphael in #25
- Remove requeued jobs by @raphael in #26
- Improve logging by @raphael in #27
- Set read block duration to half worker TTL by @raphael in #29
- Remove requeued job from job map by @raphael in #28
- Make sure to expect requeue event ID by @raphael in #30
- Log Node ID with node map logs by @raphael in #31
- Log existing workers when joining by @raphael in #32
- Make logging more consistent by @raphael in #33
- Fix live lock with requeueJobs by @raphael in #34
- Periodically check for inactive workers by @raphael in #35
- Don't retry requeuing jobs with missing payloads by @raphael in #36
- Properly delete stale workers with no job by @raphael in #37
- Add more tests by @raphael in #38
- Add ability to list jobs and workers by @raphael in #39
- Make sure all timestamps are UTC by @raphael in #40
- Log panics occurring in event handler goroutines by @raphael in #41
- Timeout DispatchJob if no dispatch return is received by @raphael in #42
- Delete stale consumers not associated with sinks by @raphael in #43
- Reduce lock contention by @raphael in #44
- Fix lost job on requeue by @raphael in #45
Full Changelog: v0.0.6...v1.0.6
v0.0.6
v0.0.5
What's Changed
- Fix various sync.Mutex double unlocks by @douglaswth in #11
- Update all dependencies by @raphael in #14
Full Changelog: v0.0.4...v0.0.5