# EMQX 5.1 の既知の問題

## e5.1.1

- **正常にローリングアップグレードが完了した後に誤ったエラーメッセージが表示される**

  ローリングアップグレード後に `emqx.log` にエラーメッセージが表示されることがありますが、このエラーメッセージは無害であり、アップグレードは正常に完了しています。

  コア＋レプリカントクラスターでローリングアップグレードを実施すると、ログに `** ERROR ** Mnesia post_commit hook failed: error:badarg` というエラーメッセージが表示されることがあります。しかし、これらのエラーはアップグレードの成功に影響を与えず、クラスターは問題なくアップグレード可能です。

## e5.1.0

- **MongoDB ブリッジ UI に「Connection Pool Size」設定が重複して表示される**

  MongoDB ブリッジの UI に「Connection Pool Size」パラメータが重複して表示されます。2つ目の項目は MongoDB 接続オプションの設定に使用されるため、混乱や設定ミスの原因となります。

  > **修正バージョン:** 5.1.1

- **TimescaleDB ブリッジがパスワードなしログインで作成後も切断状態のままになる**

  TimescaleDB のパスワードなしログインでデータブリッジを作成すると、作成は成功しますが切断状態のままになります。ブリッジ作成時にユーザー名を入力すると問題が解決します。

  > **回避策:**  
  > TimescaleDB のユーザー名とパスワードを設定し、正しい認証情報でデータブリッジを作成してください。

  > **修正バージョン:** 5.1.1

- **コマンドラインでリスナーを開始／停止してもダッシュボードのリスナー状態が更新されない**

  以下のコマンドでリスナーを開始または停止しても、ダッシュボード上のリスナー状態が更新されず、実際の状態が分かりにくくなります。

  ```
  ./bin/emqx ctl listeners stop tcp:we
  ./bin/emqx ctl listeners start tcp:we
  ```

- **プラグインの開始／停止コマンドは実行ノードのみが対象でクラスター全体には反映されない**

  以下のコマンドでプラグインを開始／停止しても、実行したノードのみが対象であり、クラスター内の他のノードには影響しません。

  ```
  ./bin/emqx ctl plugins stop emqx_plugin_template-5.0.0
  ./bin/emqx ctl plugins start emqx_plugin_template-5.0.0
  ```

  > **回避策:**  
  > クラスター内のすべてのノードで同様のコマンドを実行するか、ダッシュボードからプラグインを管理してください。

- **CoAP ゲートウェイ接続モードで認証が必須**

  CoAP ゲートウェイは認証が有効な状態でのみ接続作成を許可します。いずれかの認証方式を有効にすることで問題が解決します。

  > **回避策:**  
  > いずれかの認証方式を有効にし、正しい認証情報で接続を作成してください。

  > **修正バージョン:** 5.1.1

- **ダッシュボードの「Use Peer Certificate field as ClientId」オプションで `crt` を選択するとエラー発生**

  ダッシュボードの **MQTT Settings** ページの **General** タブで「Use Peer Certificate as Client ID」オプションに `crt` を選択すると、クライアントIDが文字化けして表示され、詳細表示時にエラーが発生します。

- **クラスターのレプリカノードでファイル転送機能のファイルが閲覧・ダウンロードできない**

  クラスター内でファイル転送機能を使ってファイルをアップロードした場合、アップロード先のレプリカノード以外からはファイル一覧APIでアクセスできません。

  > **回避策:**  
  > ファイルはアップロードしたノードからのみ閲覧・ダウンロードしてください。

  > **修正バージョン:** 5.1.1

- **ダッシュボードにリスナーポートの変更が反映されない**

  `emqx.conf` のリスナーポートを以下のように変更しても、ダッシュボード上のポート表示は更新されず、実際のポートと不一致になります。

  ```
  listeners.tcp.default {
      bind = "0.0.0.1884"
  }
  ```

  > **修正バージョン:** 5.1.1

- **「quic」または「ws」タイプのリスナーで「Max Connections」パラメータが無効**

  ダッシュボードや設定ファイルで「quic」または「ws」タイプのリスナーに対して「Max Connections」を設定しても効果がありません。

- **ルールの `client.disconnected` イベント統計が不正確**

  `clean_session = false` のチャネルでは `client.disconnected` イベントが2回発生し、イベント統計が不正確になります。

- **ルールアクション「republish」のペイロードで UTF-8 文字の解析問題**

  ルールの「republish」アクションでペイロードに `${payload.'msg'}` を使用すると、サブスクライブしているクライアントは `${payload.'msg'}` のまま受信し、実際の `${payload.msg}` の値が送信されません。

  > **修正バージョン:** 5.2.0

- **Oracle データベースの「Connection Pool Size」のデフォルト値が変更不可**

  指定した値に関わらず、「Connection Pool Size」パラメータはデフォルトの 8 に固定されます。

  > **修正バージョン:** 5.1.1

- **サブスクライブしたトピックの QoS 更新がダッシュボードに反映されない**

  CoAP クライアントが QoS 0 でトピックをサブスクライブ後、QoS を 1 に変更しても、ダッシュボードは元の QoS を表示し続け、実際の QoS は 0 のままです。

- **ログローテーション番号が 10 を超えると EMQX 再起動時にログファイルが削除される**

  ログの `rotation_number` を 10 より大きい値に設定すると、`emqx.log.11` や `emqx.log.12` など 10 番以上の番号が付いたログファイルが EMQX 再起動時に削除されます。

- **ノードが 2 分以上切断されると EMQX クラスターでスプリットブレインが発生する**

  EMQX 5.x の OTP25 へのアップグレードにより、Erlang OTP 25 でより積極的なネットワーク断片化検出が導入されました。これにより、以前の OTP 24 と異なり、軽微なネットワーク障害でも EMQX のグローバルコンポーネントで誤ったスプリットブレイン検出が発生します。

  > **修正バージョン:** 5.2.1
