Skip to content

Fix stereo import - #2037

Merged
BryonLewis merged 4 commits into
mainfrom
fix-stereo-import
Nov 3, 2026
Merged

BryonLewis merged 4 commits into
mainfrom
fix-stereo-import

Conversation

@BryonLewis

Copy link
Copy Markdown
Collaborator

Summary

Fix web stereo imports not linking as stereo. Since multicam finalize moved to a background task on the local queue (#2019), stereo imports with a calibration file failed at the linking step. The camera folders (left, right) were left behind as separate datasets under a parent that never became a stereo dataset.

Root cause

create_multicam reads the calibration file's bytes to check whether it is already-final JSON. That used to run inside the Girder REST request. It now runs in localworker, which did not mount girder_assetstore, so the read failed with GirderException: File /home/assetstore/... does not exist and the finalize job errored. The same missing mount also meant annotation stats reports written by localworker were never saved where Girder could read them.

Changes

  • server/dive_server/crud_dataset.py: _calibration_file_is_final_json returns early for non-.json names, so .npz/.cam/etc. are never read.
  • docker-compose.yml: mount girder_assetstore:/home/assetstore on localworker.
  • docs/Architecture-For-New-Developers.md: note that localworker runs Girder models in-process and must share the girder filesystem assetstore.

Self-hosted deployments with a filesystem assetstore need the same volume on localworker. S3 assetstores are unaffected.

Multicam finalize runs on localworker, where girder_worker creates child jobs
over REST with the parent task's job-scoped token, which cannot create jobs.
The conversion task then ran without a job and crashed, so stereo imports
never got their converted calibration. Create the Girder job directly when
enqueuing off-request and publish with its jobInfoSpec.
@BryonLewis
BryonLewis merged commit a68c41d into main Nov 3, 2026
3 checks passed
@BryonLewis
BryonLewis deleted the fix-stereo-import branch November 3, 2026 11:07
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