-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat: Add script execution on parallel batches with option script.executionBatchSize
#2828
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
feat: Add script execution on parallel batches with option script.executionBatchSize
#2828
Conversation
🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review. |
Caution Review failedThe pull request is closed. 📝 Walkthrough""" WalkthroughThe Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Browser
participant CloudFunction
User->>Browser: Initiate confirmExecuteScriptRows(script)
loop For each batch of selected objects
Browser->>CloudFunction: Execute script concurrently on batch objects (Promise.all)
CloudFunction-->>Browser: Return results/errors for batch
Browser->>User: Show batch summary note
end
Browser->>User: Show final summary note
Browser->>Browser: Refresh data
Assessment against linked issues
Possibly related PRs
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
npm error code ERR_SSL_WRONG_VERSION_NUMBER 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. 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
CodeRabbit Configuration File (
|
🎉 Snyk checks have passed. No issues have been found so far.✅ security/snyk check is complete. No issues have been found. (View Details) |
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
🧹 Nitpick comments (1)
src/dashboard/Data/Browser/Browser.react.js (1)
1612-1618
: Consider reducing notification frequency to improve user experience.The current implementation shows a notification for each object (success/error), plus batch summaries, plus a final summary. This could overwhelm users with a large number of notifications, especially for large selections.
Consider one of these approaches:
- Show only batch summaries and final summary (remove individual object notifications)
- Batch the individual notifications and show them less frequently
- Add a configuration option to control notification verbosity
For large-scale operations, users typically prefer summary information rather than detailed per-object feedback.
Also applies to: 1625-1625, 1630-1630
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
src/dashboard/Data/Browser/Browser.react.js
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Docker linux/amd64
🔇 Additional comments (3)
src/dashboard/Data/Browser/Browser.react.js (3)
1574-1574
: LGTM: Good backward compatibility with configurable batch size.The default batch size of 1 ensures backward compatibility while allowing users to configure parallel execution.
1587-1599
: Excellent concurrent execution implementation.The use of Promise.all for concurrent execution within batches is well-implemented. The error handling properly captures both successful responses and errors, allowing the batch to continue processing even if individual objects fail.
Also applies to: 1601-1601
1584-1627
: Well-designed batch processing architecture.The overall batch processing logic is sound:
- Proper batch size handling
- Good separation of concerns between batching and individual object processing
- Comprehensive error tracking and reporting
- Maintains backward compatibility
This implementation successfully enables parallel script execution while providing detailed progress feedback.
Uffizzi Ephemeral Environment
|
# [7.2.0-alpha.9](7.2.0-alpha.8...7.2.0-alpha.9) (2025-05-27) ### Features * Add script execution on parallel batches with option `script.executionBatchSize` ([#2828](#2828)) ([cee8b8d](cee8b8d))
🎉 This change has been released in version 7.2.0-alpha.9 |
# [7.2.0](7.1.0...7.2.0) (2025-06-01) ### Bug Fixes * Data browser not scrolling to top when changing filter while cell selected ([#2821](#2821)) ([c2527dc](c2527dc)) * Data browser table shows loading indicator when info panel is loading ([#2782](#2782)) ([da57e5e](da57e5e)) * Improperly aligned unfolding sub-items in context menu in data browser ([#2726](#2726)) ([3fed292](3fed292)) * Notifications fade out erratically when executing a script on large number of rows ([#2822](#2822)) ([3891381](3891381)) * Pagination does not reset to page 1 when clicking on class or filter ([#2798](#2798)) ([29d1447](29d1447)) * Saving new filter in data browser overwrites filters added in other dashboard instances ([#2769](#2769)) ([46bc154](46bc154)) * Selecting a saved filter in data browser may highlight a different filter ([#2783](#2783)) ([4c6e853](4c6e853)) ### Features * Add confirmation dialog before saving a Cloud Config parameter that has been modified since editing it ([#2770](#2770)) ([adb9b5c](adb9b5c)) * Add custom CSS styling for info panel items ([#2788](#2788)) ([f031e5d](f031e5d)) * Add relative date filter in data browser for date constraints relative to when the query is run ([#2736](#2736)) ([d9dfd69](d9dfd69)) * Add script execution on parallel batches with option `script.executionBatchSize` ([#2828](#2828)) ([cee8b8d](cee8b8d)) * Keyboard Enter key can be used to select item in data browser filter dialog field dropdown ([#2771](#2771)) ([dc14710](dc14710))
🎉 This change has been released in version 7.2.0 |
* source: (64 commits) chore(release): 7.2.0 [skip ci] empty commit to trigger CI refactor: Bump @babel/plugin-transform-runtime from 7.27.1 to 7.27.3 (parse-community#2834) refactor: Bump @babel/runtime from 7.27.1 to 7.27.3 (parse-community#2833) refactor: Bump eslint-plugin-jest from 28.11.0 to 28.12.0 (parse-community#2835) refactor: Bump inquirer from 12.6.1 to 12.6.3 (parse-community#2830) refactor: Bump @babel/runtime-corejs3 from 7.27.1 to 7.27.3 (parse-community#2832) refactor: Bump semver from 7.5.2 to 7.7.2 (parse-community#2827) refactor: Bump @semantic-release/github from 11.0.2 to 11.0.3 (parse-community#2826) chore(release): 7.2.0-alpha.9 [skip ci] feat: Add script execution on parallel batches with option `script.executionBatchSize` (parse-community#2828) refactor: Bump sass from 1.87.0 to 1.89.0 (parse-community#2824) refactor: Bump webpack from 5.99.8 to 5.99.9 (parse-community#2823) refactor: Bump marked from 15.0.11 to 15.0.12 (parse-community#2825) chore(release): 7.2.0-alpha.8 [skip ci] fix: Notifications fade out erratically when executing a script on large number of rows (parse-community#2822) chore(release): 7.2.0-alpha.7 [skip ci] fix: Data browser not scrolling to top when changing filter while cell selected (parse-community#2821) refactor: Bump core-js from 3.41.0 to 3.42.0 (parse-community#2817) refactor: Bump puppeteer from 24.6.1 to 24.9.0 (parse-community#2818) ...
New Pull Request Checklist
Issue Description
Closes: #2612
Approach
Add new option
script.executionBatchSize
that executes a script on all selected objects in parallel batches for reduced execution time.TODOs before merging
Summary by CodeRabbit
New Features
Enhancements