Skip to content

v0.6.0 Release

Compare
Choose a tag to compare
@yiminc-zz yiminc-zz released this 13 Mar 17:05
· 651 commits to master since this release
8e121e2

Local activity

  • adding local activity (#340)
  • test support for local activity (#357)
  • do not pump poller request channel for local activity result (#410)
  • fix local activity worker (#411)

Local activity is added to address the use case where a large number of activities are created on each decision task, and each activity is very simple and short lived, and they needs to be completed quickly.
Some key difference between local activity and regular activity are:

  • Local activity is scheduled and run by the workflow worker locally.
  • Local activity does not need Cadence server to schedule activity task and does not rely on activity worker.
  • No need to register local activity.
  • The parameter activity to ExecuteLocalActivity() must be a function.
  • Local activity is for short living activities (usually finishes within seconds).
  • Local activity cannot heartbeat.

See docs for local activity: https://github.com/uber-go/cadence-client/blob/8e121e2d2a6fae71c403d5070139c2881a83aad4/workflow/workflow.go#L157

New features

  • Add SignalExternalWorkflow Decision (#329)
  • test framework support for SignalExternalWorkflow (#384)
  • disconnected context (#404)
    With disconnected context, workflow could do cleanup even after been canceled.
  • Add RecordActivityHeartbeatByID (#417)
  • expose is replaying flag (#419)

Bug fixes

  • bugfix: test tag should have type string (#364)
  • Use domain name in completeActivityByID instead of domainID (#362)
  • fix nil argument to activity (#365)
  • Activity options fix for #372 (#373)
  • fix potential nil pointer error (#371)
  • properly handle start child workflow failed (#403)
  • non-deterministic check for signal external workflow (#409)
  • fix marker state machine (#412)
  • fix mock (#413)
  • should use initiated event ID instead of control / signal ID (#415)
  • Fix client side cancellation && signal (#401)
  • fix selector (#416)

Miscellaneous

  • update testify to v1.2.0 (#353)
  • only check function name of child workflow for non-deterministic (#356)
  • delete dead code (#358)
  • Add isStickyTask to poll request (#355)
  • redefine Client/DomainClient as public interface (#370)
  • update GetVersion() doc (#382)
  • use math.Ceil for timeout (#383)
  • TimeoutError.Details() no panic (#386)
  • adding helper methods to check error type (#385)
  • send signal to child workflow from ChildWorkflowFuture (#387)
  • clean up decision state machine collections (#389)
  • Added missing fields into activity.Info (#395)