uber / cadence

Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.
https://cadenceworkflow.io
MIT License
8.2k stars 791 forks source link

Support query by close statue for S3 backed archival #3737

Open MatthewHou opened 3 years ago

MatthewHou commented 3 years ago

Is your feature request related to a problem? Please describe. We noticed that S3 backed archival does not support query by close status. This feature is supported when archival is backed by G Cloud or file store. Proposed Solution

longquanzheng commented 3 years ago

Another idea: we can have versioning and taking option#1, but people don't need to run migration. It's less work in writing tool and operation for migrating(also some possible downtime).

Proposed structure: {domain_id}/historyV2/{close_status}/{workflow_id}/{run_id}/
longquanzheng commented 3 years ago

@yycptt @andrewjdawson2016

jontro commented 3 years ago

Hi, I think you could still always query the old and new format, then it would still be backwards compatible but all new records would be written with the close status.

MatthewHou commented 3 years ago

Another idea: we can have versioning and taking option#1, but people don't need to run migration. It's less work in writing tool and operation for migrating(also some possible downtime).

Proposed structure: {domain_id}/historyV2/{close_status}/{workflow_id}/{run_id}/

I thought about versioning it too. But users still have to query archival records in 2 separate places (old records will not show up if they query by close statue). I'm also a bit skeptical about how the user experience in the Cadence UI if older archival records need to be queried separately