製品の欠陥

Liferay Subscription Servicesは、Liferay Digital Experience Platform、Liferay Portal EE、Liferay Commerce(以下「製品」)のパッチ適用や設定変更により、製品の欠陥と呼ばれる意図しない機能の解決を図るものです。 報告された問題は、カスタマイズされていない製品インスタンスでサブスクリプションサービスによって再現される必要があります。 報告された問題(APIの問題など)の中には、特定の報告メカニズムで検証・再現できるものもあります。

詳細な方針については、以下の項目をご確認ください:

Liferay Commerce

Commerce 2.x以下

Liferay Commerceの緊急修正プログラムは、お客様のマイナーバージョンの最新版で提供される予定です。 お客様は、メンテナンスリリースを受けるために、利用可能な最新のマイナーバージョンにアップグレードする必要がある場合があります。

Liferay CommerceのリリースとDXPのフィックスパックは、どちらもメンテナンスリリースであるため、一緒にアップデートする必要があります。 DXP フィックスパックをアップデートする場合、Liferay Commerce の最新のマイクロバージョンにアップデートすることがベストプラクティスです。 Liferay Commerceをアップデートする場合、利用可能な最新のDXPフィックスパックにアップデートすることがベストプラクティスです。

機能仕様

製品の意図する機能に抵触する動作や問題は、パッチや製品の設定変更によって解決される場合があります。 この機能は、製品の公式ドキュメントで決定されます。

Liferayは、意図した機能の進化、重大な変更、非推奨について明確に伝えるよう努めています。メンテナンスモードと非推奨のポリシー は、製品のメンテナンスと非推奨に関するガイドを提供します。

Liferay API の問題

製品コードに問題があり、お客様の開発を阻害する場合、Liferay製品の不具合を確認するために、サポートエンジニアが支援します。 問題を報告する際には、特定のAPIに関する明確な情報を提供してください。 これには、その期待される結果と実際の結果、および問題を実証する簡単なアプリケーションまたはスクリプト(利用可能な場合)が含まれます。

Liferayは、製品の意図された機能に従って問題を解決することを目指します。 意図しない機能を利用するカスタム開発については、変更が必要な場合があります。

意図した機能がAPI問題として報告された場合、サブスクリプションサービスは、製品の既存のコードを使用して機能を説明し、サポート文書または簡単な例を提供します。 APIの問題では、意図した機能は公式の管理者ガイドだけでなく、javadocsやJSONウェブサービスリストでも定義されています。 詳しくは、Liferay API Documentationのナレッジベース記事をご覧ください。

Code DevelopmentArchitectural Assistance のポリシーは、報告された Liferay API の問題の解決も導いています。

カスタム開発で支援を受けるためのオプションについては、担当のアカウントエグゼクティブまたはカスタマーエクスペリエンスマネージャーにご相談ください。

問題の再現と解決

報告されると、問題は診断ワークフローに入ります。 診断ワークフローでは、サブスクリプションサービスが問題を調査し、解決策を提供するために問題の再現を試みます。 サブスクリプションサービスは、報告された問題を、カスタマイズされていない製品バージョンで最初に再現する必要があります。 製品のカスタマイズに起因する問題は、お客様の責任となります。 サブスクリプションサービスが再現できない問題は、診断ワークフローに残り、ケースバイケースで解決されます。 サブスクリプションサービスの適用範囲を超えた問題は、診断ワークフローに残り、ケースバイケースで解決されます。 サブスクリプションサービスに含まれない問題については、お客様のアカウントエグゼクティブまたはカスタマーサクセスがサポートします。

Liferayは、製品のサービスライフポリシーに従って、パッチや構成の変更により、カスタマイズされていない製品バージョンの再現可能で意図しない不具合を解決するよう努めます。 パッチは、製品のコードを変更します。 サブスクリプションサービスは、パッチによるコード変更に関するドキュメントを提供することができます。 お客様は、パッチが問題を解決することを確認するためにテストを行い、その結果を適時にサブスクリプションサービスに報告する必要があります。 パッチをインストールする前に、お客様はシステム(例:コード、ファイル、データベース)をバックアップしてください。 本パッチがカスタム開発と競合しないことを確認するため、お客様はまず本番以外の環境に本パッチをインストールする必要があります。 製品の不具合解決に伴い発生したカスタム開発に関する問題は、お客様の責任において解決してください。

緊急アップデート(Hotfix)

ホットフィックスと呼ばれる緊急アップデートは、本番環境に導入されているLiferayコンポーネントに対してケースバイケースで提供されます。

緊急アップデートは、製品の欠陥の重大度と影響、お客様の実装ライフサイクル、および影響を受ける環境におけるフィックスパック、サービスパック、または四半期ごとのリリースのリリース日に応じてお客様に提供されます。緊急アップデートは、Liferayが判断したビジネスクリティカルな製品の致命的な欠陥を解決するために提供されます。また、本番環境に影響が出た際に、本番環境に加えられる変更量を制限するためにも提供されます。

最後に、四半期ごとのリリースの場合、インシデントがLiferayに報告された日と四半期ごとのリリースが発行された日によって決定される過去 365日以内に発行されたリリースに対して、オンデマンドで緊急アップデートが提供されます。これらの目的のために、リリースは、バンドルとしてリリースされる新しい四半期ごとのリリース、またはOSGi依存関係を持つwarファイル、または新しい四半期ごとのリリースを含むLiferayが提供するDockerイメージとして定義されます。

四半期ごとのリリースのオリジナルリリース日は、リリースの古さと緊急アップデートの適格性を判断するために使用されます。Liferayスクリプト、オペレーティングシステム、またはその他の相互運用可能なテクノロジーへの変更を含むが、四半期ごとのリリースバージョンの変更は含まないLiferayが提供する新しいDockerイメージには、新しいリリースとして認定されません。

ローリングリスタートメンテナンス

稼働率や可用性を高めるために、多くのお客様がローリングリスタートを導入しています。 ローリングリスタートは、クラスタ内の1つのJVMインスタンスを選択的にシャットダウンし、そのインスタンスに必要なメンテナンスを実行した後、そのインスタンスを再起動して再びクラスタに参加させることにより、サーバーのメンテナンスにもかかわらず100%に近いアップタイムを確保することができます。 このプロセスは、クラスタ内のすべてのノードが更新されるまで繰り返されます。

カバレッジの定義

  1. Liferayは、ポータルプロパティの変更、フィックスパックのインストールとアンインストール、新しいプラグインやモジュールのインストール、既存のプラグインやモジュールのアップデート、マイナーJavaバージョンのアップデートのために、これらの機能がローリングリスタートの要件を満たしている場合、Liferay DXPが業界で認められている慣習に対応できるようにすることを目指します。
  2. Liferayは、Liferay DXPが、定義されたメンテナンスウィンドウの間、製品が最小限の機能を持ち、限られたリクエストに対応できる範囲で、業界で認められたローリングリスタートの慣行に適合することを保証することを求めます。 最小限の機能は、Liferayの製品エンジニアがケースバイケースで定義します。
  3. Liferayは、ホットデプロイメントとは対照的に、ローリングリスタートの手法で本番アップデートのリスクを軽減することを推奨しています。 しかし、特定の環境下でのローリング・リスタート技術の実現可能性と実装は、お客様の責任となります。
  4. サブスクリプションサービスは、Liferay製品のアップデートがローリングリスタートの要件を満たすかどうかを判断するためのガイダンスを提供します。
  5. ローリング・リスタート技術を成功させるためには、複数のサードパーティーの技術の相互運用が必要です。 クラスタ内でローリングリスタートを実行するために必要なサードパーティ技術の設定は、お客様の責任で行ってください。

ローリングリスタートの条件

ローリングリスタート技術を利用しながら行うメンテナンス機能は、Liferay DXPとの互換性をテストするために以下の要件を満たす必要があります。

フィックスパックのインストール

ローリングリスタートを利用したフィックスパックのインストールは、新しいフィックスパックが復帰可能で、現在インストールされているフィックスパックと目的のフィックスパックの間に復帰不可能なフィックスパックがない限り、Liferay DXPとの互換性を保証します。 サービスパックに含まれる、または含まれる予定の修正パックには、元に戻せないデータベースの変更が含まれています。 これらの修正パックは、カスタマーポータルで非復帰型として識別され、重要な変更に関する文書が添付されているか、 Rolling Restart - Breaking Changes の知識ベース記事で文書化されています。

通常、非転換型フィックスパックはゼロで終わります。 すべてのサービスパックに非復帰型修正パックが含まれているわけではありませんが、多くのサービスパックに含まれています。

新しいプラグインやモジュール

ローリングリスタート技術を利用した新しいプラグインやモジュールの導入は、そのプラグインやモジュールがデータベースからカラムを削除したり名前を変更したり、既存のバージョンとの互換性を壊すような方法でデータを変更しない限り、Liferay DXPとの互換性が保証されています。 テーブルの削除や互換性の破壊を伴うアップデートは、クラスタのすべてのノードが停止している間に実行する必要があります。

プラグインやモジュールのアップデート

ローリング・リスタートという手法で既にデプロイされているプラグインやモジュールをアップデートしても、データベースからカラムを削除したり名前を変えたり、旧バージョンとの互換性を壊すような方法でデータを変更しない限り、Liferay DXPとの互換性を保証します。 テーブルの削除や互換性の破壊を伴うアップデートは、クラスタのすべてのノードが停止している間に実行する必要があります。

ローリングリスタート技術を利用しながら、データベーススキーマの変更に対応できる開発技術(例: ブルーグリーンデプロイメント)が存在します。 Liferay製品は、これらの開発技術を利用しません。この技術は、特定の順序で適用される時間の経過とともにマイナーチェンジを必要とし、Liferayは製品のリリースが適切な順序で適用されることを保証することはできないからです。

カスタム開発において、Liferay Softwareの機能に影響を与えることなく、Blue-greenデプロイメントを行うことができます。 開発支援に関するオプションについては、アカウントエグゼクティブまたはカスタマーエクスペリエンスマネージャーにご相談ください。

Javaバージョンの更新

JavaのJDKをローリングリスタートでアップデートしても、バージョンアップがマイナーバージョンに限定されるため、Liferay DXPとの互換性が保証されています。 Liferay DXPが利用するJava JDKのメジャーバージョンの更新は、ローリングリスタートとの互換性が保証されていないため、クラスタ内のすべてのノードがシャットダウンしている間に行う必要があります。

この記事は役に立ちましたか?
5人中4人がこの記事が役に立ったと言っています