Repository navigation
CI: let the native lane build against the 26.12.1-SNAPSHOT engine (refs #289) - #298
Merged
Merged
Conversation
#289) Columnar faceting (FACETS, CREATE INDEX ... COLUMNAR) is merged in the engine but unreleased; Maven Central's newest arcadedb-engine is 26.11.1. The JVM lane already runs it (the `latest` image), the native lane could not: native/pom.xml has no snapshot repository. - native/pom.xml: a snapshots-on, releases-off repository for the Sonatype snapshot URL. A release version is never asked of it, so the PR gate (DEV_ENGINE 26.11.1) and every release build still resolve from Maven Central alone. - test-native.yml, plan job: a manual devN run may pass engine=A.B.C-SNAPSHOT; a final or post version, and a release run (release: true), are refused with it, so release-native.yml cannot publish from a snapshot even if DEV_ENGINE is later flipped. - test-native.yml, wheel step: a SNAPSHOT run skips the THIRD_PARTY_NOTICES.md comparison (it names the engine release and its jars; snapshot jars are timestamped and there is no tag for git show). The wheel version stays 26.12.1.dev0. - test-native.yml, new dispatch input `legs` (full | pull-request): a proof run needs one platform and one Python, not four platforms. - tests/test_columnar_engine_smoke.py: version-gated like test_vector_sql.py; an engine older than 26.12.1 must refuse FACETS and COLUMNAR with its own error, a newer one must return the rows and create and drop the index. No skips. On the native image it is the first proof of the reflection metadata for the new parser classes. DEV_ENGINE is not changed: flipping the gate is a later one-line change, pending the answer on #289. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ndex is not listed as FacetDoc[category]
The first native snapshot run passed the FACETS test and failed only on exists_index('FacetDoc[category]'), while the JVM lane passed. The message now shows what schema:indexes lists, so the next run says whether the native build lists the index under another name or not at all (a finding for #292).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…umnar The native snapshot run showed schema:indexes holds FacetDoc[category]_columnar (type level) and one FacetDoc_0_<id> row per bucket; the inferred name FacetDoc[category] was wrong on any build, so this is not a native gap. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…es its cause On the 26.12.1-SNAPSHOT native run three IMPORT DATABASE tests answer FAIL (CSV documents and CSV graph with a quoted parallel setting, XML vertices); the engine now refuses an import that read nothing (ArcadeData/arcadedb 4a91847a1f). The helper only compared the status word. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
26.11.1 ignored unknown importer names; the 26.12.1-SNAPSHOT engine refuses them (Unknown importer setting 'entityType'). The XML import is driven by objectNestLevel; the statement behaves the same on 26.11.1 without it. The two tests that quote `parallel` are left for ArcadeData/arcadedb#11367. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
tae898
marked this pull request as ready for review
November 6, 2026 21:09
…Data/arcadedb#11367 is answered PARALLEL is a reserved word, so an IMPORT DATABASE setting of that name can only be written in backticks (unquoted is a syntax error on 26.11.1). The 26.12.1 engine refuses the quoted name as unknown, which turned the JVM gate (it runs the latest engine image) red for both tests. Below 26.12.1 the import must answer OK as before; from 26.12.1 it must answer FAIL with the importer's reason. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…e that refuses it PARALLEL is a reserved word, so IMPORT DATABASE can only take it in backticks, and the 26.12.1 engine refuses the quoted name as an unknown importer setting (ArcadeData/arcadedb#11367). The Python examples job runs the latest engine and went red on both examples (the import answered FAIL, so the type was never created). From 26.12.1 the setting is left out and the importer default is used, with a one-line note; below it nothing changes. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #289. Columnar faceting (
FACETS,CREATE INDEX ... COLUMNAR) is merged in the engine but not released (26.12.1 is expected in the first days of December), and Maven Central's newestarcadedb-engineis 26.11.1. The JVM lane already runs a faceting engine because its jars come from thelatestimage. The native lane could not, becausenative/pom.xmlhas no snapshot repository. This PR lets a manual native run link26.12.1-SNAPSHOTso I can check the native image against the new parser and index classes before the release.What changes:
native/pom.xml: a<repository>forhttps://central.sonatype.com/repository/maven-snapshots/with snapshots enabled and releases disabled. A release version is never requested from it, so every build that does not pass a SNAPSHOT still resolves from Maven Central alone.test-native.yml, plan job: a manualdevNrun may passengine=A.B.C-SNAPSHOT. A final or post version is refused with a SNAPSHOT engine (as before, it must link exactly its release), and so is a run withrelease: true, sorelease-native.ymlcannot publish a wheel built from a snapshot even afterDEV_ENGINEis changed later.test-native.yml, wheel step: a SNAPSHOT run passes--skip-notices-checktobuild_wheel.py, becauseTHIRD_PARTY_NOTICES.mdnames the engine release and its jars (snapshot jars carry a timestamp and there is no tag togit showthe NOTICE from). The wheel version stays26.12.1.dev0, a valid PEP 440 version;ENGINE_VERSIONin the wheel reads26.12.1-SNAPSHOT.test-native.yml, new dispatch inputlegs(full, the default, orpull-request): a proof run needslinux-x86_64and Python 3.12, not four platforms, and the runner cap is shared with upstream.docs/modules/ROOT/pages/development/ci.adocdescribes the above.tests/test_columnar_engine_smoke.py, version-gated liketest_vector_sql.py: on an engine older than 26.12.1 it asserts that theFACETSclause andCREATE INDEX ... COLUMNARare refused with the engine's own error; on 26.12.1 or later (including26.12.1-SNAPSHOT) it asserts that the rows of aFACETSquery come back and that the index can be created and dropped. No skips. On the native image it is also the first proof that the image has the reflection metadata for the new parser classes (FacetsClause,FacetItem,FacetRangeItem). If the snapshot run fails on them, I will post the log excerpt in a comment, and fixing the metadata is a separate PR.What stays:
DEV_ENGINEis still26.11.1, so the pull request gate and the nightly run are unchanged, andrelease-native.ymlis untouched. Flipping the gate to the snapshot would be a one-line change,DEV_ENGINE: "26.12.1-SNAPSHOT"intest-native.yml, plus thebump_engine.pypin check; I have not made it.@robfrank: I asked on #289 whether the native lane may take its engine from the snapshot repository until 26.12.1 is out. Until you answer, this stays a draft and the snapshot is only used by a manual run.
Checks run locally:
bash -n,compile()andpyflakeson the test,pre-commiton all changed files (black, isort, shfmt, actionlint), the pom parses as XML. Nothing was built or tested locally; the proof is the dispatched run oftest-native.ymlon this branch withengine=26.12.1-SNAPSHOT,legs=pull-request.What the proof runs on
26.12.1-SNAPSHOTshowed (linux x86-64, Python 3.12, native, dispatched withengine=26.12.1-SNAPSHOT): the image and the wheel build, andFACETSandCOLUMNARwork inside the native image (both smoke tests pass). ACOLUMNARindex is listed inschema:indexesasType[property]_columnar, plus one row per bucket, not asType[property]; the test uses that name. The snapshot also made threeIMPORT DATABASEtests fail, because the engine now refuses unknown importer setting names (thereasonis in the failure message).entityTypeis not an importer setting; I removed it from the XML test (the statement behaves the same on 26.11.1). The two tests that write`parallel`in backticks fail because the quoted name reaches the importer with its backticks; I filed ArcadeData/arcadedb#11367 and left those two tests alone. They still fail on snapshot runs, so the PR gate stays on 26.11.1 and this PR changes nothing for ordinary runs.🤖 Generated with Claude Code