Skip to content

Conversation

@emilk
Copy link
Member

@emilk emilk commented Apr 13, 2022

Add a button to profile the viewer

@emilk emilk merged commit df3bf37 into main Apr 13, 2022
@emilk emilk deleted the puffin branch April 13, 2022 14:46
teh-cmc added a commit that referenced this pull request Dec 2, 2022
teh-cmc added a commit that referenced this pull request Dec 5, 2022
* object path => entity path

* move utils from lib.rs to dedicated file

* color_rgba -> color_srgba_unmultiplied

* getting intimate with arrow's datamodel

* getting _even more_ intimate with arrow's datamodel

* split it

* building dem index keys

* disgustingly, incorrectly inserting components all the way down

* timelines need no list

* similarly clarifying the nested listing situation, on the components side this time

* make sure it looks like it should!

* actual integration tests

* bootstrapping text-based debugging

* bootstrapping indices

* introducing TypedTimeInt everywhere

* full index sorting

* auto-inserting empty component lists in starting buckets

* better datagen tools

* bidirectional merges for indices + properly showing NULLs in dataframes

* finally can show off some more advanced ingestion patterns!

* dealing with corrupt validity bitmaps, and the sheer size of my stupidity

* read path taking its first steps: latest_at for indices!

* look! it's a read path!

* it works!

* show the resulting dataframe duh

* clean up pass #1: task log

* clean up pass #2: moving everybody where they belong

* clean up pass #3: definitions

* a minimal solution for missing components

* some more cleanup

* porting relevant TODOs into issues

* appeasing the CI deities

* merge catastrophe

* they see me cleanin', they hatin'

* * Reorg of re_arrow_store
* Removed up old ArrowDB code
* Connected app data ingest into new DataStore

* fix broken doc links

* store files prefixed with store_

* integration tests in integration folder + exposing datagen tools to everyone

* make integration tests scale to more complex scenarios

* adding currently failing scenario: query before any data present

* added failing test and scenarios for all emptines-related edge cases

* better testing tools

* fixing broken edge cases on read path

* demonstrating faulty read behavior in roundtrip test

* fixing dem faulty swaps

* when the doc itself demonstrates bugs :x

* adding baseline bench somewhat mimicking the legacy ones, though it doesn't really make sense anymore

* exploding query results so you can actually do stuff with them

* properly testing all halfway frames (and, unsurprisingly, failing!)

* properly dealing with multi-row primary indices

* less verbose scenarios for end-to-lend latest_at tests

* addressing misc PR comments

* TimeReal, TimeRange & TimeRangeF are now a properly of re_log_types™

* retiring TypedTimeRange before Emil tries to hurt it

* mark unreachable as such

* replaced binary_search with a partition_point

* using entity path hashes directly in indexing datastructures

* re_viewer don't need those no more

Co-authored-by: John Hughes <jondo2010@gmail.com>
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
@emilk emilk mentioned this pull request Jan 24, 2023
teh-cmc added a commit that referenced this pull request Oct 2, 2024
The new public API definition and nothing else. Speak now.

* Part of #7495 
* Requires #7558

---------

Co-authored-by: Jeremy Leibs <jeremy@rerun.io>
@gavrelina gavrelina mentioned this pull request Oct 30, 2024
27 tasks
joelreymont referenced this pull request in joelreymont/rerun Nov 7, 2025
This commit fixes two issues identified in the code review:

Issue #1: Cache Redundancy
- Previously, the cache was updated on EVERY frame, even on cache hits
- This caused unnecessary clones and HashMap insert operations
- Now only inserts into cache on cache miss, avoiding redundant work

Issue #2: Double-Override Bug (Correctness Issue)
- Previously, the cache was updated with overridden results after
  update_overrides() ran
- On subsequent cache hits, overrides would be applied to already-
  overridden results, causing data corruption
- This was masked during playback (cache always missed due to
  blueprint_generation changes) but occurred when viewer was paused
- Fixed by removing the post-override cache update (lines 511-515)
- Cache now contains only BASE query results (before overrides)
- update_overrides() always runs on BASE results for correctness

Changes:
- visualizable_entities_cache: Only insert on cache miss
- view_query_cache: Only insert on cache miss, cache BASE results only
- Removed cache update after update_overrides() call
- Added clarifying comments about caching BASE results
joelreymont referenced this pull request in joelreymont/rerun Nov 7, 2025
This commit fixes two issues identified in the code review:

Issue #1: Cache Redundancy
- Previously, the cache was updated on EVERY frame, even on cache hits
- This caused unnecessary clones and HashMap insert operations
- Now only inserts into cache on cache miss, avoiding redundant work

Issue #2: Double-Override Bug (Correctness Issue)
- Previously, the cache was updated with overridden results after
  update_overrides() ran
- On subsequent cache hits, overrides would be applied to already-
  overridden results, causing data corruption
- This was masked during playback (cache always missed due to
  blueprint_generation changes) but occurred when viewer was paused
- Fixed by removing the post-override cache update (lines 511-515)
- Cache now contains only BASE query results (before overrides)
- update_overrides() always runs on BASE results for correctness

Changes:
- visualizable_entities_cache: Only insert on cache miss
- view_query_cache: Only insert on cache miss, cache BASE results only
- Removed cache update after update_overrides() call
- Added clarifying comments about caching BASE results
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