-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Fix startup issues and timing with Examine and Nucache #10182
Conversation
Reduce cold boot times by loading content and media only once on cold boot
…old boot into the components responsible for what needs to happen in cold boot. This is still not ideal but we are stuck with backwards compat. In netcore the initialization will be fixed up (if not already). Ensure examine rebuilds don't occur until the first http request is done instead of on a timer which could be problematic with cold boots.
Hi @nzdev, if you have anytime at all can you please cast your eye over this one? It refactors your work a little and ensures that cold boot logic is done by the components/classes that manage their data (i.e. removed all those init callbacks). |
@Shazwazza this has some test failures. |
Bugfix for the test @Shazwazza #10227 |
The logic for this has been updated. Initialization is all done lazily (like we do in v9). There is no more Booting event since it's unnecessary. |
Update: - It seems to only happen because I did not have any media. |
I think that's because it thinks its empty so it rebuilds? I'm guessing its the same thing in v8 but would have to check |
This is what happens.. I don't think that's a big problem, as it is super cheap when it is empty :) I'm fine with merging |
This fixes #8893 and refactors #9859.
The whole way that startup/init is done in v8 is not ideal but we are stuck with backwards compat. Once main problems is that nucache (PublishedSnapshotService) does it's init in it's ctor which doesn't leave much flexibility with how the init process works. This will be fixed/changed in netcore (if not already, I know some of it is).
Testing
To force a cold boot, just delete the /TEMP/DistCache folder, then restart your app, this will cold boot.