Skip to content

fix(tf): retain nanosecond samples and bound late arrivals - #4803

Closed
TomCC7 wants to merge 9 commits into
cc/refactor/cdr-sensor-value-helpersfrom
cc/fix/cdr-tf-nanosecond-buffer
Closed

TomCC7 wants to merge 9 commits into
cc/refactor/cdr-sensor-value-helpersfrom
cc/fix/cdr-tf-nanosecond-buffer

Conversation

@TomCC7

@TomCC7 TomCC7 commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

A float-second time index cannot retain adjacent nanosecond samples at epoch timestamps. Introduce a bounded index for generated TransformStamped values keyed by integer source nanoseconds. Retain independent snapshots and prune relative to the newest stored stamp so late arrivals cannot keep obsolete samples alive.

This PR isolates the timestamp index and its regressions. #4734 binds it to the migrated Python TF consumer. Frame search/composition and existing nearest-sample query behavior remain separate; this is not a tf2 tree/interpolation implementation.

Validation: 3 isolated regressions pass for adjacent nanoseconds and snapshot ownership, out-of-order eviction, and negative time. Tests import the buffer directly and do not depend on migrated TF transports.

Base: #4800. Extracted from #4734 so the implementation and its tests can be reviewed separately from consumer renames.

Domain helper API update

The three isolated TF buffer tests pass against the consolidated utility layer.

All helper callers in this layer use the consolidated API. The final stack passes syntax, Ruff lint and format checks for 239 changed Python files. Branch history is preserved through normal merge updates.

The dedicated .github/workflows/cdr-native.yml is removed throughout this stack. Test sources remain; CDR integration CI will be designed separately.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

go2 replay realtime (arm64)

Details
Benchmark suite Current: efdebb4 Previous: 0ea05f6 Ratio
peak memory 1659.801 MB 1699.445 MB 0.98
peak threads 368 threads 357 threads 1.03
network (transport) 2730.001 MB 2725.914 MB 1.00
disk write 2.129 MB 1.469 MB 1.45
instructions 121.086 G 136.571 G 0.89

This comment was automatically generated by workflow using github-action-benchmark.

@TomCC7
TomCC7 added this pull request to stack #4845 October 26, 2026 19:11
@TomCC7 TomCC7 closed this Oct 26, 2026
@TomCC7
TomCC7 removed this pull request from stack #4845 October 26, 2026 20:35
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