sollhui opened a new pull request, #69383:
URL: https://github.com/apache/doris/pull/69383

   ### What problem does this PR solve?
   
   Related PR: #64941, #64684
   
   Azure glob listing scans only the longest static prefix. For example, 
`date=2025-{0[3-9],1[0-2]}-01/*` scans everything under `date=2025-`, including 
unrelated dates.
   
   Extract the object-storage glob helpers into `ObjectStorageGlob` and use 
them for Azure and S3-compatible listing. Bounded alternatives become sorted, 
non-overlapping remote list prefixes; unsafe or excessive expansion falls back 
to a conservative prefix and still applies the complete matcher. Numeric ranges 
retain zero padding and can match large ranges without enumerating every value. 
Azure limits and resume cursors continue across expanded prefixes, and 
object-storage cursors consistently use unsigned UTF-8 order. S3 directory 
buckets retain slash-terminated prefixes and reject unsupported key-based 
pagination.
   
   This reapplies the final changes from #64941 to current master 
(`cca2231716264a15cbc884fbeac96eef4eafd66b`). It adapts the S3 changes to 
`fe-filesystem-s3-base`, retains the existing SPI hooks and notification 
matcher, merges the offset test into master's existing tests, and preserves 
master's escaped/nested glob and suffix-sensitive prefix behavior. Hadoop's 
`GlobPattern` expansion remains unchanged.
   
   ### Release note
   
   Reduce Azure glob listing scans for bounded patterns. Correct object-storage 
numeric-range and UTF-8 cursor handling. Reject limited/resumed S3 
directory-bucket glob listing because it cannot support key-based pagination.
   
   ### Check List (For Author)
   
   - Test:
       - [x] Unit Test: ported and extended coverage for prefix pushdown, 
fallback, numeric ranges, padding, escaping, nesting, limits, UTF-8 cursors, 
and directory buckets.
       - Local validation: Checkstyle passed for `fe-filesystem-spi`, 
`fe-filesystem-azure`, `fe-filesystem-s3-base`, and `fe-core`; `git diff 
--check` passed.
       - Unit execution is pending CI. Attempted `bash run-fe-ut.sh --run 
ObjectStorageGlobTest,AzureFileSystemTest,S3FileSystemTest,S3CompatibleFileSystemTest,S3SourceOffsetProviderTest`,
 but the standard script stopped at the JDK check: this host has no configured 
JDK 17. No unit-test success is claimed.
   - Behavior changed:
       - [x] Yes. Azure pushes down expanded prefixes; object-storage ranges 
preserve padding and large-range semantics; cursor comparisons use UTF-8 order; 
directory-bucket key pagination fails explicitly.
   - Does this need documentation?
       - [x] No. No new configuration or syntax.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to