Skip to content

feat(file): read matched files concurrently - #128

Merged
Mahesh Kamble (ma-gk) merged 4 commits into
mainfrom
feat/file-read-concurrency
Sep 30, 2026
Merged

Mahesh Kamble (ma-gk) merged 4 commits into
mainfrom
feat/file-read-concurrency

Conversation

@ma-gk

Copy link
Copy Markdown
Contributor

Description

File source tasks stay on a single pipeline worker so a glob is parsed once and files are not duplicated. task_concurrency now bounds how many of those matched files are fetched in parallel. A read error cancels the remaining fetches, and fail_on_error still fails the run.

Write tasks are unchanged: task_concurrency still means competing-consumer workers.

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation and I have updated the documentation accordingly.
  • I have added tests to cover my changes.

Test plan

  • go test ./internal/pkg/pipeline/task/file/ — concurrent read of 10 temp files returns every record
  • Run test/pipelines/file_concurrency_test.yaml (task_concurrency: 3 over 100 nested files) and confirm 100 outputs under ./output/
  • Run test/pipelines/file_read_failure.yaml and confirm the run fails when the glob matches a directory
  • Confirm a file write task with task_concurrency greater than 1 still uses competing workers

Keep a file source on one pipeline worker so a glob is not parsed twice, and use task_concurrency to bound parallel fetches of those files.
@ma-gk
Mahesh Kamble (ma-gk) requested a review from a team as a code owner September 23, 2026 11:20
Comment thread internal/pkg/pipeline/task/file/README.md Outdated
Comment thread internal/pkg/pipeline/task/file/file_test.go Outdated
Address PR #128 review: shorten the read-mode task_concurrency
description and remove file_test.go per the repo's convention of
keeping test pipelines rather than Go test files.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ma-gk
Mahesh Kamble (ma-gk) merged commit d249514 into main Sep 30, 2026
7 checks passed
@ma-gk
Mahesh Kamble (ma-gk) deleted the feat/file-read-concurrency branch September 30, 2026 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants