Confluence Logs Full of "Can't find file" Errors When Using MySQL

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

症状

There is excessive logging similar to the below in atlassian-confluence.log:

2013-07-22 21:08:57,103 ERROR [TP-Processor15] [atlassian.event.internal.AsynchronousAbleEventDispatcher] run There was an exception thrown trying to dispatch event 'com.atlassian.mywork.host.event.BeforeCountNewNotificationsEvent@6faf7473' from the invoker 'SingleParameterMethodListenerInvoker{method=public void com.atlassian.mywork.host.service.ClientServiceImpl.verifyAuth(com.atlassian.mywork.host.event.BeforeCountNewNotificationsEvent), listener=com.atlassian.mywork.host.service.ClientServiceImpl@6e4ddf84}'.
 -- referer: BASE_URL/dosearchsite.action?queryString=somesearch | url: /rest/mywork/latest/status/notification/count | userName: username
java.lang.RuntimeException: java.sql.SQLException: Can't find file: './DATABASE/TABLE.frm' (errno: 20)

There may be missing data, or some functionality not working as a result.

原因

The underlying file used to store a table has gone missing from the filesystem. This could happen due to external factors from Confluence only.

ソリューション

  • Revert to the most recent backup that included this table correctly
  • If that's not possible, then you can:
    1. Take note of the table name from the log entry. In the example above it's "TABLE"
    2. Create an empty test instance of Confluence on exactly the same version
    3. Execute the following SQL to get the command to create the table:

      SHOW CREATE TABLE <TABLE>;
    4. Stop production Confluence and back up the database
    5. Execute the CREATE statement discovered from the test instance
    6. Confluence を起動します。

    (info) If using the test server workaround, note that any data from that table is lost.

Last modified on Mar 30, 2016

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.