Add feature flag for Duo Workflow checkpoint compression
What does this MR do and why?
Add feature flag for Duo Workflow checkpoint compression; to be consumed by the AI Gateway/Duo Workflow Service
This introduces a feature flag to control checkpoint payload compression between Duo Workflow Service and GitLab monolith. The checkpoint data can be quite large and compressing it using zlib and encoding with base64 can significantly reduce the payload size. This leads to:
- Lower network bandwidth usage
- Faster data transfer between services
- Reduced memory footprint
The compression is implemented using zlib and the compressed data is base64 encoded for safe transmission.
References
- Feature issue: Reduce Duo Workflow Service checkpoint payload ... (#571913)
- Rollout issue: Rollout of `duo_workflow_compress_checkpoint` (#577674)
- Similar to MR and flag Add feature flag for Duo Workflow streaming dur... (!206810 - merged)
Screenshots or screen recordings
| Before | After |
|---|---|
How to set up and validate locally
- In rails console enable the feature flag
Feature.enable(:duo_workflow_compress_checkpoint) - Test Duo Workflow functionality to ensure checkpoint compression works correctly
- Monitor payload sizes and performance metrics
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Alper Akgun