-
Notifications
You must be signed in to change notification settings - Fork 40
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
wicket logs / EventReports after running multiple mupdates are enormous #3102
Comments
Should we log these to disk rather than an in-memory filesystem? I'm not sure how the cap on /tmp works but if it lets you use all of the system's physical memory, that would explain the sluggishness (but that would reflect a pretty serious issue, I think). And/or maybe we don't have a swap cap on this zone? |
I suspect the sluggishness was just in all the debug formatting? It was debug-formatting several hundred thousand lines of stuff every second; even if there was no real I/O that can't be free. |
1. wicketd: Log the hash of the extracted host phase 2 artifact (we already log the hashes of the other artifacts, and at one point I wanted to find this - cracking open the tuf repo and then untarring the composite host artifact was annoying) 2. wicket: Only log the full EventReport we receive about one per minute. We were hitting #3102 so these were huge, but even after that's fixed I don't think we need to log these every second. 3. wicket: Remove the ESC/ENTER titles on the main panes. Switching between panes now happens via TAB. 4. wicket: Fix ESC closing the ignition popup - previously it always sent us back to the rack view, and there was no way to close the ignition popup other than running one of the commands.
Deduplicate nested events coming from remote machines in a couple of spots: 1. When we're generating nested events, such that duplicate events don't make their way over the event channel. Maintain event buffers within `StepContext`s to handle that. 2. In `EventBuffer` itself, dedup events based on the leaf index rather than the root index. If two events have the same leaf event index and leaf execution ID, they can always be deduped. While testing this, I also realized it would be really useful to add a `root_execution_id` to every event report: do so, and depend on it (note that you'll have to rebuild installinator with this PR to pick up support for that). Finally, address the review comment in #3081 -- do it here to avoid having to create a whole separate PR for this. Fixes #3102.
Today when trying to update 6 gimlets in the dogfood rack simultaneously, I noticed a few oddities:
wicket
became sluggish/tmp/wicket.log
was several gigabytes, and growing quickly (~ 1GiB/minute, eyeballing it)EventReports
, many of which were extremely large (75,000+ lines), repeated very frequentlyI think there are at least two things to address here:
For 2, the issue might be where we generate the report; should that be
generate_report_since(self.last_reported)
?The text was updated successfully, but these errors were encountered: