Skip to content

Releases: cadence-workflow/cadence

v0.3.3 Release

05 Dec 22:42
f7e2ff1
Compare
Choose a tag to compare

This release has a lot of new features and some important stability fixes for known Cadence server issues. This release also includes few schema changes to both cadence and visibility keyspaces. It is required to deploy schema version 0.2 of cadence and visibility keyspaces before deploying this release. Here is the list of some new features and improvements in this release.

Schema Changes

All the schema changes required by new features are backwards compatible please make sure to deploy cadence schema 0.2 and visibility schema 0.2 using the cadence-cassandra-tool before deploying this release of Cadence server. Following are the changes we requires 0.2 version of schema:

  • 9db7677 - Decision task failure support (#422)
  • e6697df - add sticky decision execution (#401)
  • d79841b - buffer events when decision task is inflight (#386)
  • cbc769d - Fix decision task leak with workflow timeout as ttl (#373)
  • b3d8ab3 - Reduce tombstones for open workflow executions (#395)

New Features and Improvements

Sticky Decider Support

Server side support for generating new decisions on sticky tasklist protected by decision schedule to start timeout.

DecisionTask Failure Support

Server side support for failing decisions tasks for scenarios like decider panics or clearing sticky tasklist.

Long Poll API for GetWorkflowExecutionHistory

  • 35a3d1d - add long pull functionality to GetWorkflowExecutionHistory (#428)

Describe Workflow Execution API

Complete Activity By ID

Buffer Events

  • d79841b - buffer events when decision task is inflight (#386)
  • 6a59d1b - remove startedEventId from PollForActivityTaskResponse (#391)
  • d0bd7ba - update startedEventId in buffered events (#392)

Running Cadence on AWS

  • 73ffdeb - Fix and update docker (#368)
  • 949009e - Extend statsd reporter to having tags appended to metric names (#378)
  • b388ca7 - Minor fixes for cadence-aws project (#379)
  • df770f5 - Add a script to autobuild docker image (#389)

Visibility Fixes

  • b3d8ab3 - Reduce tombstones for open workflow executions (#395)
  • 3970354 - Increase open execution TTL to account for shard outages (#399)

Stability Fixes

  • 3455967 - Shard lost Owner ship to preserve the owner host (#367)
  • 20f962f - After update timer ack level go back to waiting on any event (#375)
  • cbc769d - Fix decision task leak with workflow timeout as ttl (#373)
  • 0aba207 - add query failed metrics definition (#393)
  • b446766 - put firstEventID as part of nextPageToken (#419)
  • 1540be7 - Protect gettask to avoid query aborted caused by tombstone (#410)

Schema Version Check

  • 9968ec6 - Add cassandra schema version check on startup (#438)
  • d96d0d1 - Add shortcut to install cassandra schema on startup (#442)
  • f7e2ff1 - Update docker script to install cassandra schema versions (#445)

Miscellaneous

v0.3.2 Release

03 Oct 17:42
Compare
Choose a tag to compare

New Features and Improvements

Query Support

YARPC Work

  • 2350831 - Migrate from TChannel to RPC framework(YARPC) (#335)
    f3cdfb2 - Pinning thriftrw/thrfitrw yarpc plugin. The newer plug-in seems to have some GET'ers. We can use them in later PR. (#345)
  • f358b88 - Standalone to start dispatcher for outbounds. (#346)

Cancel Support For Outstanding Pollers

  • 27d483c - Matching support for cancelling outstanding pollers (#353)

GOCQL Connection Pool Per Host

  • 81e51c6 - Create a single connection pool per host (#359)

Persistence Adjustments

  • fd9a01a - Adjust scan intervals for transfer queue processor (#356)
  • 9169f8f - fix condition on updating shards (#357)

Stability Fixes

  • 215baf5 - Properly unload taskListManager if Start fails (#309)
  • df9ac3e - Properly handle throttling errors from Cassandra (#316)
  • 37a6a24 - Add backoff in TransferQueueProcessor readTransferTasks (#332)

Bug Fixes

  • 7213396 - MatchingEngine to correctly handle EventAlreadyStartedError from history (#317)
  • 9ccd575 - Transfer Queue Processor can get stuck on StartChildExecution task (#337)

Miscellaneous

  • 19c948a - Fix for flaky matching engine unit tests (#344)
  • a4b6171 - Matching engine fix for flaky unit test (#349)
  • 95e865b - Cleanup persistence error logs (#355)
  • affdf19 - Cleanup frontend logs causing too much noise (#360)

v0.3.1 Release

15 Aug 19:09
Compare
Choose a tag to compare

This is patch to fix some stability issues we discovered in previous release. We saw FD leaks caused by leaking gocql clients and a regression causing unavailability of shards during membership changed events.

Stability Fixes

  • 85ba1df - shardController: fix fd leak, add metrics and process closeShard in batch (#310)
  • f246cb3 - shardController: revisit shard shutdown order, add latency metrics (#314)

Misc

  • 886a2dc - Pass config to cadence history service during initialization (#301)

v0.2.0

09 Aug 14:52
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

New Features and Improvements

Allow Getting Workflow Execution History after completion

  • 89bae56 - Enable GetWorkflowExecutionHistory after mutable state is deleted (#236)

Cleanup of Events Table

  • e251239 - clean up history events after workflow execution is completed (#255)

Workflow Execution Timeout Support

  • 3e6aac7 - Workflow execution start to close timeout (#249)
  • 6d8ad64 - Delete workflow execution on workflow time out. (#267)

Emit metric from various parts of service

History Metric is no longer tagged with ShardID

Schema Changes

We have to create a new version of schema required for various bugfixes. Also performed upgrade testing to make sure schema can be upgraded from v0.1 to v0.2.

Schema Version 0.2 needed for RequestCancel external workflow bugfixes

  • 8d32a90 - Request cancel external workflow execution fixes. (#256)

Updates to base schema to fix minor issues and remove some unnecessary tables

  • 5de4d7a - timer_ack_level schema type from big_int to timestamp. (#243)
  • 7069686 - Remove shards table from base schema (#251)
  • 9711a71 - Remove visibility tables from cadence schema (#257)

Stability Fixes:

  • 4614c23 - Timer Processor to checkpoint ack level (#233)
  • 1f6917c - persistence: expose close methods to cleanup gocql session conns (#240)
  • 552ca7a - Cleanup noisy frontend logs (#261)

Bug Fixes

  • b8d3a81 - Convert domain retention to seconds for visibility record (#235)
  • c02fab2 - Convert visibility_ts timestamp to int; add error check in the front end handler code. (#242)
  • 8d32a90 - Request cancel external workflow execution fixes. (#256)
  • e778c79 - making sure to not update history on invalid mutable state transition (#259)
  • 293a73c - Bug fix to not append event to execution after completion (#260)

Miscellaneous

v0.3.0 Release

09 Aug 14:57
Compare
Choose a tag to compare

We are resetting the schema back to v0.1 and pulling all changes into base schema. This was necessary due to timer optimization work and finding an issue with cassandra static columns which we uncovered during testing. This means we don't support upgrading from previous version of Cadence.

New Features and Improvements

Reduce the number of timer tasks

  • 5531ea3 - Activities to create one timer per workflow (#278)
  • c06bbbb - Timer task creation marker can identify activity time type (#289)

Throttling

Health Check Endpoint

Cassandra authentication support

  • 17ab1a2 - add cassandra tool support for user and password connection to cluster (#298)
  • 5c4df61 - Cassandra config support for authentication (#299)

Schema Changes

  • 3560320 - Restrict clustering key in taskList rangeID check (#292)
  • 9224d64 - Turn RangeID into a non-static Cassandra column (#293)

Stability Fixes

  • aa6f4b2 - Unload task list if RangeID change is detected in persistAckLevel (#271)
  • ac23bdb - Insert visibility store record after creating matching task (#274)
  • b77af1e - Serialize task list persistence writes (#285)
  • 4053538 - matching: fix crash on task list shutdown (#290)

Bugfixes

  • a5a7c51 - GetWorkflowExecutionHistory returns invalid nextPageToken (#283)
  • 76ddae6 - glide: pick up tchannel log poll fix (#295)

Miscellaneous

  • 2a19301 - Refactor user timer methods on timer builder (#253)
  • b5c2556 - Add build and coverage badege to README.md (#275)
  • 3ac1e5a - Logging format (#291)
  • 524be31 - Cleanup constants in persistence to be created using some scheme (#294)
  • 719bb1c - Pass config to cadence matching and frontend services during initialization (#296)
  • e21f256 - Move testShardContext from persistence package to history package (#297)

v0.1.1-beta release

07 Jun 01:13
Compare
Choose a tag to compare
v0.1.1-beta release Pre-release
Pre-release

New Features And Improvements

Child Workflow Support

  • 6f6cdfe - Cadence support for child workflow executions (#187)

Docker Support

  • a7da4e0 - bootstrap: config loader and executable for cadence server (#196)
  • b1f7b8b - First pass at dockerFile for cadence server (#199)

History Pagination

  • 82c161a - History pagination APIs and implementation (#197)

ActivityTask Gets All Activity Timeouts

  • a89819b - Return activity timeouts along with PollForActivityTask response (#167)

History Version Support

  • ccbde58 - Support for history versioning and multiple serialization formats (#169)

DecisionTaskFailed Support

  • 3811ccf - Fail decision task due to race condition on workflow completion (#165)
  • c79f561 - Fail Decision on invalid decision attributes (#179)

Visibility Improvements

  • aab5a6f - Store status for closed workflow executions (#164)
  • ba64999 - Enable visibility filtering by execution closed status (#170)
  • cb971ca - Move visibility store to its own keyspace (#217)

Request Validation

  • de702f7 - Validate request parameters at the frontend handler (#172)
  • 47e25f1 - Validate timeout values in StartWorkflowExecution (#180)

Open Sourcing

  • 437a8a9 - make integ tests count towards code coverage (#178)
  • a819aee - add copyright header to all files (#183)
  • 6accf7e - Enable golint / gofmt checks at make time (#185)
  • 37a57f9 - make: add tool to auto-generate copyright header (#184)
  • 685b66d - Peer review for open sourcing Cadence bits (#212)
  • 27c531e - Update README.md (#200)

Bug Fixes

  • c6b21ff - Correctly stop shard on rangeID update failure (#168)
  • d11e66a - Do not hold lock on execution when creating task in matching engine (#188)
  • c8180ad - Limit the result of GetTimerTasks query (#195)
  • 250f52f - Complete Timer and Transfer tasks after execution is completed (#201)
  • beae3b6 - Properly return empty token on empty poll request (#219)
  • fab8fc1 - Use proper config for visibility keyspace (#232)

Stability Fixes

  • 5ddccf4 - Insert activity tasks with TTL (#186)
  • b43c10a - Remove mutable state immediately once the workflow execution completes (#209)
  • adc3e51 - Fine tuning of Cadence schema (#211)
  • 4ae39f2 - Remove extra query in transfer queue processor if queue is empty (#220)
  • 4bc9116 - Use consistency level ONE for visibility store reads (#218)
  • 6f8f88e - Use DomainConfig Retention for visibility record TTL (#221)
  • ceeba99 - Complete Transfer tasks even after execution is completed (#230)

Miscellaneous

  • 37331d8 - Add missing scope for HistoryClientRespondActivityTaskCanceled (#161)
  • 0f8a007 - Timer Q Processor - Unit Tests/Workflow Completion. (#166)
  • 55837e1 - tooling: first pass at cassandra setup-schema tool (#171)
  • ef260bf - tooling: support for cassandra update-schema (#177)
  • d8d54d3 - Refactor loggingHelpers (#173)
  • ad44d59 - Refactor transferQueueProcessor processing into multiple methods (#198)
  • f48b5cf - config: add support for custom ringpop discovery provider (#210)