Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tagging warehouse doesn't work right with controls #15515

Closed
rwcarlsen opened this issue Jun 30, 2020 · 0 comments
Closed

tagging warehouse doesn't work right with controls #15515

rwcarlsen opened this issue Jun 30, 2020 · 0 comments
Labels
C: Framework P: normal A defect affecting operation with a low possibility of significantly affects. T: defect An anomaly, which is anything that deviates from expectations.

Comments

@rwcarlsen
Copy link
Contributor

Bug Description

Tagging warehouses return outdated/stale state w.r.t. active/inactive objects under certain circumstances.

Steps to Reproduce

The interfaces for pulling out a subset of objects from a tagging warehouse into a (regular) warehouse (e.g. getVectorTagsObjectWarehouse) create the new (sub)warehouse by looping over all active objects. This intermediate warehouse is then cached internally in the tagging warhouse so it can be reused if needed later without being rebuilt. When something (e.g. the controls system) changes the active state of objects that have been cached in these intermediate warehouses, the updateActive functions are correctly called on all the intermediate warehouses. This, however, does not do what we want - since those intermediate warehouses are currently being built using only the objects that are active at the time of their construction. So updating their active objects when the controls system changes things cannot make previously inactive objects appear in them (because they were never added to them in the first place). We need the cached intermediate warehouses to be built using all objects. This should resolve the problem. I'll put up a PR.

Impact

Hopefully nobody was relying on this broken behavior - the fix shouldn't break anything, but should allow the controls system to actually work right in more circumstances.

@rwcarlsen rwcarlsen added the T: defect An anomaly, which is anything that deviates from expectations. label Jun 30, 2020
@cticenhour cticenhour added C: Framework P: normal A defect affecting operation with a low possibility of significantly affects. labels Jun 30, 2020
rwcarlsen added a commit to rwcarlsen/moose that referenced this issue Jun 30, 2020
The interfaces for pulling out a subset of objects from a tagging
warehouse into a (regular) warehouse (e.g. getVectorTagsObjectWarehouse)
create the new (sub)warehouse by looping over all active objects. This
intermediate warehouse is then cached internally in the tagging warhouse
so it can be reused if needed later without being rebuilt. When
something (e.g. the controls system) changes the active state of objects
that have been cached in these intermediate warehouses, the updateActive
functions are correctly called on all the intermediate warehouses. This,
however, does not do what we want - since those intermediate warehouses
are currently being built using only the objects that are active at the
time of their construction. So updating their active objects when the
controls system changes things cannot make previously inactive objects
appear in them (because they were never added to them in the first
place).  We need the cached intermediate warehouses to be built using *all*
objects.

ref idaholab#15515
@fdkong fdkong closed this as completed in 84805d4 Jun 30, 2020
milljm pushed a commit to milljm/moose that referenced this issue Jul 15, 2020
The interfaces for pulling out a subset of objects from a tagging
warehouse into a (regular) warehouse (e.g. getVectorTagsObjectWarehouse)
create the new (sub)warehouse by looping over all active objects. This
intermediate warehouse is then cached internally in the tagging warhouse
so it can be reused if needed later without being rebuilt. When
something (e.g. the controls system) changes the active state of objects
that have been cached in these intermediate warehouses, the updateActive
functions are correctly called on all the intermediate warehouses. This,
however, does not do what we want - since those intermediate warehouses
are currently being built using only the objects that are active at the
time of their construction. So updating their active objects when the
controls system changes things cannot make previously inactive objects
appear in them (because they were never added to them in the first
place).  We need the cached intermediate warehouses to be built using *all*
objects.

ref idaholab#15515
milljm pushed a commit to milljm/moose that referenced this issue Jul 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Framework P: normal A defect affecting operation with a low possibility of significantly affects. T: defect An anomaly, which is anything that deviates from expectations.
Projects
None yet
Development

No branches or pull requests

2 participants