Conversation
…X-1089] Directory upload iterated files sequentially with await _upload_one(). Now uses asyncio.gather with semaphore (max 20 concurrent), matching the pattern in storage/batch.py upload_prefix.
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
📜 Docstring Coverage ReportRESULT: PASSED (minimum: 30.0%, actual: 80.0%) Detailed Coverage Report |
📦 Trivy Vulnerability Scan Results
Report SummaryCould not generate summary table (data length mismatch: 9 vs 8). Scan Result Detailsrequirements.txtuv.lock |
📦 Trivy Secret Scan Results
Report SummaryCould not generate summary table (data length mismatch: 9 vs 8). Scan Result Detailsrequirements.txtuv.lock |
☂️ Python Coverage
Overall Coverage
New FilesNo new covered files... Modified FilesNo covered modified files...
|
|
🛠 Full Test Coverage Report: https://k.atlan.dev/coverage/application-sdk/pr/1504 |
|
@sdk-review auto-complete |
|
🔄 SDK Review starting (auto-complete) — ~10 min, possibly longer with fix iterations. Watch live progress
|
SDK Review: PR #1504 — feat(storage): parallelize directory upload in transfer.upload() [BLDX-1089]Verdict: NEEDS FIXES
Findings by File
Strengths
|
- Move `import asyncio` to module top-level (SDK convention) - Replace hardcoded MAX_CONCURRENT_UPLOADS=20 with configurable `max_concurrency: int = 4` kwarg, matching batch.py's API - Add `return_exceptions=True` to asyncio.gather to prevent orphaned tasks on partial failure, re-raising the first error after all tasks settle Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
@sdk-review auto-complete |
|
🔄 SDK Re-review starting (auto-complete) — ~10 min, possibly longer with fix iterations. Watch live progress
|
SDK Re-review: PR #1504 — feat(storage): parallelize directory upload in transfer.upload() [BLDX-1089]Verdict: NEEDS FIXES
Delta from prior review
Findings by File
Strengths
|
Cover the three scenarios requested in review: 1. Multi-file directory upload completing correctly (10 files) 2. transferred_count accuracy with skip_if_exists partial skips 3. Error propagation when one upload raises inside gather Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
@sdk-review |
|
🔄 SDK Re-review starting (review) — ~10 min. Watch live progress |
Aryamanz29
left a comment
There was a problem hiding this comment.
lets also add integration tests for this
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Cover the concurrent directory upload/download via transfer module against a real local object store: - Multi-file concurrent upload (15 files) - Full upload→download roundtrip with nested directories - Partial skip_if_exists behavior (unchanged vs changed files) - max_concurrency parameter with low concurrency value Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
@sdk-review |
|
🔄 SDK Re-review starting (review) — ~10 min. Watch live progress |
SDK Re-review: PR #1504 — feat(storage): parallelize directory upload in transfer.upload() [BLDX-1089]Verdict: READY TO MERGE
Delta from prior review
Findings by FileNo findings. Strengths
|
|
ℹ️ SDK Review verdict: READY TO MERGE — but required CI checks on this branch are failing. The |
… count list_keys returns sidecar files too, so assert against suffix-filtered keys to match only the 15 data files. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
@sdk-review |
|
🔄 SDK Re-review starting (review) — ~10 min. Watch live progress |
SDK Re-review: PR #1504 — feat(storage): parallelize directory upload in transfer.upload() [BLDX-1089]Verdict: READY TO MERGE
Delta from prior review
Findings by FileNo findings. Strengths
|
atlan-ci
left a comment
There was a problem hiding this comment.
SDK Re-review: no new issues introduced by the latest changes. CI passing. Branch up to date. Approved.
…loads Uses configurable constant (env: ATLAN_MAX_CONCURRENT_STORAGE_TRANSFERS, default 4) instead of hardcoded value, aligning with batch.py convention.
|
@sdk-review |
|
🔄 SDK Re-review starting (review) — ~10 min. Watch live progress |
SDK Re-review: PR #1504 — feat(storage): parallelize directory upload in transfer.upload() [BLDX-1089]Verdict: READY TO MERGE
Delta from prior review
Findings by FileNo findings. Strengths
|
|
v3 relevance check: ✅ Still relevant — parallelize upload in |
What was found
Rule: PERF-016 | File:
application_sdk/storage/transfer.py:254| Severity: HIGHSequential
await _upload_one()in a for loop for directory uploads. No parallelism.What was fixed
Replaced sequential loop with
asyncio.gather+asyncio.Semaphore(20)for bounded concurrent uploads. Matches the pattern instorage/batch.py upload_prefix.Linear
https://linear.app/atlan-epd/issue/BLDX-1089