承認時にService Unavailableが発生する

お世話になります。

(前提)
・ページのバージョン数が10以上
・公開されているバージョンがない

この条件を満たした状態で、
「承認」をクリックすると、Service Unavailableとなります。

Error
Service Unavailable
The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.
がエラーメッセージとして表示されます。


ページのバージョン14を承認しようとしてエラー

・ページのバージョン数が10以上

ページのバージョン数が5件以下など比較的少ないものは、
現在試した範囲では、エラーが発生していません。

・公開されているバージョンがない

ページのバージョン数が100近くあったとしても、
公開されているバージョンが存在すれば、承認が直ぐに完了します。

また、ページのバージョン数の保持に問題があるのではないかと思い、
直近10バージョンを残して、古いバージョンの削除を行いましたが、
解消されませんでした。

Concrete Versionを9.2.6⇒9.2.7⇒9.3.2とバージョンアップしてみましたが、
いずれのバージョンでも変わらず承認時エラーが発生します。
(PHPは最新の8.3.8)

公開されているバージョンが存在する
⇒承認が正常に完了する(このとき入れ替わりで元々公開されていたバージョンは非公開となる)
公開されているバージョンがない
⇒承認がエラーとなる

承認時に公開されているバージョンのチェックを遡って行おうとして
エラーになっている?

となることから、バグではないかと考えております。

リリースが迫っているサイトで、
各種最新にアップグレードしても一向に解決しないので
困っています。

根本原因及び対処方法について、
情報をお持ちではないでしょうか?

何かヒントになるものでも教えていただきたいです。
よろしくお願いします。

レポート>ログに、PHPのエラーの内容が発生した時刻に出力されていませんか?
出ていればそこから手がかりになるかもしれません。
環境を変更(PHPのバージョンなどを変更)してみるのもいいかもしれません。

PHPのバージョンとConcreteCMSの細かいバージョンが違うので参考にならないかもしれませんが、14バージョン以上作ってから承認を全て外し、再ログイン後に再び承認を行っても特にエラーは発生しませんでした。

返信ありがとうございます。

別件でPOST(同一サイト)しているのですが、
こちらで触れたエイリアスに問題があるようです。

追加で検証を行うと、

-ページのバージョン数が10以上
⇒ページのバージョン数は今回の件と直接関係ないようです。
・公開されているバージョンがない
+下層にエイリアスを含む
+そのエイリアスのオリジナルページも同じ構成
⇒オリジナルページの下層にエイリアスがなければ正常に完了します。

を満たすと、Service Unavailableが発生することがわかりました。

移動対象のツリーの中にページのエイリアスが1つでも含まれていると、
処理が完了せずエラーとなります。

ページ
└エイリアス※1

ページ(=※1)
└エイリアス※2

ページ(=※2)
└エイリアス※3

ページ(=※3)
└エイリアス



といった構成で、該当するエイリアスが含まれた操作を行うと
処理が正常に完了されないようです。

ローカル環境へConcreteCMSを新規にインストールし、
同じような構造のページを作成してみましたが、
私では再現しませんでした。
(下記ループの最後のループが無い状態)
承認時も移動時も子ページを辿って処理をしているようなので、
ページとエイリアスが多い場合であれば
どこかでエイリアスを切れば、移動や承認も通るかもしれません。

ちなみに下記のようにループするような構造だと、
移動も承認もタイムアウトを起こします。

ホーム
ページ1
└ページ2(エイリアス)
ページ2
└ページ3(エイリアス)
ページ3
└ページ4(エイリアス)
ページ4
└ページ5(エイリアス)
ページ5
└ページ1(エイリアス) ※ループ状態!!

ループ状態になっている箇所があったらループを外してみるといいかもしれません。
ページも少なくループもない場合は、申し訳ありません。

検証ありがとうございます。

やはりエイリアスがツリー上でループする構造だと処理に無理があるようですね。

ページやエイリアスがかなり多い上に、エイリアスループが複数存在するサイトになるので、
ツリーを扱う場合には、エイリアスを退避するか、一旦削除して再度設定するか
といった運用が必要となりそうです。