OIiveirra opened a new pull request, #69527:
URL: https://github.com/apache/doris/pull/69527
### What problem does this PR solve?
Issue Number: N/A
Related PR: #69526
Problem Summary: LOCAL TVF and FILE TVF with local storage currently remains
available without explicit startup opt-in. Add `enable_local_tvf=false` and
reject use at the LOCAL constructor before property parsing, backend selection,
or file access. Setting it to true restores this branch's existing behavior.
## Summary
```text
LOCAL / FILE-local → startup opt-in check → existing processing
```
Dedicated regression deployments opt in to retain their existing LOCAL
coverage.
### Release note
LOCAL TVF and FILE TVF with local storage is disabled by default. Set
`enable_local_tvf=true` in `fe.conf` on every query-serving FE and restart
those FEs to restore the existing behavior. The setting is not runtime-mutable.
## Evidence
- **Before:** LOCAL construction proceeded directly into existing processing.
- **After:** Disabled LOCAL/FILE-local access is rejected before
file-service interaction; explicit opt-in reaches existing processing.
Non-local FILE/S3 delegation remains available.
- 7 focused FE unit tests passed, with zero failures or skips.
- Focused Checkstyle passed for the changed Java files.
- Private branch-4.1 FE: 22 real SQL checks passed across default-disabled
and restart-enabled profiles (LOCAL/FILE, CSV/Lance, SELECT/EXPLAIN,
ordinary/admin users, and startup-only configuration); the private FE was
stopped. Runtime SQL verification was on branch-4.1; this branch was verified
by its focused unit tests and Checkstyle.
- SQL regression coverage added for SELECT and EXPLAIN under either
configuration state; the Groovy runner was not executed locally.
### Check List (For Author)
- Test:
- [x] Unit Test
- [x] Manual test (private FE SQL validation described above)
- Behavior changed:
- [x] Yes. Local TVF access requires startup opt-in.
- Does this need documentation:
- [x] Yes. Default and opt-in are documented in the release note above.
## Merge Danger
**Door:** Two-way; explicit startup opt-in restores existing behavior.
**Blast Radius:** LOCAL TVF consumers, including FILE with local storage.
### 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]