17:37:15
icon

【緊急】【復旧済】ログアウト状態ですべての公開範囲の投稿が閲覧できる状態でした

以下の期間、当サーバーにおいて障害が発生しておりました。

【期間】
7月14日以降

【障害】
連合タイムライン/リアルタイムフィードの「すべて」にて、すべての公開範囲の投稿が閲覧可能な状態でした

【原因】
本家Mastodonのコードをマージする際に何らかの設定変更が行われ、従来のコードの動作が変更された可能性があります。
問題が発生し始めたコミットを調査しても今回の障害のもととなったコードに手動マージや変更などが加えられた形跡はなく、継続調査といたします。

【対応】
プログラムを修正し対応しました

今回は長時間放置された大変重大なミスであり、利用者の皆様には多大なご迷惑をおかけしたものでお詫びのしようがございません。
原因を検証し、再発防止のために努力いたします。

18:08:58
icon

今回の緊急メンテナンス時に利用した障害情報アカウント(kmyblue@mstdn.jp)につきまして、お知らせいたします。

★当アカウントはkmyblueサーバーに重大な障害が発生した場合に使用されます。

当アカウントに投稿があった時点でkmyblueは動作していない可能性が高いです。そのためkmy.blueサーバーのアカウントから当アカウントをフォローするのはおすすめいたしません。Fedibirdなど他のサーバーからのフォローを推奨します。

ご承知おきくださいますようよろしくお願い致します。

BT mstdn.jp/@kmyblue/110796573645

Web site image
kmyblue障害情報 (@kmyblue@mstdn.jp)
18:29:26
icon

先ほどの障害について補足いたします。

リアルタイムフィードをはじめ、「検索エンジンによるインデックスを拒否する」にチェックを入れていないユーザーのプロフィールページ・投稿を除くすべてのページは、検索エンジンへの掲載を拒否するメタタグが含まれています。これはMastodon標準の仕様です。
よって、今回の障害で誰でも閲覧可能だった投稿は、検索エンジンに掲載されることはございません。

また原因は引き続き調査中ですが、問題のコミットではRails 6からRails 7へのメジャーバージョンアップがされており、あらゆる可能性を視野に入れて再発防止を目的に調査いたします。
原因が判明しましたらすみやかにこちらでもお知らせします。数日~数週間おまたせしますが、どうぞよろしくお願いします。

BT kmy.blue/@official/11079646152

Web site image
kmyblueからのお知らせ (@official@kmy.blue)
19:43:11
icon

【続報】【復旧済】ログアウト状態ですべての公開範囲の投稿が閲覧できる障害

先ほど対応したログアウト状態ですべての公開範囲の投稿が閲覧できる障害につきまして、原因の特定ができましたのでお知らせします。

Mastodonが利用している「Rails」というフレームワークのバージョンが、6から7に上がっておりました。
それに伴い、Railsに以下の破壊的変更が加えられていました。

Merging conditions on the same column no longer maintain both conditions, and will be consistently replaced by the latter condition.
github.com/rails/rails/blob/v7

先ほどの障害は、この変更の影響を受けるものでした。
これまで公開範囲「公開」「ローカル公開」「ログイン」の3つに絞り込むクエリと、「ログイン以外」に絞り込むクエリが重複しておりました。
Rails 6ではこのコードで問題なく動作しましたが、Rails 7では問題が発生しました。【続】

19:46:04
icon

当該変更について、重大な問題は解決されたと考えておりますが、他の場所にも影響がないか順次調査を進めてまいります。
ユーザーの皆様におかれては、kmyblueの動作にお気づきの点などございましたらすみやかにご報告いただければ幸甚に存じます。

再発防止策としては、フレームワークのメジャーバージョンアップがあったときに動作確認を慎重に行ってまいります。

このたびはご利用者の皆様にご迷惑おかけしましたこと、深くお詫び申し上げます。