Movable Type クラウド版のサーバー配信機能不具合について

2018.06.07  渡邉達朗

本日、Movable Type クラウド版においてサーバー配信機能に不具合があることが判明した。弊社クライアントでも導入いただいているところが増えているので、情報共有のため現状分かっていることをここに記録しておく。

Movable Type クラウド版では、生成したコンテンツを外部サーバーへ配信して公開できる「サーバー配信機能」が搭載されている。具体的にはMovable Typeで生成したコンテンツをはじめ、その配下にあるウェブサイトや ブログのサイトパス以下のファイルとディレクトリを、FTP(s)を利用して外部のサーバーに配信し、同期させることができる。

公開するサーバーにCMS(Movable Type)をインストールすることなくコンテンツを公開することができるため、公開サーバーとアプリケーションサーバーを分離することができ、アプリケーションサーバーへの不正アクセスなどのセキュリティリスクが低減されるメリットがある。

しかしながら、この機能を用いてコンテンツの配信を行ったところ、たびたび配信エラーが発生し、時にはファイルが全く異なるファイルに置き換わってしまう現象が発生していた。この問題自体はかなり前から認識しており、問題が起きるたびにシックス・アパート社に報告していたが、そのような問題が発生する原因は見当たらないという回答が続く。

絶対にMovable Type クラウド版に原因があるはずと考え、クライアントにも協力を仰ぎ、ファイル置き換わりの問題が発生した際にすぐに修正せず、問題が起きた状態のサイトを放置いただくことで、ようやくシックス・アパート社の正式な調査が行われ原因が特定された。結論としてはやはり、Movable Type クラウド版に不具合があり、本来ひとつしか実行されない配信プロセスが重複実行されていることが原因であることが判明した。

以下にMovable Type サポートチームからの返答を引用するが、本問題がいつ解消されるかははっきりしておらず、しばらくは運用で切り抜けるほかないようだ。この記事を公開することで同様の問題に遭遇し困惑する方が一人でも減ることを祈る。また、できるだけ早いタイミングでの根本的な解決をシックス・アパート社には実施してもらいたいと思う。

Movable Type サポートチームです。

サーバー配信エラーおよび配信先で意図しないファイルの書き換えが発生する件について、調査に時間がかかりご迷惑をお掛けしております。

まず、ファイルの書き換えにつきましては、本来ひとつしか実行されない配信プロセスが重複実行されていることが原因との結論に至りました。
例えば、ひとつめの配信プロセスが index.html を処理している最中に、もうひとつの配信プロセスでは jquery.magnific-popup.js が処理され、結果として書き換えが生じていると考えられます。

書き換えが発生する根本の原因である配信プロセスの重複実行につきましては、一度目の配信がタイムアウトにより失敗したにもかかわらず、バックグラウンドでは配信を続けており、その状態から再度配信を開始することにより発生すると判断しております。

重複実行発生までの処理の流れは以下のとおりです。

1. 即時配信開始
2. 管理画面上はタイムアウトでエラー
3. エラー処理にて pid ファイルが削除される
※ pid ファイルとは配信中であることを Movable Type が認識するためのファイルです。
4. 配信プロセスはバックグラウンドで実行されたまま
5. 利用者(お客様)は管理画面でエラーになったので即時配信を再実行
6. pid ファイル削除されているので配信が実行できてしまう
7. 結果、配信処理が二重に実行される

この重複実行を防止するためには、サーバー配信機能の根本的な仕様部分を変更する必要があり、改修・検証を経て修正版をリリースするまでには相応の時間を要することが予想されます。

暫定的な修正対応も難しいことから、現在のところ、配信に失敗した場合にはすぐに再配信をおこなわず、ある程度時間をおいて配信し直すといった方法以外に回避策がありません。
また、バックグラウンドで実行されている配信処理がいつ終わるのか Movable Type 側で確認するすべがないため、再配信までにお待ちいただく時間に関しましても具体的な指標をご案内することができない状況です。

お客様側で再配信をお待ちいただく以外の対策をご案内できず誠に申し訳ございませんが、配信エラーが発生した際には、まずは 30 分から 1 時間程度お待ちいただき、再配信をお試しください。
それでも現象が解消しない場合や配信エラーとなる場合には、再配信までの時間をさらに延ばすかたちでご対応いただきますようお願い申し上げます。

なお、本問題に関する修正版のリリース時期は現状未定となっておりますが、できる限り早くリリースできるよう対応を進めて参ります。
お客様にはご迷惑とお手数をお掛けし申し訳ございませんが、ご理解いただきますようお願いいたします。

また、このたびは様々な情報をご提供いただき、調査にご協力いただきまして誠にありがとうございました。
お客様のご協力により、サーバー配信の問題点を見つけ出すことができました。あらためましてお礼申し上げます。

以上、よろしくお願いいたします。

コメントをどうぞ

CAPTCHA


Movable Type クラウド版のサーバー配信機能不具合について

2018.6.7

Movable Type