You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
-30Lines changed: 0 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,36 +67,6 @@ Fork of Apache Arrow Java, producing a shaded JDBC driver JAR (`com.gizmodata:gi
67
67
- Update version references in `README.md` (Maven, Gradle, badge) before tagging
68
68
- Update `gizmosqlline` pom.xml and README with new driver version after Maven Central publish
69
69
70
-
## Current Work: JDK 25 Bytecode Fix (Jan 31 2026)
71
-
72
-
### Problem
73
-
`PooledByteBufAllocatorL.java` was fixed to use `AbstractByteBuf` instead of `PooledUnsafeDirectByteBuf`, but published JARs (v1.3.0 through v1.4.0) all had stale bytecode.
74
-
75
-
### Root Cause (CONFIRMED)
76
-
`memory-netty-buffer-patch` is NOT in the `-am` reactor for `flight-sql-jdbc-driver` because it is a **shade-time dependency**, not a Maven dependency. The shade plugin pulls it from `~/.m2/repository`. The publish-release job never compiled it from source.
77
-
78
-
### Fix Applied (committed to main, not yet successfully published)
79
-
In `.github/workflows/jdbc-driver.yml` publish-release job: build `memory-netty-buffer-patch` as a **separate Maven invocation BEFORE**`versions:set`, so the freshly compiled `19.0.0-SNAPSHOT` jar gets installed to `~/.m2/repository`. Then the shade plugin picks up the correct bytecode.
80
-
81
-
### Local Verification Status
82
-
- Source code is correct: `PooledByteBufAllocatorL.java` uses `AbstractByteBuf` everywhere
83
-
- Unshaded compiled class (in `memory-netty-buffer-patch/target/classes/`) has `AbstractByteBuf` references, zero `PooledUnsafeDirectByteBuf` references
84
-
- Local build of shaded driver JAR needs to be tested on JDK 25 against gizmosqlline
85
-
86
-
### Next Steps
87
-
1. Build driver locally: already done, JAR at `flight/flight-sql-jdbc-driver/target/gizmosql-jdbc-driver-19.0.0-SNAPSHOT.jar`
88
-
2. Build gizmosqlline using local SNAPSHOT driver (change pom.xml to `19.0.0-SNAPSHOT`)
89
-
3. Test gizmosqlline on JDK 25 against local GizmoSQL (already running on port 31337)
90
-
4. If it works, tag driver as v1.4.1 (CI fix already pushed to main)
91
-
5. Wait for Maven Central sync, then update gizmosqlline and tag
92
-
93
-
### Tags Published to Maven Central (all have stale bytecode)
94
-
- v1.3.0, v1.3.1, v1.3.2, v1.4.0 — all have `PooledUnsafeDirectByteBuf` casts
95
-
- v1.4.1 tag was deleted after publish-release failed (version mismatch error)
96
-
97
-
### Key Insight About Purge Path
98
-
The Maven artifactId is `arrow-memory-netty-buffer-patch` (with `arrow-` prefix). The module directory is `memory/memory-netty-buffer-patch`. The purge path must be `~/.m2/repository/org/apache/arrow/arrow-memory-netty-buffer-patch`.
99
-
100
70
## Common Gotchas
101
71
-**Develocity build cache (REMOVED)**: The Develocity Maven extension was removed from `.mvn/extensions.xml` because its local build cache persisted stale compiled classes across GitHub Actions runs (restored via `setup-java` Maven cache). Neither `clean` nor `-Ddevelocity.cache.local.enabled=false` prevented it. v1.3.0 and v1.3.1 were published with stale bytecode as a result. CI now purges `~/.m2/repository/org/apache/arrow/memory-netty-buffer-patch` before builds and has a bytecode verification step.
102
72
- Rebuilding only `memory-netty-buffer-patch` is NOT enough — must rebuild the full shaded driver with `-am`
0 commit comments