Tagbangers Blog

ブログが!ブログがおちたぞーー!!

2月の昼下がり、業務であたふたしているところに Slack 経由で Zabbix から不穏な通知が



うげげ、ブログ死んでるやん。。。。

でも大丈夫。 Beanstalk で稼働してるので、コンソールからアプリケーション再起動すれば OK の簡単なお仕事です。

関係ないですが、 Beanstalk って Beans + talk かなーとか適当に思ってたのですが、 Bean + stalk (茎)で豆の木って事のようですね。

それはさておき、取り敢えず誰かがやらねばブログが落ちたままです。

全世界のタグバンブログ読者から苦情が来てしまいます。

なので早速再起動するもひきつづき Beanstalk のヘルスチェックが通らず、コンソールの画面が真っ赤に。

ログを見てみます。

.   ____          _            __ _ _
/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/  ___)| |_)| | | | | || (_| |  ) ) ) )
'  |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot ::       (v1.5.10.RELEASE)


ほいほい。イイヨー?イイヨイイヨー


(中略)

org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat


ひょえ!?



タグバンガーズのブログは WallRide という 自社製 CMS で作られていて、これが Spring Boot なアプリケーションなのですが
どうもサーバが落ちた際に何か起きたのか Boot 内蔵の tomcat が起動しなくなってしまった様子。

更にログを追います。

Caused by: org.hibernate.search.exception.SearchException: HSEARCH000103: Unable to initialize IndexManager named 'org.wallride.domain.PopularPost'

どうやら hibernate search のインデックスが何やら壊れているのか、 IndexManager が初期化できなかったとのこと

で、アプリが起動できず tomcat も起動されなかったよう。


や、いやいや、ま、まだまだ大丈夫です。

多分、index ファイルが EC2 のどこかにある Lucene のディレクトリの中に格納されていて、
データの書き込み中にロックが掛かったままサーバが突然落ちた事によって、ロックされっぱなしになっている。。。んじゃないだろか!?
※ 悲観ロック、楽観ロック

ただ結果から言うとインデックスは WallRide の場合 DB に持っているので、EC2 の中を探せど探せどそんなファイルはなく。

DB の特定のテーブルを DROP して再起動 → 再 indexing する事で解決するだろうとの事。
↑ ISPN から始まるテーブルを全てDROPする。

ということで実施してみたところめでたくヘルスチェックが緑に。

恐らく解決したと思われるので試しにブログ投稿してみました。


それではみなさま、ころなにお気をつけて元気におすごしくださいね!