Skip to content

Use Cassandra's ttl to populate Expiry field in persistence.TaskInfo #6624

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

fimanishi
Copy link
Member

@fimanishi fimanishi commented Jan 15, 2025

What changed?
Populate Expiry field in persistence.TaskInfo in matching for cassandra implementation using cassandra's TTL for the task column. Previously the field was not populated in nosql implementations. If there is no TTL, use time.Time zero value time.Time{}.

Why?
Expiry is used in an edge case when the task can't be mark as completed. It also will be used by the task completer to determine if the task has expired before retrying to check if it has started

How did you test it?
Unit test and tested on a local server

Potential risks
If the parsing of the ttl value from cassandra is wrong, it could break async task processing. Must validate in staging.

Release notes
Implement persistence.TaskInfo expiry support for Cassandra by utilizing the TTL value of the row's task.

Documentation Changes

@fimanishi fimanishi merged commit 0ba1eba into cadence-workflow:master Jan 15, 2025
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants