Skip to content

Fixes on the path to closing multiple axes#123

Merged
maxstack merged 7 commits intomainfrom
fixes-on-the-path-to-closing-multiple-axes
Mar 30, 2026
Merged

Fixes on the path to closing multiple axes#123
maxstack merged 7 commits intomainfrom
fixes-on-the-path-to-closing-multiple-axes

Conversation

@maxstack
Copy link
Copy Markdown
Collaborator

@maxstack maxstack commented Mar 27, 2026

Hopefully close the reduction over multiple axes work:

  • the count returned gets big and as it's a vector of int64 a python client will deserialise the CBOR response into a list using lots of memory in the process
  • allow the count to be converted and sent down the wire as bytes, easily deserialised and converted into a list only if needed
  • add options to the request to switch on this behaviour

Fixes to documentation

Workaround for an assert recently added to tokio that panics if we have a blocking socket

Update dependencies to appease dependabot:

  • Bump lz4_flex from 0.12.0 to 0.12.1
  • Bump quinn-proto from 0.11.13 to 0.11.14

…tely seen in the update:

thread 'main' (66669) panicked at /home/max/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/opentelemetry-jaeger-0.19.0/src/exporter/runtime.rs:35:12:
Registering a blocking socket with the tokio runtime is unsupported. If you wish to do anyways, please add `--cfg tokio_allow_from_blocking_fd` to your RUSTFLAGS. See github.com/tokio-rs/tokio/issues/7172 for details.

Updating RUSTFLAGS seeing as Reductionist has always worked this way, needs to be addressed independently.
@maxstack maxstack force-pushed the fixes-on-the-path-to-closing-multiple-axes branch from 056a158 to e9a4de0 Compare March 27, 2026 15:17
@maxstack maxstack requested a review from Copilot March 27, 2026 15:41
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds request-controlled options to encode large shape and/or count vectors as compact byte strings in the CBOR response (to reduce Python client deserialization memory), updates related tests/bench fixtures and documentation, and introduces a Tokio workaround via a global rustc cfg flag.

Changes:

  • Add option_shape_as_bytes / option_count_as_bytes to RequestData and thread these options through numeric operations into the response.
  • Extend CBOR response serialization to include shape_as_bytes / count_as_bytes, plus unit tests for the new behavior.
  • Update deployment/API docs and local storage startup script; add .cargo/config.toml rustflags workaround for a Tokio blocking-FD assertion.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
src/test_utils.rs Updates test request fixtures to include the new optional request flags.
src/operations.rs Passes the new request options into Response::new(...) for several operations.
src/operation.rs Updates operation tests to match the new Response::new(...) signature.
src/models.rs Adds request flags, extends Response, and implements byte-encoding in CBORResponse with new tests.
scripts/storage-start Generates an htpasswd file for local nginx basic auth.
docs/deployment.md Updates chunk cache key docs to reflect %url-based tokenization.
docs/api.md Documents the new request options.
benches/operations.rs Updates bench request fixture to include new optional request flags.
benches/byte_order.rs Updates bench request fixture to include new optional request flags.
.cargo/config.toml Adds a global tokio_allow_from_blocking_fd cfg via rustflags.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 13 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

 - Bump lz4_flex from 0.12.0 to 0.12.1
 - Bump quinn-proto from 0.11.13 to 0.11.14
@maxstack maxstack force-pushed the fixes-on-the-path-to-closing-multiple-axes branch from 266e9af to ba75577 Compare March 27, 2026 19:39
@maxstack maxstack requested a review from Copilot March 27, 2026 19:40
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 12 out of 13 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@maxstack maxstack merged commit 0ca5531 into main Mar 30, 2026
12 checks passed
@maxstack maxstack deleted the fixes-on-the-path-to-closing-multiple-axes branch March 30, 2026 14:12
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.

2 participants