-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
batching removed #38225
base: release
Are you sure you want to change the base?
batching removed #38225
Conversation
/build-deploy-preview skip-tests=true |
WalkthroughThe pull request introduces modifications to two files: Changes
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Tip CodeRabbit's docstrings feature is now available as part of our Early Access Program! Simply use the command Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
Deploying Your Preview: https://github.com/appsmithorg/appsmith/actions/runs/12390781126. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
app/client/src/sagas/BatchSagas.tsx
(2 hunks)app/client/src/utils/WorkerUtil.ts
(1 hunks)
🔇 Additional comments (1)
app/client/src/utils/WorkerUtil.ts (1)
284-285
: Verify worker load handling without batch processing
With batch processing disabled in BatchSagas.tsx, verify that the worker can handle the potential increase in individual EVAL_TREE requests.
// yield all([ | ||
// debounce(20, ReduxActionTypes.EXECUTE_BATCH, executeBatchSaga), | ||
// takeEvery(ReduxActionTypes.BATCHED_UPDATE, storeUpdatesSaga), | ||
// ]); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Critical: Batch processing mechanism is disabled
Commenting out the saga effects disables the entire batch processing mechanism. Without these effects:
executeBatchSaga
won't process batched actionsstoreUpdatesSaga
won't handle incoming updates- Actions will accumulate in the batches array without being processed
Restore the saga effects or provide an alternative mechanism:
- // yield all([
- // debounce(20, ReduxActionTypes.EXECUTE_BATCH, executeBatchSaga),
- // takeEvery(ReduxActionTypes.BATCHED_UPDATE, storeUpdatesSaga),
- // ]);
+ yield all([
+ debounce(20, ReduxActionTypes.EXECUTE_BATCH, executeBatchSaga),
+ takeEvery(ReduxActionTypes.BATCHED_UPDATE, storeUpdatesSaga),
+ ]);
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
// yield all([ | |
// debounce(20, ReduxActionTypes.EXECUTE_BATCH, executeBatchSaga), | |
// takeEvery(ReduxActionTypes.BATCHED_UPDATE, storeUpdatesSaga), | |
// ]); | |
yield all([ | |
debounce(20, ReduxActionTypes.EXECUTE_BATCH, executeBatchSaga), | |
takeEvery(ReduxActionTypes.BATCHED_UPDATE, storeUpdatesSaga), | |
]); |
// eslint-disable-next-line no-console | ||
method === "EVAL_TREE" && console.log("*** evaluation"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Replace console.log with proper logging
Using console.log in production code is not recommended. Additionally, the log message lacks context and timestamp information.
Replace with proper logging:
- // eslint-disable-next-line no-console
- method === "EVAL_TREE" && console.log("*** evaluation");
+ method === "EVAL_TREE" && log.debug(`Starting evaluation for request ${messageId}`);
Committable suggestion skipped: line range outside the PR's diff.
Deploy-Preview-URL: https://ce-38225.dp.appsmith.com |
Description
Tip
Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team).
Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR.
Fixes #
Issue Number
or
Fixes
Issue URL
Warning
If no issue exists, please create an issue first, and check with the maintainers if the issue is valid.
Automation
/ok-to-test tags=""
🔍 Cypress test results
Caution
If you modify the content in this section, you are likely to disrupt the CI result for your PR.
Communication
Should the DevRel and Marketing teams inform users about this change?
Summary by CodeRabbit
New Features
Bug Fixes