Repository navigation
Conversation
Route binary columnar formats through a file-granularity upload path so UTF-8 validation and text delimiters cannot corrupt or reject them. Keep worker concurrency across complete files and preserve redirects, compression, and retry behavior.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
workersfor file-level concurrencyProblem
The CLI forwards
format:orcandformat:parquetto Doris, but the local reader still processes those files withReadBytes(lineDelimiter)and enables UTF-8 validation by default. Binary columnar files can therefore be modified by replacement characters, rejected at EOF when they do not end in a text delimiter, or split across independent Stream Load requests.This is the same root cause reported in #34 for Parquet and also affects ORC.
Implementation
ORC and Parquet now use a file-streaming path:
CSV and other text-format behavior remains on the existing batching path.
Verification
go test ./... -count=1go test -race ./... -count=1go vet ./...go buildRegression tests verify byte-for-byte preservation, per-file request boundaries, selected-file retry, LZ4 compression, and FE HTTP 307 redirects.
Fixes #34