Move shared API and shuffle format helpers to Java modules#15040
Move shared API and shuffle format helpers to Java modules#15040gerashegalov wants to merge 2 commits into
Conversation
99d64a2 to
84ed0c3
Compare
24e3c48 to
a5598d9
Compare
a5598d9 to
b4ebb9d
Compare
84ed0c3 to
85f0628
Compare
Greptile SummaryThis PR is the third layer of a modular unshim stack refactor. It relocates shared helpers into more Java-accessible modules: FlatBuffers format classes move from
Confidence Score: 4/5This is a pure structural refactor with no intended behavioral changes; the Scala call-sites are mechanically updated and the Java replacements faithfully replicate the original logic. The conversion is clean and well-scoped. Two minor issues stand out: shuffle-plugin/src/main/java/com/nvidia/spark/rapids/shuffle/ucx/Rkeys.java and UCXActiveMessage.java are worth a second look. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
subgraph Before["Before (source locations)"]
A["sql-plugin/.../HashedPriorityQueue.java"]
B["sql-plugin/.../ThreadFactoryBuilder.scala"]
C["sql-plugin/.../format/TransferState.java\n+ 10 other FlatBuffers classes"]
D["UCX.scala\ncase class Rkeys\ncase class UCXActiveMessage\ncase class UCXError"]
E["UCXConnection.scala\ncase class UCXError"]
end
subgraph After["After (destination locations)"]
F["sql-plugin-api/.../HashedPriorityQueue.java"]
G["sql-plugin-api/.../ThreadFactoryBuilder.java"]
H["sql-plugin-api/.../ShimCommandRules.scala NEW"]
I["sql-plugin-format/.../TransferState.java\n+ 10 other FlatBuffers classes"]
J["shuffle-plugin/.../Rkeys.java NEW Java class"]
K["shuffle-plugin/.../UCXActiveMessage.java NEW Java class"]
L["shuffle-plugin/.../UCXError.java NEW Java class"]
end
A -->|rename| F
B -->|rewrite as Java| G
C -->|move + add license header| I
D -->|extract to Java| J
D -->|extract to Java| K
E -->|extract to Java| L
Reviews (1): Last reviewed commit: "Move shuffle format metadata to Java mod..." | Re-trigger Greptile |
Related to #14834.
Description
This PR is one reviewable layer in the unshim stack introduced by #15025. It moves shared API, UCX, and shuffle-format helper code into Java-friendly module locations. This keeps cross-shim helper bytecode available from shared modules before the Hadoop/file I/O and columnar moves build on it.
Stack context
Testing and validation notes
Checklists
Documentation
Testing
(Covered by the validation notes in the PR description.)
Performance