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

   ### What problem does this PR solve?
   
   Issue Number: #67577 -- the tracking issue for the protocol-agnostic session 
and execution
   layer. This is a preparatory, mechanical PR of its Stage 1 and does not 
close it.
   
   Arrow Flight SQL was added under `org.apache.doris.service.arrowflight` in 
2023 (#24772)
   because it was wired up next to the thrift `FrontendServiceImpl`. It has 
since grown into a full
   peer of the MySQL front end (its own connect processor, sessions, auth, 
result channel, and, as
   of #67835, a `ProtocolAdapter`), while the MySQL side lives in the top-level 
`org.apache.doris.mysql`
   package. #67835 already had to mirror the `protocol` sub-package on both 
sides, and the next PR
   (`ResultSender`) would add one more implementation per side. Moving Flight 
out of `service/` now
   keeps the two front ends symmetric before more code lands on that shape:
   
   ```
     org.apache.doris.mysql                        org.apache.doris.arrowflight 
  (was service.arrowflight)
       .protocol.MysqlProtocolAdapter                
.protocol.FlightProtocolAdapter
       .protocol.MysqlResultSender   (next PR)       
.protocol.FlightResultSender   (next PR)
   ```
   
   What moves (`git mv`, sub-packages kept as they were):
   
   - `fe-core/src/main/java/org/apache/doris/service/arrowflight/**` -> 
`.../doris/arrowflight/**`
     (19 files: 4 top-level, `auth2/` 5, `protocol/` 1, `results/` 3, 
`sessions/` 3, `tokens/` 3)
   - `fe-core/src/test/java/org/apache/doris/service/arrowflight/**` -> 
`.../doris/arrowflight/**`
     (7 tests)
   - `fe-core/src/test/java/org/apache/doris/service/FlightSqlJDBC.java` -> 
`.../doris/arrowflight/`
     (the manual Flight JDBC client left behind by #27661; it only sat in 
`service` because Flight did)
   
   What changes inside files: `package` declarations and `import` lines only, 
plus re-sorting the
   `org.apache.doris.*` import block where `arrowflight` now sorts before 
`catalog`/`common`/`qe`
   (checkstyle `CustomImportOrder`). 9 files outside the moved tree only update 
imports:
   `ConnectContext`, `ConnectScheduler`, `Coordinator`, `NereidsCoordinator`, 
`OssFeServerStarterProvider`,
   and the tests `ConnectionExceedTest`, `MysqlProtocolAdapterTest`, 
`AuditLogWorkloadGroupTest`,
   `FlightResultGoldenTest`.
   
   Nothing else references the old package name: no `Class.forName`, no 
configuration key, no
   `pom.xml` / checkstyle suppression / log4j entry, no regression-test or 
`.github` path. The four
   classes that are actually the thrift service (`ExecuteEnv`, `FeDiskInfo`, 
`FrontendOptions`,
   `FrontendServiceImpl`) stay in `org.apache.doris.service`.
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test <!-- At least one of them must be included. -->
       - [ ] Regression test
       - [x] Unit Test
       - [ ] Manual test (add detailed scripts or steps below)
       - [x] No need to test or manual test. Explain why:
           - [x] This is a refactor/code format and no logic has been changed.
           - [x] Previous test can cover this change.
   
     Verified locally: checkstyle over `fe/` reports no violation in the 36 
touched files (the only
     two it reports today are the pre-existing JUnit 4 imports in 
`cloud/rpc/VersionHelperTest.java`,
     being fixed by #67865); main and test sources compile; the 7 moved tests, 
the 4 tests whose
     imports changed, and both protocol golden tests (`MysqlPacketGoldenTest`, 
`FlightResultGoldenTest`)
     pass: 12 classes, 50 tests, 0 failures. The golden tests being green means 
the MySQL packet
     bytes and the Arrow Flight results are unchanged.
   
   - Behavior changed:
       - [x] No.
       - [ ] Yes. <!-- Explain the behavior change -->
   
   - Does this need documentation?
       - [x] No.
       - [ ] Yes. <!-- Add document PR link here. eg: 
https://github.com/apache/doris-website/pull/1214 -->
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label <!-- Add branch pick label that this PR should 
merge into -->
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   
   https://claude.ai/code/session_01QFwVuLmK8e7sEdKVKB6QZJ
   


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