Skip to content

feat(berlinmod): route the streaming parity matrix through MEOS via JMEOS 1.4 (stacks on #1)#14

Open
estebanzimanyi wants to merge 2 commits into
MobilityDB:feat/berlinmod-q1-scaffoldfrom
estebanzimanyi:consolidate/kafka-meos-integration
Open

feat(berlinmod): route the streaming parity matrix through MEOS via JMEOS 1.4 (stacks on #1)#14
estebanzimanyi wants to merge 2 commits into
MobilityDB:feat/berlinmod-q1-scaffoldfrom
estebanzimanyi:consolidate/kafka-meos-integration

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

Path-B consolidation — PR 2 of 3 (scaffold #1 · MEOS integration · benchmark).

Collapses the former MEOS stack (old #2#10) into one topical commit on top of the reviewed scaffold #1. Routes the BerlinMOD-9 × 3-form processors through MEOS (libmeos via the JMEOS 1.4 bridge) — edwithin_tgeo_geo, eintersects_tgeo_geo, geog_distance, and the set-set join family — and adds the MEOS DSL-tier wirings + per-family facade smoke tests + the canonical BerlinMOD corpus loader.

Irregularities removed vs. the old stack

  • No committed generated facade (consumes the shared jar/JMEOS.jar); the old stack added ~127k generated lines then deleted them.
  • Dropped the dead family-flag Maven profiles (they excluded meos/MeosOps*.java generated files that no longer exist).
  • Removed the invented BerlinMODCorpus.synthetic() corpus — the canonical berlinmod_instants.csv is the only data source.
  • Moved MeosWiringsDemoTopology out of src/main (it used the test-scoped TopologyTestDriver) — same fix as the scaffold's BerlinMODFullMatrixTest.

Verification

mvn test11 tests, 0 failures (full matrix + 7 MEOS smokes + set-set join), built against MEOS 1.4 from pin 588768d7 (MobilityDB #1148 set-set join). MEOS smokes run with reuseForks=false for a clean native lifecycle.

Depends on MobilityDB #1148 (set-set spatial join) for the *_tgeoarr_tgeoarr symbols, pinned via the bundled libmeos.

…MEOS 1.4

The BerlinMOD-9 × 3-form processors route their spatial predicates and
distances through MEOS (libmeos via the JMEOS 1.4 bridge) instead of the
pure-Java Haversine/SegmentDistance fallbacks: edwithin / eintersects /
geog_distance and the set-set join family.

Adds the MEOS Kafka-Streams DSL-tier wirings (stateless / bounded-state /
windowed / cross-stream), per-family MEOS facade smoke tests (cbuffer /
npoint / pose), a set-set spatial-join verification test, the parameterized
topology builder, and the canonical BerlinMOD corpus loader. The inherited
full-matrix test now routes through MEOS; the lone engine-divergent cell is
Q5 ("pairs meeting"), gated on the meos.enabled flag.

kafka-streams-test-utils stays test-scoped; the MEOS smoke tests run in their
own JVM fork (reuseForks=false) because MEOS keeps process-global state that
cannot be re-initialised after meos_finalize.
@estebanzimanyi estebanzimanyi force-pushed the consolidate/kafka-meos-integration branch from c6f2016 to 6305403 Compare June 11, 2026 17:57
… surface

Rebuild the bundled JMEOS jar from the regenerated JMEOS surface: the
hand-rolled functions.functions facade is gone, GeneratedFunctions carries the
sret-bound by-value struct returns (the *Split family) and the collation-init
fix, the org.mobilitydb.meos MeosOps* facade is regenerated against it, and the
MeosSetSetJoin helper rides the set-set spatial-join surface.

Verified: kafka-streams-app compiles and its test suite is green (11 tests, 0
failures) against the refreshed jar.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant