Skip to content

feat(berlinmod): route the streaming parity matrix through MEOS via JMEOS 1.4#30

Open
estebanzimanyi wants to merge 2 commits into
MobilityDB:mainfrom
estebanzimanyi:consolidate/flink-meos-integration
Open

feat(berlinmod): route the streaming parity matrix through MEOS via JMEOS 1.4#30
estebanzimanyi wants to merge 2 commits into
MobilityDB:mainfrom
estebanzimanyi:consolidate/flink-meos-integration

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

Path-B consolidation — Flink MEOS integration (scaffold #3 is already merged to main).

Collapses the former 18-deep MEOS stack (old #4#21, #25) into one topical commit on top of main: routes the BerlinMOD-9 × 3-form DataStream functions through MEOS (libmeos via the JMEOS 1.4 bridge) and adds the MEOS tier wirings + demo jobs + per-family facade smoke tests + canonical corpus loader + BerlinMODParity driver.

Irregularities removed vs. the old stack

  • No committed generated facade (consumes the shared jar/JMEOS.jar); the old stack added ~30k generated lines then deleted them.
  • Dropped the dead family-flag Maven profiles (excluded meos/MeosOps*.java files that no longer exist).
  • Removed the invented synthetic() corpus — BerlinMODParity runs on the canonical berlinmod_instants.csv only.
  • Untracked the stale committed target/ build artifacts (now gitignored).

Verification

mvn test10 tests, 0 failures, built against MEOS 1.4 from pin 588768d7 (MobilityDB #1148 set-set join). MEOS smokes run with reuseForks=false.

This was referenced Jun 11, 2026
…MEOS 1.4

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

Adds the MEOS DataStream tier wirings (stateless / bounded-state / windowed /
cross-stream) with their demo jobs, per-family MEOS facade smoke tests
(cbuffer / npoint / pose), a set-set spatial-join verification test, the
canonical BerlinMOD corpus loader and the BerlinMODParity driver — both run
on the canonical berlinmod_instants.csv only (the invented synthetic corpus
is removed).

Drops the dead family-flag Maven profiles (they excluded meos/MeosOps*.java
generated files that no longer exist), untracks the stale committed
target/ build artifacts (now gitignored), and runs the MEOS smoke tests in
their own JVM fork (reuseForks=false) for a clean native lifecycle.
@estebanzimanyi estebanzimanyi force-pushed the consolidate/flink-meos-integration branch from 6d06a5f to db2e51b Compare June 11, 2026 18:04
… 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, and the org.mobilitydb.meos MeosOps* facade is regenerated against it.

Migrate the aisdata processors off the removed functions.functions facade onto
GeneratedFunctions (meos_initialize / meos_initialize_timezone / meos_finalize);
the berlinmod package already used GeneratedFunctions + the MeosOps facade.

Verified: flink-processor compiles and its test suite is green (10 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