Skip to content

Commit 23f084c

Browse files
committed
Record FastLanes Linux retry failures
1 parent 26babc3 commit 23f084c

3 files changed

Lines changed: 27 additions & 8 deletions

File tree

‎docs/format-selection.md‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,13 @@ attempts. They remain research leads, not production recommendations. Their
2424
exact commits, failures, and retry conditions are recorded in the
2525
[negative-evidence records](../research/formats/).
2626

27-
FastLanes also has no general selection yet. Its corrected pipe-delimited
28-
numeric case round-tripped, but partial-vector string cases failed, malformed
29-
input terminated the process, and the pinned Python binding hit a reproducible
30-
macOS build blocker. Keep it as experimental evidence until those retry
31-
conditions are resolved.
27+
FastLanes also has no general selection yet. Results are host- and
28+
workload-sensitive: an earlier pipe-delimited numeric case round-tripped, but
29+
the pinned Linux retry crashed in the one-million-row numeric case and all
30+
string-boundary cases, while the mixed 13-column case raised an internal
31+
`UNREACHABLE` error. The pinned macOS Python binding also has a reproducible
32+
build blocker. Keep it as experimental evidence until these retry conditions
33+
are resolved.
3234

3335
DuckDB is a query engine and can be useful with several of these formats. It is
3436
not a competing file-format row in this guide.

‎docs/research-log.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The investigation then asked whether vendor and project claims were plausible, a
2626

2727
[FastLanes](https://github.com/cwida/FastLanes), [Nimble](https://github.com/facebookincubator/nimble), and [AnyBlox](https://github.com/AnyBlox/vldb-2025) were attempted from pinned source commits. Mixed-column conversion, official build, or toolchain reproduction did not complete. Their failures are versioned evidence with retry conditions, not blank table cells.
2828

29-
Correction: the FastLanes numeric failure was caused by the lab writing comma-separated input to a reader configured for a pipe delimiter. With `|`, one million rows by eight numeric columns round-trip. Separate string tests still show a partial-vector boundary: 1,024 and 2,048 rows succeed while 1,023, 1,025, and 2,049 fail dictionary lookup. Invalid comma input can also terminate the process. The robustness lane records these as distinct harness, conformance, and crash-resistance observations rather than one format verdict.
29+
Correction: the first FastLanes numeric failure was caused by the lab writing comma-separated input to a reader configured for a pipe delimiter. A later Linux retry used `|` and the pinned official binding, but one million numeric rows and all five string-boundary cases still exited `SIGSEGV`; the 13-column case raised `RuntimeError: UNREACHABLE`, and malformed comma input raised a normal `RuntimeError`. The earlier pipe-delimited numeric success is therefore host- or workload-specific, not a general claim. The [Linux workflow run](https://github.com/Anionix/data-format-lab/actions/runs/29520329351) retains per-case artifacts and hashes. The robustness lane records these as distinct harness, conformance, and crash-resistance observations rather than one format verdict.
3030

3131
Follow-up on 2026-07-17: the pinned FastLanes Python binding was rebuilt from the official source before attempting the mixed 13-column table. On macOS ARM64 with the lab's Python 3.12 and Clang 21 environment, compilation stopped at `TypedStats<std::string>` with `-Werror,-Wnonnull`. This is a reproducible build blocker, not evidence that the mixed-schema writer itself failed; the machine-readable attempt and exact pinned commit remain in `research/formats/fastlanes.json`.
3232

‎research/formats/fastlanes.json‎

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
"attempted_on": "2026-07-14",
99
"comparability": "PARTIAL",
1010
"state": "FAILED",
11-
"claim_summary": "numeric data round-tripped; partial-vector string dictionary lookup failed; Python binding rebuild blocked before mixed-schema test",
12-
"correction": "the earlier numeric -11 result used comma-separated input against the official pipe-delimited reader and is superseded",
11+
"claim_summary": "results are host- and workload-sensitive: the latest Linux retry crashed in numeric and string cases and failed the mixed-schema harness",
12+
"correction": "the earlier numeric -11 result used comma-separated input against the official pipe-delimited reader; a separate Linux retry with the corrected delimiter still observed SIGSEGV, so the earlier numeric success is not a general claim",
1313
"attempts": [
1414
{
1515
"entrypoint": "official pipe-delimited numeric conversion",
@@ -26,6 +26,23 @@
2626
"workload": "malformed delimiter input",
2727
"result": "process exited -11; retained as robustness evidence"
2828
},
29+
{
30+
"entrypoint": "official pyfastlanes binding on Linux x86_64",
31+
"attempted_on": "2026-07-17",
32+
"workflow_run": "https://github.com/Anionix/data-format-lab/actions/runs/29520329351",
33+
"workload": "1,000,000 numeric rows, five string-boundary cases, one 13-column mixed case, and malformed comma input",
34+
"environment": {
35+
"os": "Linux x86_64",
36+
"runner": "ubuntu-24.04",
37+
"python": "3.12.13",
38+
"clang": "21.1.8",
39+
"cmake": "4.1.2",
40+
"ninja": "1.13.2",
41+
"package": "pyfastlanes==0.1.3.post9",
42+
"runtime": "0.1.4"
43+
},
44+
"result": "numeric and all five string cases exited SIGSEGV; the mixed 13-column case raised RuntimeError UNREACHABLE; malformed comma input raised RuntimeError. The workflow preserved per-case inputs, artifacts, logs, and SHA-256 hashes."
45+
},
2946
{
3047
"entrypoint": "official pyfastlanes editable build with scikit-build-core",
3148
"attempted_on": "2026-07-17",

0 commit comments

Comments
 (0)