xuang7 opened a new pull request, #3735:
URL: https://github.com/apache/texera/pull/3735
### **Purpose**
This PR resolves #3732 when users drop very large batches (e.g., 1000+ × 100
MB files), the page can freeze and many files appear to “disappear” (never
start/finish), with only a small subset successfully uploading. This change
adds a file-level concurrency cap and a FIFO queue, with clearer UI indicators,
to keep the page responsive and ensure each file reaches a known terminal state
(pending/uploading/staged). The cap is configurable in the Admin → General
Settings page.
### **Changes**
**Config**
- Add `max_number_of_concurrent_uploading_file` (default: 3) in default.conf.
**Admin Settings**
- Add Concurrent Files numeric control.
- Loads/saves/resets the new setting with basic validation (≥ 1).
**Uploader**
- Cap the number of concurrent file uploads (default 3).
- Introduce `pendingQueue` (FIFO, de-duplicated by filename).
- Automatically start the next file when a slot frees (finish/abort).
- Reselecting the same file replaces the existing task without inflating
counts.
- Three collapsible panels with dynamic headers:
- Pending (default collapsed): shows queued files; header: `Pending: N
file(s) waiting in queue` when there are pending files.
- Uploading: shows active tasks (logic unchanged); header:`Uploading: N
file(s) in progress` when there are active uploads. By default, up to 3 files
run concurrently; completed/aborted items auto-hide after 5s.
- Staged: shows staged objects after upload or changes (logic unchanged).
### **Demonstration**
Uploads 10 files:
https://github.com/user-attachments/assets/37abd946-c9ae-48e4-b200-5803f1e1daec
[Additional test cases...]
Admin settings interface:
<img width="916" height="436" alt="admin-setting"
src="https://github.com/user-attachments/assets/d75170fb-921b-4c6d-b44f-da4139c7142d"
/>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]