Skip to content

Remove legacy_session and the deprecated APIs that rely on it - #10595

Merged
robert3005 merged 4 commits into
developfrom
rk/remove-legacy-session-final
Oct 20, 2026
Merged

robert3005 merged 4 commits into
developfrom
rk/remove-legacy-session-final

Conversation

@robert3005

@robert3005 robert3005 commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Deletes legacy_session(), its clippy ban, and the deprecated APIs that still used it or that ArrowSession replaces. Their callers move to the explicit-context or session-based versions.

Deleted:

  • ArrayRef::{scalar_at, into_canonical, to_canonical} and Array::<V>::{scalar_at, to_canonical}
  • the ToCanonical trait and its clippy bans
  • Validity::{is_valid, is_null}
  • vortex_arrow::IntoArrowArray and from_arrow_array_with_len
  • vortex_arrow::FromArrowArray. Its impls were thin shims over the vortex_arrow::convert::from_arrow_* functions, which stay.
  • vortex_arrow::{FromArrowType, TryFromArrowType, ToArrowType}. Use ArrowSession::{from_arrow_schema, from_arrow_field, from_arrow_datatype, to_arrow_schema, to_arrow_datatype} instead.
    • The naive schema and decimal helpers that only backed these traits go with them.
    • So does the bench of the deprecated to_arrow_dtype path.
    • Two tests of the naive schema export's own behaviour are dropped: rejecting a nullable top-level struct, and Binary Variant storage. ArrowSession::to_arrow_schema intentionally behaves differently on both. test_schema_conversion now runs against the session.

@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10595 October 18, 2026 00:53 Inactive
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10595 October 18, 2026 10:48 Inactive
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10595 October 18, 2026 12:15 Inactive
@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10595 October 19, 2026 11:32 Inactive
@robert3005
robert3005 force-pushed the rk/legacy-session-list branch from 931c193 to 5389bac Compare October 20, 2026 12:20
Base automatically changed from rk/legacy-session-list to develop October 20, 2026 13:03
With every other user migrated, delete the hidden global `legacy_session()`,
its clippy ban, and the deprecated wrappers that still used it, migrating
their callers to the explicit-context versions:

- `ArrayRef::{scalar_at, into_canonical, to_canonical}` and
  `Array::<V>::{scalar_at, to_canonical}`
- the `ToCanonical` trait and its clippy bans
- `Validity::{is_valid, is_null}`
- `vortex_arrow::IntoArrowArray` and `from_arrow_array_with_len`

`native_geometry_scalar_from_wkb` now takes a `VortexSession` instead of an
`ArrowSession`, so it can read the decoded scalar with an explicit context.

Signed-off-by: Claude <noreply@anthropic.com>

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y1zHpE1K1Y9HvyU4kt24Tq
@robert3005
robert3005 force-pushed the rk/remove-legacy-session-final branch from efa1da4 to e7686c0 Compare October 20, 2026 13:19
@codspeed

codspeed Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Merging this PR will degrade performance by 15.6%

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚠️ 2 benchmarks measured no execution time

Nothing ran under measurement, usually because the compiler removed the code under test. These results are not comparable, so they count as unchanged.

Preventing compiler optimizations

⚠️ 17 benchmarks spent significant time in system calls

System calls cannot be consistently instrumented, so they are not included in the measure, which understates the real cost. Please switch to the Walltime instrument to accurately measure system calls.

Measurement and system calls

ℹ️ 40 benchmarks have no flame graph

The flamegraph could not be generated because we failed to resolve the symbols in the profiling trace. This happens when we fail to harvest information about language frames.

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 4 improved benchmarks
❌ 4 regressed benchmarks
✅ 2400 untouched benchmarks
⏩ 12 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ Simulation bench_compare_sliced_dict_primitive[(2000, 10000)] 12.7 µs 67.1 µs -81.02%
❌ Simulation density_sweep_dense_runs[0.001] 43.4 µs 61.5 µs -29.48%
❌ Simulation random_i8[0.01] 103.3 µs 117.6 µs -12.12%
❌ ℹ️ Simulation test_scan_filter[int] 3 ms 3.4 ms -11.21%
⚡ WallTime filter_neon[8] 1,368 ns 897 ns +52.51%
⚡ WallTime threshold_neon[80] 4.3 µs 3.4 µs +24.25%
⚡ ℹ️ Simulation test_repeated_scan_scalar_at[int_str_float] 557.3 µs 488.2 µs +14.15%
⚡ WallTime filter_neon[64] 2.1 µs 1.8 µs +13.99%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing rk/remove-legacy-session-final (7231e0b) with develop (c4afd68)

Open in CodSpeed

Footnotes

  1. 12 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@github-actions
github-actions Bot temporarily deployed to docs-preview/pr-10595 October 20, 2026 13:29 Inactive
@robert3005 robert3005 added the changelog/break A breaking API change label Oct 20, 2026
@joseph-isaacs
joseph-isaacs marked this pull request as ready for review October 20, 2026 13:35
Its impls were thin shims over the canonical from_arrow_* conversions, and
ArrowSession is the plugin-aware replacement. Tests now call the conversion
functions directly.

Signed-off-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y1zHpE1K1Y9HvyU4kt24Tq
Signed-off-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y1zHpE1K1Y9HvyU4kt24Tq
… traits

ArrowSession's from_arrow_* and to_arrow_* methods replace them. The tests call
the naive conversion functions or the session directly, and the bench of the
deprecated to_arrow_dtype path is dropped. The naive schema and decimal
helpers only backed these traits and are removed with them, along with two
tests of the naive schema export's own behaviour.

Signed-off-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y1zHpE1K1Y9HvyU4kt24Tq
@robert3005
robert3005 merged commit 85ae34d into develop Oct 20, 2026
91 of 92 checks passed
@robert3005
robert3005 deleted the rk/remove-legacy-session-final branch October 20, 2026 14:03

This branch was successfully deployed

1 active deployment
docs-preview/pr-10595 — 7231e0bc Deployed Oct 20, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/break A breaking API change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants