-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[Darwin] Unstored attributes should be flushed to storage on shutdown #36791
[Darwin] Unstored attributes should be flushed to storage on shutdown #36791
Conversation
82e5795
to
07cfafb
Compare
PR #36791: Size comparison from 918320e to 07cfafb Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
src/darwin/Framework/CHIPTests/TestHelpers/MTRTestPerControllerStorage.h
Show resolved
Hide resolved
PR #36791: Size comparison from 918320e to d7a85ca Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #36791: Size comparison from 918320e to cf88dab Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
Co-authored-by: Boris Zbarsky <[email protected]>
PR #36791: Size comparison from 918320e to 2306949 Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #36791: Size comparison from 918320e to e1e64c1 Full report (25 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, nrfconnect, qpg, stm32, telink, tizen)
|
PR #36791: Size comparison from 918320e to 1fbd14b Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #36791: Size comparison from 918320e to 5df72b3 Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you. That makes it clear what problems we are avoiding...
When MTRDeviceController shuts down, if an MTRDevice object still has attributes that have yet to be persisted, the persistent attribute cache may become out of date. And on next startup, subscriptions can cause more priming reports than is necessary.
This PR makes MTRDevice persist unstored attributes on invalidate, and have MTRDeviceController wait for the storage delegate has executed the write blocks before continuing with the shutdown.