Conversation
Generated-by: Codex (GPT-5)
|
Hi @snuyanzin, apologies for the unsolicited ping. I noticed that you recently reviewed filesystem connector path-handling work such as #27553. Would you mind taking a quick look at this approach and, if it seems appropriate, helping assign FLINK-6417? Unlike the earlier #15436, this PR implements glob handling in the default FileSource enumerators, preserves non-glob behavior, and uses only the generic FileSystem API. Thank you! |
snuyanzin
left a comment
There was a problem hiding this comment.
Thank you for the contribution
however have read the comments in jira issue?
It tells about breaking changes and I don't see how it is mitigated here
|
Thanks for reviewing. I revisited FLINK-6417 and #15436, and I agree that moving the logic into FileSource does not by itself address the compatibility concerns. The current implementation still reinterprets literal paths containing glob characters and does not fully preserve subclass/filter behavior. I propose keeping the existing enumerators unchanged and making glob expansion explicitly opt-in via Do you think this is the right direction for FileSource? I’ll also address the architecture-test failure |
…cy rules Classify array dependencies using their base component types. Add positive and negative regression cases and remove resolved public-array false positives from the violation store. Generated-by: Codex CLI 0.153.0
…r FileSource Keep default enumerators and literal-path behavior unchanged. Discover unique concrete files with prefix-pruned glob traversal, then delegate file filtering and split generation. Cover errors, compatibility, bounded and continuous reads, checkpoint path restoration, HDFS and native S3. Generated-by: Codex CLI 0.153.0
…ation Generated-by: Codex CLI 0.153.0
|
Updated in a7ccd20: the existing enumerators are unchanged, and glob expansion is explicitly opt-in through Local connector This adds a |
|
@flinkbot run azure |
What is the purpose of the change
Propose explicit glob selection for DataStream
FileSource, addressing the compatibility concerns in FLINK-6417 and #15436. Existing enumerators remain unchanged and continue treating input paths literally. This does not change legacyFileInputFormator SQL filesystem paths.The new
@PublicEvolvingAPI is a proposal; the API/FLIP prerequisite inAGENTS.mdstill needs community guidance and approval.Brief change log
setFileEnumerator(() -> new GlobFileEnumerator(delegate)).**; deduplicate concrete files before delegating filtering and split generation.Verifying this change
Added regression coverage for literal paths, grammar, pruning, filters, overlapping inputs, error propagation, split preservation, bounded/continuous reading, TM/JM failover, and checkpoint-restored file sets.
Local Java 17 validation at
a7ccd2010b6c1746e681a5ddf66756824a6772dd:verify: 284 unit tests (6 existing migration skips), 28 integration tests; no failures.Official Azure build 79246 passed at this exact revision: all 13 PR CI jobs, including the six test groups, packaging/licensing, and four E2E groups. The logs confirm actual execution of the glob, HDFS/native S3, and 24 production architecture/rule tests without failures or skips.
Root Spotless, Checkstyle and license-header checks also pass locally. Local full
clean verifyencountered runtime temporary-storage/test-isolation failures; all 96 tests in the four affected/control classes pass both with corrected local isolation and in the normal official CI, without runtime source or assertion changes. The local full command itself is not claimed as passing.A supplemental disposable MinIO run before the sync also verified actual bounded/continuous records. Other S3 plugins are not claimed as tested.
The architecture regression has 14 positive/negative cases, including
GlobFilePathFilter[]rejection. Its public-array cases fail before the rule fix.Does this pull request potentially affect one of the following parts:
@PublicEvolving GlobFileEnumerator; approval remains pending.Documentation
Was generative AI tooling used to co-author this PR?
Generated-by: Codex (GPT-5); Codex CLI 0.153.0