Suppress OVRTX API deprecation warnings - #6950
Conversation
|
Too many files changed for review (2800 files, 100 file limit). |
There was a problem hiding this comment.
Isaac Lab Review Bot
The PR conditionally suppresses noisy OVRTX initialization and teardown logs and adds the required isaaclab_ov changelog fragment. However, legacy multi-environment initialization re-enters the same single-use force_log_level context manager, which can abort initialization.
- Design and architecture: Containing third-party log suppression around specific OVRTX calls is appropriately scoped, but the initialization path must not retain and reuse a single-use generator context manager across separate operation groups.
- API: No public symbols or signatures change. The observable change is limited to OVRTX logging verbosity during legacy initialization and teardown, and the changelog fragment correctly documents it under
Fixed. - Implementation: The teardown path creates a fresh suppression context for
reset_stage, but_initialize_from_spec_legacycreates_level_ctxonce and enters it around both stage loading and multi-environment cloning. Whenforce_log_levelis selected, the second entry is invalid. Construct a fresh context for each block or place both groups under one context.
Significant concerns. Posted 1 actionable finding inline.
Automated review; human maintainers own approval decisions.
|
Did you try Python |
|
I tested this on PR head The legacy calls emit each deprecation twice through two independent paths:
I also emitted unrelated Python warnings and direct native stdout/stderr control messages in each trial to detect collateral suppression.
Important observations:
My clear suggestion is:
Until the native side offers narrower control or the legacy path is migrated, keeping the native deprecation visible is safer than suppressing the entire output stream or the whole |
|
For reference, this is the narrowly targeted Python option I tested: import contextlib
import warnings
@contextlib.contextmanager
def _suppress_ovrtx_legacy_python_deprecations():
with warnings.catch_warnings():
warnings.filterwarnings(
"ignore",
message=r"Renderer\.(open_usd_from_string|reset_stage) is deprecated in ovrtx 0\.4\.",
category=DeprecationWarning,
)
yieldIt can be scoped directly around the two legacy calls: with _suppress_ovrtx_legacy_python_deprecations():
self._renderer.open_usd_from_string(combined_usd_string)
# ...
with _suppress_ovrtx_legacy_python_deprecations():
self._renderer.reset_stage()The message regex is important: unlike a blanket This only suppresses the Python decorator warnings. The native Carbonite duplicates still appear. For comparison, the per-channel experiment used the following OVRTX Carbonite configuration: {
"log": {
"channels": {
"omni.rtx": "error"
}
}
}That retained |
AntoineRichard
left a comment
There was a problem hiding this comment.
See my AI's comments, I would not merge as is.
|
@mataylor-nvidia what's the status on this? |
b673b7f to
e415d8a
Compare
Yes tried this it does not work :( |
|
I tested your suggestion @AntoineRichard but it was not work after the addition of the IsaacLab Loading screen |
Description
Add flag for upstream OVRTX to suppress deprecation warnings
Fixes # (103440)
Type of change
Screenshots
Please attach before and after screenshots of the change if applicable.
Checklist
pre-commitchecks with./isaaclab.sh --formatsource/<pkg>/changelog.d/for every touched package (do not editCHANGELOG.rstor bumpextension.toml— CI handles that)CONTRIBUTORS.mdor my name already exists there