legacy-knowledge-base
公開されました Jun. 30, 2025

WARN [main][DDMFieldUpgradeProcess:626] コンテンツIDのダイナミック・データ・マッピング・フォーム・フィールドの値型を取得できません。

written-by

Jorge García Jiménez

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • Liferay DXP 7.4 またはクオータリーリリースにアップグレードすると、upgrade.log に以下のようなスタックトレースの警告が表示されます。
    WARN [main][DDMFieldUpgradeProcess:626] Unable to get dynamic data mapping form field value type for content ID 1924622
    java.lang.NullPointerException: null
    at com.liferay.dynamic.data.mapping.storage.DDMFormFieldValue.getType(DDMFormFieldValue.java:131) ~[?:?]

環境

  • Liferay DXP 7.4、2023.Q3、2023.Q4

解像度

説明:

  • これらのNullPointerExceptionは良性である。 基本的には、あるフォームに対してフォーム送信があったときに、そのフォームにはもう存在しないフィールドが含まれている場合に発生します。
  • これは通常、フォームが公開され、ユーザーがフォームに入力した後、フォームが修正されてフィールドが削除された場合に起こります。 これらの NullPointerException は、データの問題を引き起こしたり、アップグレードが正常に完了するのを止めたりすることはありません。
  • これは、特定のフィールド (フォーム定義にもう存在しないフィールド) がうまく移行できなかったことを意味します。 しかし、そもそもそのフィールドはもうフォーム定義には存在しないので、これは問題ないはずです。

緩和:

  • この WARN が発生しないようにするには、アップグレード前のデータベースのバックアップで特定のコンテンツを調べて、このエラーが発生する原因を確認します。 例えば、次のようなクエリーを実行できる:
    SELECT * FROM DDMContent WHERE contentId = 1924622
  • その後、返されたDDMContentの "data_"カラムを調べることができる。 空白の場合は、アップグレード前のデータベースで製品 APIDDMContentLocalServiceUtil.deleteDDMContent(contentId)を使用してこのエントリを削除できます。

:変更を行う前に、必ずデータベースのバックアップを取ってください。 本番環境で変更を行う前に、必ず下位の環境で変更をテストしてください。

データベースを手動で変更することは推奨されず、自社のビジネスニーズとリスク要因に基づいて慎重に評価されるべきである。 そのような手術はすべて、あなた自身のチームの独断で行われる。

did-this-article-resolve-your-issue

legacy-knowledge-base