chore: disable workflow logs auto-cleanup by default#28136
Conversation
Set WORKFLOW_LOG_CLEANUP_ENABLED default value to false to provide safer default behavior and prevent unintended data loss. Users can still enable automatic cleanup by explicitly setting the configuration. Fixes #28135
Summary of ChangesHello @laipz8200, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request modifies the default behavior of workflow log cleanup, switching it from enabled to disabled. This change is a proactive measure to prevent accidental data loss for new installations and to empower users with explicit control over data retention. By making log cleanup an opt-in feature, the system prioritizes data preservation and user choice. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request changes the default behavior of workflow log cleanup by setting WORKFLOW_LOG_CLEANUP_ENABLED to false. This is a sensible and safe change, as it prevents accidental data loss for new installations and makes log cleanup an opt-in feature. The changes in api/.env.example and api/configs/feature/__init__.py are correct and align with the stated goal.
While reviewing the related code, I noticed that the Celery task clean_workflow_runlogs_precise in api/schedule/clean_workflow_runlogs_precise.py does not check the WORKFLOW_LOG_CLEANUP_ENABLED flag internally. While the check is likely performed by the scheduler, for added safety, you might consider adding a check at the beginning of the task itself in a future PR to prevent accidental execution if the task is triggered manually.
QuantumGhost
left a comment
There was a problem hiding this comment.
LGTM.
Thank you for your contribution!
* fix(api): Trace Hierarchy, Span Status, and Broken Workflow for Arize & Phoenix Integration (langgenius#27937) Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com> * chore: add type-check to pre-commit (langgenius#28005) * fix document enable (langgenius#28081) * chore: not SaaS version can query long log time range (langgenius#28109) * When graph_engine worker run exception, keep the node_id for deep res… (langgenius#26205) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: -LAN- <laipz8200@outlook.com> * fix document index test (langgenius#28113) * chore: improve the user experience of not login into apps (langgenius#28120) * feat(api): Introduce `WorkflowResumptionContext` for pause state management (langgenius#28122) Certain metadata (including but not limited to `InvokeFrom`, `call_depth`, and `streaming`) is required when resuming a paused workflow. However, these fields are not part of `GraphRuntimeState` and were not saved in the previous implementation of `PauseStatePersistenceLayer`. This commit addresses this limitation by introducing a `WorkflowResumptionContext` model that wraps both the `*GenerateEntity` and `GraphRuntimeState`. This approach provides: - A structured container for all necessary resumption data - Better separation of concerns between execution state and persistence - Enhanced extensibility for future metadata additions - Clearer naming that distinguishes from `GraphRuntimeState` The `WorkflowResumptionContext` model makes extending the pause state easier while maintaining backward compatibility and proper version management for the entire execution state ecosystem. Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * add transform-datasource-credentials command online check (langgenius#28124) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Garfield Dai <dai.hai@foxmail.com> * feat: introduce trigger functionality (langgenius#27644) Signed-off-by: lyzno1 <yuanyouhuilyz@gmail.com> Co-authored-by: Stream <Stream_2@qq.com> Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com> Co-authored-by: zhsama <torvalds@linux.do> Co-authored-by: Harry <xh001x@hotmail.com> Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com> Co-authored-by: yessenia <yessenia.contact@gmail.com> Co-authored-by: hjlarry <hjlarry@163.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: WTW0313 <twwu@dify.ai> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: determine cpu cores determination in baseedpyright-check script on macos (langgenius#28058) * fix: variable assigner can't assign float number (langgenius#28068) * Add file type validation to paste upload (langgenius#28017) * test: create some hooks and utils test script, modified clipboard test script (langgenius#27928) * convert to TypeBase (langgenius#27935) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * chore: disable workflow logs auto-cleanup by default (langgenius#28136) This PR changes the default value of `WORKFLOW_LOG_CLEANUP_ENABLED` from `true` to `false` across all configuration files. ## Motivation Setting the default to `false` provides safer default behavior by: - Preventing unintended data loss for new installations - Giving users explicit control over when to enable log cleanup - Following the opt-in principle for data deletion features Users who need automatic cleanup can enable it by setting `WORKFLOW_LOG_CLEANUP_ENABLED=true` in their configuration. * fix: simplify graph structure validation in WorkflowService (langgenius#28146) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * fix: app's ai site text to speech api (langgenius#28091) * refactor(web): reuse the same edit-custom-collection-modal component, and fix the pop up error (langgenius#28003) * add doc (langgenius#28016) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * fix: inconsistent behaviour of zoom in button and shortcut (langgenius#27944) * consolve conficts * fix * fix --------- Signed-off-by: lyzno1 <yuanyouhuilyz@gmail.com> Co-authored-by: Ali Saleh <saleh.a@turing.com> Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com> Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com> Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com> Co-authored-by: Joel <iamjoel007@gmail.com> Co-authored-by: 湛露先生 <zhanluxianshen@163.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: -LAN- <laipz8200@outlook.com> Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com> Co-authored-by: Garfield Dai <dai.hai@foxmail.com> Co-authored-by: Yeuoly <45712896+Yeuoly@users.noreply.github.com> Co-authored-by: Stream <Stream_2@qq.com> Co-authored-by: zhsama <torvalds@linux.do> Co-authored-by: Harry <xh001x@hotmail.com> Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com> Co-authored-by: yessenia <yessenia.contact@gmail.com> Co-authored-by: hjlarry <hjlarry@163.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: WTW0313 <twwu@dify.ai> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Bowen Liang <liang.bowen.123@qq.com> Co-authored-by: Gen Sato <52241300+halogen22@users.noreply.github.com> Co-authored-by: Gritty_dev <101377478+codomposer@users.noreply.github.com> Co-authored-by: Asuka Minato <i@asukaminato.eu.org> Co-authored-by: mnasrautinno <m.nasr@dai.autinno.com> Co-authored-by: yangzheli <43645580+yangzheli@users.noreply.github.com>
This PR changes the default value of `WORKFLOW_LOG_CLEANUP_ENABLED` from `true` to `false` across all configuration files. ## Motivation Setting the default to `false` provides safer default behavior by: - Preventing unintended data loss for new installations - Giving users explicit control over when to enable log cleanup - Following the opt-in principle for data deletion features Users who need automatic cleanup can enable it by setting `WORKFLOW_LOG_CLEANUP_ENABLED=true` in their configuration.
This PR changes the default value of `WORKFLOW_LOG_CLEANUP_ENABLED` from `true` to `false` across all configuration files. ## Motivation Setting the default to `false` provides safer default behavior by: - Preventing unintended data loss for new installations - Giving users explicit control over when to enable log cleanup - Following the opt-in principle for data deletion features Users who need automatic cleanup can enable it by setting `WORKFLOW_LOG_CLEANUP_ENABLED=true` in their configuration.
Summary
This PR changes the default value of
WORKFLOW_LOG_CLEANUP_ENABLEDfromtruetofalseacross all configuration files.Changes
WorkflowLogConfig.WORKFLOW_LOG_CLEANUP_ENABLEDdefault fromTruetoFalseWORKFLOW_LOG_CLEANUP_ENABLEDfromtruetofalseNote:
docker/.env.exampleanddocker/docker-compose.yamlalready had the correct default value offalse.Motivation
Setting the default to
falseprovides safer default behavior by:Users who need automatic cleanup can enable it by setting
WORKFLOW_LOG_CLEANUP_ENABLED=truein their configuration.Fixes #28135