Background
MobilitySpark currently consumes JMEOS via two vendored JARs in libs/:
MobilityDB-JMEOS.jar (3.9 MB)
MobilityDB-JMEOS-Linux.jar (21 MB — bundles the MEOS native library)
The Maven dependency block in pom.xml is decorative — JMEOS is not published on Maven Central and the declared org.jmeos:meos:1.0 coordinate doesn't resolve from any public repo. The actual integration is JAR-based.
JMEOS itself is undergoing a major upgrade to wrap the MEOS C API 1.3 in JMEOS PR #8 — currently OPEN, BLOCKED on review since 2025-10-10. PR #8 is from a fork (SachaDelsaux/JMEOS:JMEOS_v1.3) and represents what the user calls "JMEOS 1.3". Once it merges, MobilitySpark needs a coordinated bump: build new JARs, replace the vendored copies, and update any code paths that depend on changed JMEOS signatures.
This issue tracks that work.
What changes upstream
JMEOS PR #8 stats:
functions/functions.java: 8915 added, 4004 deleted (1486 → 2172 public-static methods, ~700 net new).
- 17 test files modified.
- One stray binary:
hs_err_pid17967.log (a JVM crash dump that should not be committed) — flag back to upstream.
scale10.csv (~50 MB) — PR #8's body itself notes this should move to Git LFS or be excluded.
The Maven artefact version stays at 1.0-SNAPSHOT on both main and the v1.3 branch. The "1.3" refers to the MEOS C API version the bindings wrap, not a JMEOS Maven version bump.
What MobilitySpark consumes from JMEOS
A full grep across the four Java files in src/main/java/ finds two JMEOS imports total:
import static jmeos.functions.functions.meos_finalize;
import static jmeos.functions.functions.meos_initialize;
Both methods still exist in PR #8's functions.java (lines 4430 and 4435). The API-compat risk on the MobilitySpark side is essentially zero — the bump should compile cleanly once the new JARs are in place.
Staged plan
|
Stage |
Effort |
Blocker |
| 0 |
JMEOS PR #8 merges to MobilityDB/JMEOS:main |
external |
Currently OPEN, BLOCKED on review since 2025-10-10. Needs @GaspardMerten + @mschoema sign-off. |
| 1 |
Build new MobilityDB-JMEOS.jar + MobilityDB-JMEOS-Linux.jar from the merged 1.3 bindings, against MEOS 1.3 native library |
~30 min, requires Linux build env with MEOS 1.3 installed |
Stage 0 |
| 2 |
Replace the two JARs in MobilitySpark/libs/; correct the pom.xml dependency block (the <artifactId>meos</artifactId> is a typo for jmeos, but currently has no functional effect since the artefact does not resolve from any Maven repo) |
~30 min mechanical |
Stage 1 |
| 3 |
Verify MobilitySpark compiles with mvn clean install; run integration test (the meos_initialize / meos_finalize calls in Main.java are the canary) |
~30 min |
Stage 2 |
| 4 |
Update README to reference MEOS 1.3 (currently the cmake instructions install whatever is on MobilityDB/MobilityDB:master); pin the MEOS source version explicitly |
~15 min |
Stage 3 |
Total once unblocked: ~2 hours of focused work. All gated on JMEOS PR #8 merging.
Companion artefact
A draft PR captures the staged plan in-tree at doc/BUMP_TO_JMEOS_1.3.md so contributors can find it without leaving the repo: see [PR linked below].
Outstanding questions for upstream coordination
- JMEOS PR #8 cleanup items — flag back to @GaspardMerten:
- Remove the
hs_err_pid17967.log JVM-crash binary.
- Move or exclude
scale10.csv (~50 MB) per the PR body's own note.
- MEOS 1.3 native library availability — confirm a stable tag / release on
MobilityDB/MobilityDB so the Linux JAR can bundle it. The cmake MEOS=ON build path needs a known-good source state for reproducibility.
- JMEOS Maven publication strategy — long-term, JMEOS publication on Maven Central would replace the vendored-JAR pattern in MobilitySpark with a clean
<dependency> block. Out of scope for this bump but worth raising.
Cc
- @GaspardMerten — JMEOS maintainer; PR #8 review and the cleanup items.
- @mschoema — JMEOS / MobilityDB; Java-binding architecture context.
- @JashanReel — MEOS-API context (relevant to the JMEOS-Maven-publication question in §3 of outstanding questions).
- @estebanzimanyi — visibility.
Background
MobilitySpark currently consumes JMEOS via two vendored JARs in
libs/:MobilityDB-JMEOS.jar(3.9 MB)MobilityDB-JMEOS-Linux.jar(21 MB — bundles the MEOS native library)The Maven dependency block in
pom.xmlis decorative — JMEOS is not published on Maven Central and the declaredorg.jmeos:meos:1.0coordinate doesn't resolve from any public repo. The actual integration is JAR-based.JMEOS itself is undergoing a major upgrade to wrap the MEOS C API 1.3 in JMEOS PR #8 — currently OPEN, BLOCKED on review since 2025-10-10. PR #8 is from a fork (
SachaDelsaux/JMEOS:JMEOS_v1.3) and represents what the user calls "JMEOS 1.3". Once it merges, MobilitySpark needs a coordinated bump: build new JARs, replace the vendored copies, and update any code paths that depend on changed JMEOS signatures.This issue tracks that work.
What changes upstream
JMEOS PR #8 stats:
functions/functions.java: 8915 added, 4004 deleted (1486 → 2172 public-static methods, ~700 net new).hs_err_pid17967.log(a JVM crash dump that should not be committed) — flag back to upstream.scale10.csv(~50 MB) — PR #8's body itself notes this should move to Git LFS or be excluded.The Maven artefact version stays at
1.0-SNAPSHOTon bothmainand the v1.3 branch. The "1.3" refers to the MEOS C API version the bindings wrap, not a JMEOS Maven version bump.What MobilitySpark consumes from JMEOS
A full grep across the four Java files in
src/main/java/finds two JMEOS imports total:Both methods still exist in PR #8's
functions.java(lines 4430 and 4435). The API-compat risk on the MobilitySpark side is essentially zero — the bump should compile cleanly once the new JARs are in place.Staged plan
MobilityDB/JMEOS:mainMobilityDB-JMEOS.jar+MobilityDB-JMEOS-Linux.jarfrom the merged 1.3 bindings, against MEOS 1.3 native libraryMobilitySpark/libs/; correct the pom.xml dependency block (the<artifactId>meos</artifactId>is a typo forjmeos, but currently has no functional effect since the artefact does not resolve from any Maven repo)mvn clean install; run integration test (themeos_initialize/meos_finalizecalls inMain.javaare the canary)cmakeinstructions install whatever is onMobilityDB/MobilityDB:master); pin the MEOS source version explicitlyTotal once unblocked: ~2 hours of focused work. All gated on JMEOS PR #8 merging.
Companion artefact
A draft PR captures the staged plan in-tree at
doc/BUMP_TO_JMEOS_1.3.mdso contributors can find it without leaving the repo: see [PR linked below].Outstanding questions for upstream coordination
hs_err_pid17967.logJVM-crash binary.scale10.csv(~50 MB) per the PR body's own note.MobilityDB/MobilityDBso the Linux JAR can bundle it. The cmakeMEOS=ONbuild path needs a known-good source state for reproducibility.<dependency>block. Out of scope for this bump but worth raising.Cc