this is the part of the Mastodon upgrade process where the load averages spike 😅
a cool thing about Mastodon is that it's literally open source, you can just go poking around and see how it works
a user recently asked me why they couldn't add another reaction to an instance announcement. turns out there's a maximum of eight distinct reactions: https://github.com/mastodon/mastodon/blob/991353682d96cecd4695e150cb6030613d447844/app/javascript/mastodon/features/getting_started/components/announcements.js#L293
from an educational perspective, it's really useful to have a large, in-production Rails+JS app where anyone can pull down the code
or, it's "updating" the index? basically re-creating it in-place with this helper: https://github.com/mastodon/mastodon/blob/f17e73da09e6c63665aee4e9731df7808094960e/lib/mastodon/migration_helpers.rb#L811-L830
looks like indexing on `null` values takes up database space, so the new indexes ignore nulls, neat! https://github.com/mastodon/mastodon/pull/17711
@ashfurrow The moment we've been waiting for.
*Proceeds to post three thousand cat pictures*
@ashfurrow Server goes brrr?
@ashfurrow Wasn't this part of the announcement/changelog/feature list?
@gudenau I’m positive it was at some point, for some version. this behaviour was seen on 3.4.6.
it's great when the Mastodon upgrade notes are like "this update includes long-running migrations"
I was curious about this, since 3.5.2 is just a patch release. what could take so long? in this case, it's adding a single index to the status table (the largest table by large margin): https://github.com/mastodon/mastodon/blob/f17e73da09e6c63665aee4e9731df7808094960e/db/migrate/20220428112511_add_index_statuses_on_account_id.rb#L5