Shaded jar built with -Dgeotools keeps only one JAI-EXT registry file
Maintainers usually reply within 1 day
@jiayuasu is already working on this.
Since Oct 14, 2026.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- java
- Domain
- build-system
Research direction
The fix lives in the shade plugin configuration of the sedona-spark-shaded module's pom.xml, which is the module built with the -Dgeotools profile. Check how the ServicesResourceTransformer or AppendingTransformer handles META-INF/registryFile.jaiext and META-INF/registryFile.jai, then confirm the shaded jar contains merged entries for both. Pull request 3460 is already open against this issue, so review or build on that work rather than starting a parallel fix.
Written by the indexing model from the issue text.
Description
When sedona-spark-shaded is built with -Dgeotools (as the Python CI does), the shade plugin keeps one META-INF/registryFile.jaiext instead of merging the files shipped by the ~30 JAI-EXT modules. Only Affine ends up registered as a JAI-EXT operation. Crop, Scale, Translate, Warp, Mosaic, BandMerge and others fall back to core JAI, and the JAI-EXT-only operations are missing. META-INF/registryFile.jai loses the JAITools ZonalStats entry the same way.
As a result, the Python tests run different raster code than releases (which get GeoTools from geotools-wrapper, where these files are merged) and than the Scala tests.
Fix: append both registry files in the shade configuration.
- Dominant language
- Java
- Stars
- 2.4k
- Forks
- 787
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 52
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/sedona
-
ST_EqualsIdentical returns false for a stored 2D geometry and the same geometry parsed from WKTPossibly taken @jiayuasu claimed this today. Open
Difficulty 3/5 Half a day Newbie friendliness 25/100
Maintainers usually reply within 1 day
-
Skip deserialization in ST_EqualsIdentical when both geometry buffers are byte-identicalPossibly taken @jiayuasu claimed this today. Open
Difficulty 3/5 Half a day Newbie friendliness 25/100
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 45/100
apache/sedona#3429 · 1 comment ·
Maintainers usually reply within 1 day
-
good first issue
Difficulty 3/5 1-2 days Newbie friendliness 74/100
apache/sedona#3364 · 1 comment ·
Maintainers usually reply within 1 day
-
Clearing NoData on one raster band changes another band's MapAlgebra resultsMay be free again A pull request for this issue was closed without being merged. Openbug
Difficulty 4/5 3-5 days Newbie friendliness 55/100
apache/sedona#3324 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
NationalSecurityAgency/ghidra#9884 ·
Maintainers usually reply within 2 days
-
Status: Pending Review Type: Feature Request
Difficulty 1/5 Under an hour Newbie friendliness 82/100
OpenRefine/OpenRefine#8019 ·
Maintainers usually reply within 1 day
-
`timer` rule rejects dates the engine acceptsPossibly taken @MFA-G claimed this today. Openbug ready
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
camunda/bpmnlint-plugin-camunda-compat#281 · 3 comments ·
Maintainers usually reply within 1 day
-
status: waiting-for-triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 62/100