Helix Core コマンドラインクライアント (P4) Helix Core サーバー (P4D) Helix Core プロキシサーバー (P4P) Helix Core ブローカー (P4Broker) リリースノート バージョン 2023.2 はじめに このドキュメントでは、以下のすべてのユーザー向けの変更点を記載しています: * Helix Core サーバー (P4D) * Helix Core コマンドラインクライアント (P4) * Helix Core プロキシサーバー (P4P) * Helix Core ブローカー (P4Broker) 2023.2リリースについて説明します。その他のPerfore製品のリリースノートは https://www.perforce.com/support/release-notes にあり、C/C++用のHelix Core APIの開発者向けノートへのリンクは https://www.perforce.com/perforce/doc.current/user/p4devnotes.txt に あります。 Perforceのリリース番号は YYYY.R/CCCCC の形式です (例: 2002.1/30547)。 YYYYは年、Rはその年のリリース、CCCCCはバグ修正の変更レベルを表します。 これらのリリースノートの各バグ修正には、その変更番号が付けられています。 各ビルドには、(1)以前のすべてのリリースのすべてのバグ修正と、 (2)現在のリリースのバグ修正レベルまでのすべてのバグ修正が含まれています。 'p4'と'p4d'の両方で、'-V'フラグを渡すことでバージョン情報を 報告します。さらに、'p4'では'p4 info'コマンドでサーバーの情報を 報告できます。バージョン情報には、リリースバージョンとビルド変更番号が 含まれます。ビルド変更番号は、対応するバージョンのリリースノート ファイルに記載されている変更番号やパッチ情報と比較することで、 そのバージョンの特定のビルドに記載されている変更が含まれているかどうかを 判断できます。 p4d、p4、p4p、p4brokerでサポートされているプラットフォーム Linux kernel 2.6以上 (glibc 2.6以上)、Intel (x86_64) 用 Windows 10、Intel (x64) 用 Windows 11、Intel (x64) 用 Windows 2012、Intel (x64) 用 Windows 2016、Intel (x64) 用 Windows 2019、Intel (x64) 用 Windows 2022、Intel (x64) 用 Apple OS X 10.12以上、Intel (x86_64) 用 MacOS 12以上、Apple silicon (arm64) 用 -------------------------------------------------------------------------- 重要なプラットフォームのサポート終了のお知らせ このお知らせでは、2023年11月にサポート終了 (EOL) になるプラットフォームを 特定しています。これは、サーバーリリースのp4、p4d、p4p、p4brokerの コンポーネントに適用されます。 以下の64ビットプラットフォームは、現在廃止フェーズにあります: Windows 8.1、Intel (x64) 用 Windows 2012、Intel (x64) 用 以下の32ビットプラットフォームは、現在廃止フェーズにあります: Linux kernel 2.6以上 (glibc 2.6以上)、Intel (x86) 用 廃止予定フェーズ: このリリース以降、これらのプラットフォームはサポートされなくなります。 お客様は、古いリリースの非推奨プラットフォームに対して、このフェーズ中は 完全なサポートとパッチを受けることができます。プラットフォームは、 2023年11月まではこのフェーズのままで、その後、廃止フェーズに移行します。 廃止 (EOL) フェーズ: これらのプラットフォームに対するパッチは提供されなくなります。 これらのプラットフォーム上でサーバーを使用しているお客様に対する 技術サポートも提供されなくなります。 -------------------------------------------------------------------------- Helix Core ライセンスの重要な変更 Helix Core ライセンスが変更され、'ExtraCapabilities'フィールドが 含まれるようになりました。このフィールドには、このサーバーの ライセンスの詳細と、このHelix Coreサーバーを拡張する追加の アプリケーションが含まれます。可能な値の包括的なリストは提供されて いないことに注意してください。リストは時間とともに変化し、 ライセンスの他のフィールドと同様に、'ExtraCapabilities'フィールドへの 変更はライセンスを無効にするためです。 この新しいライセンス形式では、この新しいライセンスを読み取って 適用するために、Helix Coreサーバーの更新バージョンが必要です。 この新しいフィールドを使用するライセンスファイルでは、 Helix Coreサーバーの更新バージョンが必要であり、必要な正確な バージョンを指定する次のコメントが含まれています: # This license works with 2019.2 patch 14, 2020.1 patch 8, 2020.2 patch 6, 2021.1 patch 1, 2021.2 or later servers. -------------------------------------------------------------------------- 2021.2より前のWindowsサーバーの重要な制限事項 2021.2より前のWindowsサーバーでは、そのプラットフォームでの パフォーマンスの懸念から、Helix Core Extensionsのサポートが 無効になっていました。LinuxとMacではExtensionsが完全にサポート されていました。 この制限は2021.2で解決され、Extensionsは現在サポートされている すべてのプラットフォームで完全にサポートされています。 -------------------------------------------------------------------------- 重要なセキュリティに関する注意 このリリースではOpenSSLバージョン3.0.12がリンクされています。 -------------------------------------------------------------------------- 重要な輸出に関する注意 この製品は、米国の輸出管理法および規制の対象となります。 これには、米国輸出管理規則、国際武器取引規制の要件、 および適用されるすべての最終用途、最終ユーザー、 および仕向地の制限が含まれますが、これらに限定されません。 ライセンシーは、米国の禁輸対象国におけるPerfore技術の使用、 または米国の輸出管理法規に違反する行為を、直接的または間接的に 許可してはなりません。 -------------------------------------------------------------------------- サーバーのアップグレード ** 重要なアップグレードに関する注意 ** 分散アップグレードの推奨事項の変更 Helix Core サーバー (P4D) の2019.1以降では、'p4d -xu'で実行される 重要なスキーマのアップグレードは、そのアップグレードが必要な サーバーでのみ実行されます。つまり、アップグレードによって 行われたメタデータの変更はレプリケートする必要があるため、 ジャーナリングする必要があります。ミスを防ぐために、 ジャーナリングが無効になっている場合、アップグレードは実行されません。 オフラインデータベースを使用している場合、ライブデータベースで 実行されたアップグレードはジャーナリングされ、通常のジャーナル 再生中に適用されるため、オフラインデータベースでアップグレードを 実行しないでください。 Helix Core サーバー (P4D) の2019.1以降からアップグレードする場合、 レプリカは、レプリケート元のサーバーより前に安全にアップグレード できます。この「外から内へ」と呼ばれるアップグレードパターンでは、 サーバー全体を一度にオフラインにする必要なく、最も外側のレプリカから 始めて、マルチサーバー環境をサーバーごとにアップグレードできます。 2019.1より前のバージョンから2019.1以降にアップグレードする場合は、 すべてのサーバーを1回のアップグレードセッションでアップグレード することを強くお勧めします。 詳細については、Helix Core サーバー管理者ガイドを参照してください: https://www.perforce.com/manuals/p4sag/Content/P4SAG/chapter.upgrade.html ------------------------------------------------------------------- ライセンスのないサーバーの変更 Helix Core サーバー (P4D) のv16.1以降では、ライセンスのない サーバーで許可される無料ユーザー数が5に変更されました。 クライアントの数は20のままです。以前のバージョンのサーバーでは、 20/20の使用許容量が引き続きサポートされます。 ------------------------------------------------------------------- アップグレード前の注意事項 Helix Core サーバー (P4D) をアップグレードするには、 ライセンスファイルが最新である必要があります。期限切れの ライセンスは、アップグレードされたサーバーでは機能しません。 通常のチェックポイントスキームに加えて、アップグレードを 実行する直前に必ずサーバーをチェックポイントしてください。 現在リポジトリをポーリングしているHelix4Gitインスタンスについては、 Helix Core サーバーをアップグレードする前にHelix4Gitインスタンスを アップグレードすることをお勧めします。そうしないと、 リポジトリのポーリングが停止します。 読み取り専用のアーカイブディレクトリは、アップグレードプロセスに 干渉する可能性があります。これは、CVSなどの別のバージョン管理 システムから移行されたアーカイブパス、またはシステム管理者によって 読み取り専用にされたサードパーティのインポートコンテンツの場合に 該当します。アップグレードを試みる前に、そのようなアーカイブパスが すべて書き込み可能であることを確認してください。 2023.2サーバーのダウングレードはできません 現在お使いのPerforceのバージョンによって、アップグレードの手順が 異なります: データベーススキーマの更新とデータベース形式の更新の違い ------------------------------------------------------------------- ** データベーススキーマの更新 現在のサーバーバージョンが2013.3以上の場合、このアップグレードは データベーススキーマの更新になります: Unixプラットフォーム 1. 'p4d -r -J -xu'コマンドを 実行します。このコマンドは重要なスキーマのアップグレードを 実行してから終了します。 2. サーバーを通常のパラメーターで再起動します。 Windowsプラットフォーム 1. コマンドプロンプトウィンドウから 'p4d -r -J -xu'コマンドを 実行します。このコマンドは重要なスキーマのアップグレードを 実行してから終了します。 2. Helix Core サーバー (P4D) サービスを再起動します。 注意: パーソナルDVCSサーバーは自動的にデータベーススキーマの アップグレードを実行します。上記のアップグレード手順は これらのサーバーでは不要ですが、実行しても安全です。 ------------------------------------------------------------------- ** データベース形式の更新 現在のサーバーバージョンが2013.2以前の場合、このアップグレードは データベース形式の更新になります: 2013.3で導入されたbtree形式のため、これはデータベーススキーマの 更新ではありません。内部アップグレード'p4d -xu' (必要な場合)を 実行する前に、古いサーバーを使用してチェックポイントを作成し、 2021.1サーバーを使用して復元する必要があります。 注意: (ドキュメント化されていない) '+T'修飾子(ファイルの内容を tiny.dbデータベースに保存する)を使用している場合、このデータは チェックポイントされません (したがって復元されません)。 このテーブルのバックアップ/復元手順については、 'p4 help undoc'を参照してください。 データベースが2021.1バージョンで復元されたら、データベーススキーマを 更新します: Unixプラットフォーム 1. 'p4d -r -J -xu'コマンドを 実行します。このコマンドはスキーマのアップグレードを実行してから 終了します。 2. サーバーを通常のパラメーターで再起動します。 Windowsプラットフォーム 1. コマンドプロンプトウィンドウから 'p4d -r -J -xu'コマンドを 実行します。このコマンドはスキーマのアップグレードを実行してから 終了します。 2. Helix Core サーバー (P4D) サービスを再起動します。 -------------------------------------------------------------------------- 以前のリリースとの相互運用性 1. 特に明記されていない限り、Helix コマンドライン (P4) の 任意のリリースとHelix バージョニングエンジン (P4D) の任意の リリースを組み合わせることができますが、このリリースの新機能を 使用するには、クライアントやP4Dをアップグレードする必要があります。 以下の注意事項を参照してください。 * -- 派生APIを含む、すべてのクライアントアプリケーションと 新しいp4クライアントプログラムが必要 ** -- 新しいp4dサーバープログラムが必要 *** -- 新しいp4pプロキシプログラムが必要 **** -- 新しいp4brokerブローカープログラムが必要 レプリカサーバーは、マスターサーバーと少なくとも同じリリースレベルで ある必要があり、マスターのアップグレードを必要とする機能は、 レプリカのアップグレードも必要です。マスターが少なくとも2019.1を 実行している場合、レプリカはマスターより新しいリリースを実行 できます。ただし、この場合、マスターがアップグレードされるまで、 アップグレードされたレプリカで一部の新機能が利用できない 可能性があります。 2. 99.2以降、リモートディポはUNIXとNT間で相互運用できます。 98.2以降、リモートディポは(98.2以降の)リリース間で相互運用 できます。98.1以前では、リモートディポは同じリリースの 別のサーバーとのみ動作します。 3. 2005.1以降、98.2および99.1サーバーのリモートディポサポートは 廃止されました。98.2および99.1サーバーが2005.1サーバーに 接続しようとしても動作しますが、ディポにはファイルが含まれて いないように見えます。 -------------------------------------------------------------------------- 技術プレビュー機能: 技術プレビューで提供される機能は実験的なものであり、常に期待通りに 動作するとは限りません。フィードバックや機能の提案がある場合は、 techpreview@perforce.comまでメールをお送りください。 -------------------------------------------------------------------------- 重要な注意: このリリースに関する最新のGAおよびGA後の情報については、 以下を参照してください: http://www.perforce.com/perforce/r23.2/user/relnotes.txt -------------------------------------------------------------------------- 2023.2 (2023.2/2519561) (2023/11/14)の主要な新機能 #2489411 (Job #116768) ** ディポ格納先にS3をサポート アーカイブタイプのディポに限定されますが、 将来的には他のディポタイプのサポートにも拡張される予定です。 #2486446 (Job #115674) ** 新しい属性値は、新しい設定可能な'trait.storagedepot.min'で 設定されたサイズ(バイト単位)以上の場合、db.traitsテーブルではなく トレイトディポに任意で保存できるようになりました。'p4 fstat -Oa' オプションは、トレイトディポまたはdb.traitsテーブルのいずれかの 保存場所から値を取得して表示します。新しいコマンド'p4 fstat -On'は、 トレイト値ではなく、属性名とその保存場所を表示します。 'p4 attribute'コマンドに、特定の状況下で設定可能な値を 上書きするオプションが追加されました。詳細については、 'p4 help attribute'と'p4 help fstat'を参照してください。 2023.2 (2023.2/2519561) (2023/11/14)のマイナーな新機能 #2499053 (Job #112875, #117469) ** 'p4 license -i'で新しいライセンスを適用する前に、サーバーホスト上の 有効なアドレスに対してIP/MACアドレスまたはFQDNを検証します。 ライセンスの更新には、サーバーの再起動は必要ありません。 #2495109 (Job #97048) *** 最近アクセスされていないプロキシキャッシュファイルをクリアするための 新しいp4pオプション--cache-purgeが追加されました。アクセス時間の しきい値は、新しい設定可能な'proxy.clearcachethresh'で設定されます。 #2491355 (Job #116606) ** 設定履歴レコードに新しいコメントフィールドが追加されました: long option --commentを使用して、特定の設定可能項目の最後の 履歴レコードのコメントを設定したり、set/unsetと一緒に使用したり できます。 使用方法の詳細については、'p4 help configure'を参照してください。 #2487108 (Job #117327, #113690) ** 新しいjournalPrefixBackupコミットサーバー設定可能項目により、 ローテーションされたジャーナルファイルを手動でセカンダリストレージの 場所に移動し、エッジサーバーのアクティビティをサポートできるように なりました。詳細については、コマンドリファレンスを参照してください。 #2486366 (Job #116822) ** 新しいコマンド'p4 configure help'は、文書化されたすべての 設定可能項目を出力します。値、説明、値のタイプ、最小値(利用可能な場合)、 最大値(利用可能な場合)、デフォルト値、推奨値(利用可能な場合)、 再起動要件、サポートレベル、カテゴリ、オンラインヘルプのURLを 表示します。 #2485308 (Job #110741) ** メモリ使用量を最適化することで、'p4 reload'のパフォーマンスが 向上しました。 #2483722 (Job #112874) ** 'p4 license -L'を使用して、サーバーホストから有効なIPまたは MACアドレスのリストを取得します。 #2483011 (Job #095924) * ** *** サーバー/プロキシ/クライアントが送受信したファイルの数と バイト単位のサイズをログに記録し、可視性を高めます。 非構造化ログでは、サーバー/クライアント/プロキシごとに '--- filetotals (svr) send/recv files+bytes 0+0mb/0+0mb' '--- filetotals (client) send/recv files+bytes 0+0mb/0+0mb' '--- filetotals (cache) send/recv files+bytes 0+0mb/0+0mb' のようにログが個別に表示されます。 構造化ログでは、以下の変更が行われました: 1. 既存のDMG_LOG_TRACK_RPCイベントに4つの新しいフィールドが追加: f_sendDirectFiles f_recvDirectFiles f_sendDirectBytes f_recvDirectBytes 2. 新しいイベントDMG_LOG_CLIENT_STATS (イベント番号25)、4つのフィールド: f_sendClientFiles f_recvClientFiles f_sendClientBytes f_recvClientBytes 3. 新しいイベントDMG_LOG_PROXY_STATS (イベント番号26)、4つのフィールド: f_sendCacheFiles f_recvCacheFiles f_sendCacheBytes f_recvCacheBytes 現在の制限事項: 1. プロキシのみがクライアント統計をコミットサーバーに転送します。 キャッシュされた配信、ブローカーでのファイル合計ログは無効になり、 転送レプリカは上流のコミットサーバーに統計を転送するのではなく、 ローカルでログを記録します。 2. 転送レプリカもプロキシも、コミット->プロキシ/レプリカまたは クライアント->プロキシ/レプリカのいずれかから、転送中に キャッシュされたファイル合計をログに記録しません。 #2482034 (Job #117182) ** 'p4 streams --viewmatch'がリビジョン指定を受け入れるようになりました。 #2470778 (Job #116585) * ** *** **** P4PORTのトランスポートプレフィックス(例: 'tcp'、'tcp4'、'tcp46'、 'tcp6'、'tcp64'、およびそれらのSSL同等プレフィックス)は、 小文字である必要がなくなりました。トランスポートプレフィックスの アルファベット文字は、大文字、小文字、または混在することができます。 #2442141 (Job #053773, #034662) * ** 'zlib.compression.level'設定可能項目が追加され、さまざまな アクティビティの圧縮量を指定できるようになりました。 この設定可能項目の範囲は-1から9で、9が最も遅く、最高の圧縮レベルです。 -1の設定は、zlibライブラリのデフォルト設定に対応し、 現在はレベル6です。 これにより、管理者は圧縮時間とファイルサイズを調整できます。 ファイルサイズの違いは、ファイルの圧縮に費やす時間を短縮することで 得られる利点よりも小さくなる可能性があるため、この選択肢を 公開することは有用な設定です。'p4 submit'の待ち時間を短縮する方が、 少しストレージを多く使用するよりも安価だからです。 例えば、デフォルトの圧縮レベル6でバイナリファイルを'p4 submit' すると、4.75秒かかり、49MBのアーカイブファイルになります。 レベルを2に変更すると、2.98秒で54MBのバイナリファイルになります。 これは、コミットが37%高速化し、バイナリが10%大きくなり、 22.2リリースよりも約54%高速化されます。 この設定は主にサーバー側で適用され、アーカイブファイルの アクティビティを対象としていますが、クライアント側でも使用できます (例: クライアントスペックの'compress'オプション)。 2023.2 Patch 3 (2023.2/2563409) (2024/02/27)で修正されたバグ #2558646 (Jobs #118375, #112333) ** Windowsでは、アトミックリネームAPIはOSによってスコープが 制限されています。この変更により、まずアトミックリネームが 試行され、アトミックリネームが失敗した場合、操作はコピーの 切り捨てにフォールバックします。 #2557887 (Job #119417) ** 'p4 unshelve -b/-S'がエラーに遭遇したときのクラッシュを修正しました。 #2556700 (Job #102151) ** この変更により、複雑なビューを持つ'p4 sync'のパフォーマンスが向上します。 これは、新しい設定可能項目maxLookBackによって設定される値 (デフォルト値は1000)まで、以前の値8からルックバック制限を 増やすことで実現されます。 #2555959 (Job #116293) ** 'p4 search'がixtextテーブルに読み取りロックを設定しようとすると、 スタックすることがありました。この変更は、テーブルへのアクセスを ロックレスに切り替えることで問題を修正します。 #2555497 (Job #116539) ** テーブルダンプコマンド'p4d -jd'がコマンドに失敗した場合でも、 MD5チェックサムファイルを作成する可能性がありました。 これは修正されました。 #2553624 (Job #119254) ** 並列リカバリでは、リプレイファイルのノートエントリでメモリが リークしていました。これは修正されました。 #2554082 (Job #119336) ** OpenLDAPが2.4.17にアップグレードされました。 #2552714 (Job #118004) ** レプリカからのアーカイブのオンデマンドフェッチにより、 アーカイブがバックグラウンドのサブミットの一部としてエッジサーバーから 転送されていない場合、コミットサーバーがオンデマンドで フェッチを実行するようになりました。ファイルの内容を要求している クライアントは、この状況でライブラリアンエラーを受け取ることは なくなりました。 #2551998 (Job #118593) ** 'pressure-pause'フックを実装する拡張機能は、トリガーテーブルの 更新を妨げなくなりました。 #2548434 (Job #118559) * ** *** **** クライアントは、ネットワーク接続を閉じる前にshutdown()を 呼び出すようになり、保留中のパケットをすべて処理し、 クリーンな接続のシャットダウンを確保します。特に、クライアントが 制御-c(^C)で終了した場合、保留中のパケットは失われません。 #2548082 (Jobs #107457, #117470, #118998, #117719) * ** *** **** 高負荷時のSSL接続の確立を改善します。特に、クライアントが TCP接続を確立した後、SSLハンドシェイクの開始が遅い場合の "wrong version number"エラーを排除します。 SSLエラー検出と処理を改善し、存在しないSSLエラーの報告を 防止します。以前は理論的に可能でしたが、観測されていませんでした。 SSLクライアントとサーバーの初期化中に検出された偽のSSLエラーを 無視して、存在しないSSLエラーの報告を防止します。 以前は理論的に可能でしたが、観測されていませんでした。 SSLエラー処理をより堅牢にし、より詳細でユーザーフレンドリーな SSLエラーメッセージを提供します。 #2547699 (Job #118566) ** 並列リカバリでは、サーバーとリカバリファイル間の文字セットの 不一致を検出していませんでした。これは修正されました。 #2546176 (Job #118002) ** 'p4 obliterate'は、ジャーナルのローテーションが進行中の場合、 アーカイブ削除ジャーナルノートを書き込むことができなくなりました。 #2544323 (Job #118360) ** トレイトディポに保存されていたトレイト値を、db.traitsに保存される 値に置き換えると、トレイトディポのディポファイルが削除されませんでした。 これは修正されました。 #2541675 (Job #115632) ** 配布サーバーでストリーム間を切り替えるときの、変更されたコンテンツの 自動シェルブを修正しました。 #2538285 (Job #118756) ** 日付フィールドに負の値を割り当てようとすると、ブロックされるように なりました。 #2538275 (Job #118549) ** サーバーは、負の値を含む日付フィールドを正しく処理しませんでした。 これは修正されました。 2023.2 Patch 2 (2023.2/2535420) (2023/12/19)で修正されたバグ #2534278 (Job #118635) ** 'p4 jobs -e Date>=yyyy/mm/dd'などのクエリのパフォーマンスが 大幅に低下する問題が、2023.2の最初のリリースで導入されました。 これにより、指定された範囲に一致する日付を取得する過程で、 すべての数値db.ixtextエントリがスキャンされていました。 これは修正されました。 #2533190 (Job #114420) ** 'p4 renameuser'は、db.monitorに長い書き込みロックを取得しなく なりました。 #2528293 (Job #118342) ** 'rt.monitorfile'によって保存されるモニターレベルは、 新しいコマンドが開始されるたびにリセットされなくなりました。 #2532094 (Job #116191) ** DVCSフェッチ、プッシュ、zipコマンドが、チェンジリスト間の 分割移動を誤って報告する問題を修正しました。 #2531016 (Job #118395) ** 'p4 change -t'コマンドのtext+kファイルのダイジェスト/ファイルサイズを 設定します。 2023.2 Patch 1 (2023.2/2523307) (2023/11/22)で修正されたバグ #2523153 (Job #118298) ** 変更2490421を元に戻します。これは、顧客の環境で期待された 効果がありませんでした。 #2521944 (Job #118198) ** 'p4 license -L'は、IPv4またはIPv6アドレスを持たないネットワーク インターフェイスのMACアドレスを報告しなくなりました。 2023.2 (2023.2/2519561) (2023/11/14)で修正されたバグ #2516988 (Job #116628) ** アーカイブのないリビジョンがforceフラグを使用して再タイプされた場合、 エッジにレプリケートされるとエラーが発生する可能性がありました。 これらのリビジョンは「missing」としてマークされ、レプリケーションでは 無視されるようになりました。タグ付きモードの「p4 fstat」は、 これらのリビジョンに対して「isMissing」タグを報告します。 #2512340 (Job #117646) ** 複数のファイルをパラメータとする「p4 unshelve」で、このファイルリストが ソートされていない場合、「can't unshelve (already opened for edit using a different client view path)」というエラーが発生することがありました。 この変更により、問題が修正されました。 #2508491 (Job #116102) * ** *** **** OpenSSLが3.0.12にアップグレードされました。 #2505273 (Job #112432) ** 「p4 fetch」と「p4 push」コマンドは、ユーザーが指定したファイルスペック引数が リモートビューを制限しない場合、LastFetch/LastPushを更新するようになりました。 #2504803 (Job #117741) * ** cURL (拡張機能用)が8.4.0にアップグレードされ、複数のcURL CVE (CVE-2023-38545とCVE-2023-38546)に対応しました。 #2499611 (Job #90618, #117153) * ** *** **** セキュリティ修正。CVE-2023-5759に対応しました。 #2496083 (Job #117185) ** 「db.checkpoint.threads」設定可能オーバーライドは、「p4d」を介して 「-N threads」オプションで直接開始された非並列チェックポイントと ダンプ要求、および「p4 admin checkpoint」コマンドによって 「-n threads」オプションで開始された要求ではサポートされて いませんでした。これは修正されました。 #2495972 (Job #114613) ** 多数の個別ファイルに対して「p4 unlock -f」を実行すると、 db.domainの不必要なスキャンが発生し、このテーブルのロックを 長時間保持して他のコマンドをブロックする可能性がありました。 この変更により、問題が修正されました。 #2494767 (Job #117156) ** セキュリティ修正。CVE-2023-35767に対応しました。 #2493556 (Job #117155) ** セキュリティ修正。CVE-2023-45849に対応しました。 #2491456 (Job #107898) ** 「p4 annotate」は、保護除外を持つファイルを通じて統合履歴を 追跡する際に、不必要にdb.revレコードを追加でスキャンしていました。 これは修正されました。 #2491397 (Job #117154) ** セキュリティ修正。CVE-2023-45319に対応しました。 #2490421 (Job #107457) * ** *** **** SSL接続の試行が失敗した場合、より詳細で正確なエラーメッセージが 生成されるようになり、誤ったSSL構成の診断が容易になりました。 特に、サーバーが処理できる数以上の同時SSL接続の試行を受けている場合、 一般的なSSL失敗メッセージを生成するのではなく、その旨のメッセージを 生成します。さらに、一時的な接続エラーがより堅牢に再試行されるため、 以前は失敗していた一部の接続の試行が成功する可能性があります。 #2489148 (Job #117392) ** 「p4 storage -U」コマンドのスレッド間にデータ競合がありました。 これは修正されました。 #2488264 (Job #117222) ** 空でないディレクトリでチェックポイントを再生する「p4d -jr」コマンドが、 既存のデータベースファイルを更新しないようにします。 #2488070 (Job #117270) ** ストリームの親を変更する際のコンポーネントストリームの検証エラーを 修正しました。 #2487821 (Job #114933) ** 「p4 unzip」、「p4 push」、「p4 fetch」を使用してレイジーコピー ファイルが送信され、ソースがパッケージに含まれていない場合、 非レイジーコピーファイルとしてインポートされます。 #2484430 (Job #113319) ** zipにレイジーコピーのソースが含まれていない場合、-Iオプションを 使用して統合レコードを除外する「p4 unzip」がクラッシュしなくなりました。 #2482627 (Job #106491) ** 「p4 zip」は、リビジョン範囲と共に使用すると、レイジーコピーの アーカイブを正しく含めるようになりました。 #2482523 (Jobs #117098, #117137) ** 並列チェックポイント操作の場合、チェックポイント履歴レコードの 開始時刻と終了時刻が同じであり、「rotate-journal」トリガーの 「checkpoint」フィールドと「journal」フィールドが設定されて いませんでした。これは修正されました。 #2481875 (Job #117071) ** 「changes -m -u」の場合、m行未満しか生成されず、出力内の有効な レコードが欠落する可能性があります。-iクロージャオプションを 使用した「p4 changes」の場合、統合のソースにあるファイルの変更を 含まない結果が生成される可能性があります。 #2479809 (Job #117093) ** 孤立スキャナー「p4 storage -l」は、ディポディレクトリ引数にスペースが 含まれていると動作しません。これは修正されました。 #2475698 (Job #114250) ** 「p4 unlock」と「p4 lock」コマンドを同時に実行すると、デッドロックや システムのハングが発生する可能性があります。この変更により、 問題が修正されました。 #2474301 (Job #116821) ** チェンジリスト指定子を持つファイルパスを取得する一部のコマンドでは、 スキャンする代わりにdb.revで次のファイルに移動するようになりました。 #2469524 (Job #116678) ** 「p4 submit」では、サブミットプロセス中にコマンドグループ識別子が クリアされなくなりました。 #2468060 (Job #111780) ** 既存のコンテンツに重複排除される多くのコンテンツを含む「p4 shelve」の場合、 削除されるシェルフアーカイブが多数生成されます。このような場合、 データベーステーブルが長時間ロックされたままになり、他のコマンドの パフォーマンスが低下します。この変更により、このようなデータベースの ロック時間が改善されます。 #2467384 (Job #115204) ** 「p4 changes -m @」の場合、 この変更により、パスが一致しない変更をすばやくスキップすることで パフォーマンスが向上します。 #2464103 (Job #115529) ** 同時に実行される多数の「p4 diff2」コマンドがdb.revshをロックし、 他のコマンドを長時間ブロックする可能性があります。この変更により、 db.revshへのアクセスをロックレスにすることでパフォーマンスが 改善されます。 #2463813 (Job #115585) ** 「p4 topology --explain」では、すべてのトポロジーオプションの 長い形式の構文が表示されるようになりました。 #2463373 (Job #116078) ** チェーンエッジは、コミットサーバーのサーバープロトコルバージョンではなく、 上流エッジのサーバープロトコルバージョンを使用します。 これは修正されました。 #2463256 (Job #115584) ** 「p4 topology -m」コマンドは、「-a」または「-d」オプションと共に 使用すると、トポロジー使用エラーが発生するようになりました。 #2462781 (Job #116121) ** P4ALTSYNCは、データベースにチェックサムが保存されていないファイルの ダイジェストをオンザフライで生成するようになりました。 #2462372 (Job #116376) ** 複数の「import @change」パスを持つストリームから生成されたものを含む、 重複するChangeViewエントリの優先順位が正しく適用されていませんでした。 これは修正されました。 #2462343 (Job #116382) ** 「p4 fstat -e CHANGE」は、他のチェンジリストで開かれているファイルの db.revレコードを不必要にスキャンしていたため、そのようなファイルが 多数ある場合は非常に非効率的でした。これは修正されました。 #2461940 (Job #116409) ** 開始チェックポイントメッセージが生成された後、標準出力がフラッシュ されるようになりました。これは、スクリプトが現在使用中のチェックポイント 番号を特定するのに役立ちます。 #2461702 (Job #116306) ** マルチファイルチェックポイントとダンプに、重複したレコードが含まれる 可能性がありました。これは修正されました。 #2461701 (Job #116373) ** p4dのヘルプメッセージに、db.ckphistレコードを表示するための-xjオプションの 詳細が含まれるようになりました。 #2460758 (Job #115558) ** P4ALTSYNCが正しく設定されていない場合、altsyncが有効なクライアントに対する 「p4 unshelve」は許可されなくなりました。 #2459572 (Job #116187) ** P4ALTSYNCは、転送レプリカで期待通りに動作するようになりました。 #2459572 (Job #116348) ** コマンドグループのロギング情報が、転送レプリカから上流に正しく渡される ようになりました。 #2459453 (Job #116334) ** 「p4 verify -t」コマンド中の欠落しているディポファイルと不良ディポファイルの 転送をスケジュールするために、「rdb.lbr」アクティビティの追跡メトリックが 報告されるようになりました。 #2457982 (Job #116141, #116277) ** ストリームのビューを生成できない場合のアップグレードの問題を修正しました。 #2456741 (Job #116101) * ** cURL (拡張機能用)が8.1.2にアップグレードされ、複数のcURL CVE (CVE-2023-28319とCVE-2023-28322)に対応しました。 #2455354 (Job #115964) ** 'p4 streams -F'は、'import'という文字列の直後に'&'クエリ演算子が ある特殊なケースで、自動的に'&'をエスケープしていました。 これにより、最初のクエリが'import'で終わる場合、'&'で2つのクエリを 組み合わせるとクエリ解析エラーが発生していました。自動エスケープの 動作が削除され、'p4 help streams'で、検索式の一部であるクエリ演算子の エスケープ方法が説明されるように明確化されました。 #2454956 (Job #115981) ** P4ALTSYNCを使用したシンボリックリンクタイプのファイルの'p4 sync'では、 無限ループが発生しなくなりました。 #2453580 (Job #116086) ** 'p4 fstat -m1 -S //...'が再びすべてのファイルの正しいカウントを 実行するようになりました。 #2452968 (Job #114741, #115631, #115812) ** 'p4 streams --viewmatch'は大幅に改良され、特定のディポファイルに 一致するビューを持つ正確なストリームのセットを返し、 db.streamviewxの不必要なスキャンを排除するようになりました。 #2452668 (Job #116033) ** 23.1以降のエッジサーバーは、コミットサーバーが少なくとも23.1に アップグレードされていない場合、altsyncオプションを省略するように なりました。 #2450824 (Job #114820) ** 'p4 reload -p'は、ユーザーにエラーを正しく報告するようになり、 journalwaitが必要な場合は、正しいジャーナルオフセットが使用される ようになりました。 #2449796 (Job #116005) ** クライアントのオーバーレイパスでのファイルの'p4 add'は、 マッピングされたすべてのdb.revhxレコードを不必要にスキャンする 可能性がありました。修正されました。 #2448510 (Job #114845) ** 並列チェックポイントとダンプ操作では、成功を示すために集約された MD5ファイルが作成されるようになりました。 #2445284 (Job #114041) ** グラフディポリポジトリの'p4 submit'の場合、リポジトリにサブモジュールが 含まれていると、サブモジュールをサブモジュールのディレクトリに置き換えることで、 サブミットがリポジトリを破損させる可能性がありました。この変更により、 問題が修正されました。 #2442805 (Job #115714) ** 'p4 fstat -Oz'は、パージまたは削除されたリビジョンのレイジーコピーを 表示していませんでした。これは修正されました。 #2442681 (Job #115619) ** 'p4 zip'のバグを修正しました。移動/削除ペアの片方が誤って欠落していると 宣言されていました。 #2440369 (Job #115687) ** バージョン2021.2以降にアップグレードされていない上流サーバーがある場合、 db.topologyテーブルでのサーバーレコードのキャプチャをスキップすることに 関連するトポロジーサーバーの警告で、それぞれの中間サーバーのログが スパムされないようにします。 #2437067 (Job #110437) * ** *** **** ネットワークの自動チューニングアルゴリズムが修正され、自動チューニングが 有効な場合(net.autotune=1)に、Windowsクライアントから大量のファイルを Linuxサーバーにサブミットすると停止やハングが発生する可能性がある まれなケースに対応するようになりました。 #2434383 (Job #115391) ** 特定の変更時のストリームビュー生成が無限ループを引き起こす問題を 修正しました。 #2433630 (Job #115113) ** アーカイブが欠落していても、'p4 renameuser'がクラッシュしなくなりました。 #2433577 (Job #115504) ** グラフディポのコマンド'p4 receive-pack'の場合、パックファイルに マージコミットが含まれていると、プロセスが見かけ上無限の時間を要し、 決して終了しない可能性があります。これは、git-connectorのミラーリング 更新が完了しない場合に発生する可能性があります。この変更により、 問題が修正されました。 #2427917 (Job #114334) ** ストリームに1つ以上のコンポーネントがあり、ストリームクライアントが ストリームスペックを含まない変更のStreamAtChangeに設定されている場合、 クライアントビューにコンポーネントストリームビューが含まれていないか、 誤っている可能性がありました。これは修正されました。 #2427515 (Job #114761) ** シェルブされた統合を持つリビジョンに対する'p4 retype -l'要求は、 db.storageおよびdb.storageshテーブルに誤ったレコードを生成します。 これは修正されました。 #2426423 (Job #100988) ** 以前の'p4 undo'では、同じファイルに対する異なるオープンアクションの間で 競合があった場合、空のエラーメッセージが表示されていました。 これからは、問題のあるファイル、2つの競合するアクション、および undoを競合しない範囲に分割するために使用できる関連するチェンジリスト 番号が正しく報告されます。 #2424554 (Job #87367) * P4IGNOREのデフォルトは、'.p4ignore'、'p4ignore.txt'、 '$HOME/.p4ignore'、'$HOME/p4ignore.txt'になりました。 #2423690 (Job #115128) ** この変更は、'-m @'オプションを 使用した場合の'p4 changes'のバグを修正します。 '-m'の値が変更数の10%より大きく、ファイルパスが変更内の最初のファイルと 一致せず、変更内の他のファイルと一致する場合、その変更はスキップ されていました。この変更により、問題が修正されました。 #2423392 (Jobs #114708, #114712) ** チェックポイント履歴表示コマンド'p4d -xj'のデフォルトのフィールドに、 操作の'end'タイムスタンプが含まれるようになりました。 ジャーナル日付フィールドは、並列チェックポイントまたはダンプ要求の 現在の時刻に設定されるようになりました。 #2422126 (Job #114848) ** *** 'p4 pull -l'コマンドは、コマンド実行中の全期間にわたってrdb.lbrに 共有ロックを設定し、エッジサーバーやプロキシサーバーの全体的な パフォーマンスが低下する可能性がありました。この変更により、 'pull -l'が必要なすべてのレコードを迅速に読み取り、ロックを解除する ように変更することで、パフォーマンスが改善されました。 -------------------------------------------------------------------------- 2023.1 (2023.1/2442900) (2023/05/15)の主要な新機能 #2413980 (Job #104786) * ** *** 代替同期エージェントのサポート クライアントスペックに新しい'[no]altsync'オプションが追加され、 クライアントアプリケーションがファイル操作を実行するために、 代替同期エージェント(P4ALTSYNC環境変数で指定)を使用するかどうかを 指定できるようになりました。代替同期エージェントは接続ごとに1回呼び出され、 クライアントアプリケーションがファイルの内容を直接書き込むのではなく、 ファイルのメタデータが提供されます。この機能の主なユースケースは、 仮想ファイルサービスプロバイダーの状態を更新することです。 参照: Helix Core コマンドライン (P4) リファレンスのP4ALTSYNC #2350943, #2339529, #2328309 (Jobs #112184, #112183, #111439) ** 並列チェックポイントとダンプ操作では、'm'サブオプションを 受け入れます。これにより、個々のデータベーステーブルを複数の チェックポイントまたはダンプファイルに分割できます。これにより、 チェックポイント/ダンプのワークロードを利用可能なスレッド間で より均等に分散できるはずです。リカバリ操作では、並列チェックポイント ディレクトリをリカバリするための'p'サブオプションをサポートします。 参照: Helix Core サーバー管理者ガイドの 「並列チェックポイント、ダンプ、リカバリ」 2023.1 (2023.1/2442900) (2023/05/15)の技術プレビュー機能 #2419976 (Job #5077, #67496, #72878, #108158, #108325, #110287) ** Helix Core サーバーシステムリソースモニタリング サーバーは、空きオペレーティングシステムメモリやCPU可用性の量が 設定可能なしきい値を超えた場合、受け入れる着信ワークの量を 計測し、クライアント要求を一時停止または拒否できるようになりました。 この機能はプラットフォーム固有です。CPUプレッシャーの応答性は、 cgroups v2が設定されたLinuxシステムでのみ利用できます。 メモリ認識は、MacOSを除くすべてのLinuxバージョンとWindowsで 利用できます。 本番環境でこの機能を有効にする場合は、テクニカルサポートに お問い合わせください。 詳細については、'p4 help server-resources'を参照してください。 2023.1 (2023.1/2442900) (2023/05/15)のマイナーな新機能 #2413707 (Job #19809) * ** 'p4 sizes'に新しい'-C'フラグが追加されました。これにより、 報告されるファイルサイズが、現在のクライアント接続で書き込まれた 場合のファイルのサイズに基づくようになります。これには、改行の変換、 unicode/utf8/utf16ファイルタイプの文字セットの変換 ('filesys.utf8bom'の値を含む)、+kタイプのファイルのキーワード展開が 含まれます。これらの変数は、次の新しいフラグを使用してオーバーライド できます: -B utf8bom - utf8タイプのファイルの'filesys.utf8bom'を オーバーライド -K - +kタイプのファイルのキーワードを折りたたむ -L line-ending - クライアントの改行設定をオーバーライド -Q charset - unicodeタイプのファイルのP4CHARSETをオーバーライド #2408924 (Job #114224) ** ログには、コマンドが一時停止状態('p4 monitor pause'など)で 費やした時間の量が含まれるようになりました。P4LOGログファイル でのトラッキング出力には、'--- paused $seconds'のような行が 表示されます。構造化ログの'CommandEnd'イベント(1.56)の バージョン56には、同じデータを表す新しいフィールドがあります。 'serverlog.version.N'設定可能項目を使用して、構造化ログファイルを 特定のサーバーバージョンの形式に固定できます。以前の構造化ログ イベントの形式を保持するには、'serverlog.version.N'設定可能項目を 55に設定します。 #2399143 (Job #95529) ** 新しい'p4 integrated -m 'オプションは、最新の統合 レコードを報告します。 #2397436 (Job #112553) ** Linux上のサーバーは、データベースの書き込み中にOOMキラーから 自身を保護できるようになりました。これは、サーバー実行可能ファイルに 必要な機能が付与されている場合に自動的に行われます (例: "sudo setcap 'CAP_SYS_RESOURCE=+ep' p4d")。これらの機能に 対するサポートレベルの詳細を含む新しいサーバー起動ログエントリが 書き込まれるようになりました。 #2396097 (Job #112520) ** 'p4 topology -m'では、ユーザーがサーバーレコードを移動済みとして マークできるようになりました。詳細については、'p4 help topology'を 参照してください。 #2394721 (Job #112311) ** 新しいサーバータイプ'distribution-server'は、コンテンツ配信に 使用でき、新しい特定のライセンスが必要です。 #2380883 (Job #113299) ** 'p4 admin checkpoint'コマンドが並列チェックポイントとマルチ ファイルオプション(-p、-m、-N threads)をサポートするように なりました。 #2373917 (Job #112371) ** 長時間実行されるサーバープロセスは、より多くのメモリをOSに 解放するようになり、状況によってはメモリ使用量が半分になります。 #2368014 (Job #112446) * ** 圧縮関連のタスクが64ビットX86上で約38%高速化されました。 例: 'binary'ファイルタイプでの'p4 submit'。 #2367890 (Job #110101) *** **** デフォルトのPerforce mimallocメモリマネージャーの設定可能項目が、 プロキシとブローカーで使用されるようになりました。 #2359921 (Job #111565) ** 新しいフラグ--preserve-change-numbersが'p4 push'と'p4 fetch'に 追加され、ターゲットサーバー上のプッシュ/フェッチされた変更番号を 保持するために使用できるようになりました。競合する変更リスト番号が ある場合、コマンドは失敗します。 設定可能項目'dm.fetch.preservechangenumbers'はデフォルトで無効に なっていますが、同じ効果を得るためにターゲットサーバー上で有効に (1に設定)できます。サーバーの再起動は必要ありません。 #2358093 (Job #112666) ** 'p4 topology -D'は、レコードを削除するための宛先サーバーアドレスと サーバーIDを受け入れるようになりました。詳細については、 'p4 help topology'を参照してください。 2023.1 Patch 4 (2023.1/2560797) (2024/02/22)で修正されたバグ #2557622 (Job #119417) ** 'p4 unshelve -b/-S'がエラーに遭遇したときのクラッシュを修正しました。 #2557496 (Job #116539) ** テーブルダンプコマンド'p4d -jd'がコマンドに失敗した場合でも、 MD5チェックサムファイルを作成する可能性がありました。 これは修正されました。 #2557184 (Job #116293) ** 'p4 search'がixtextテーブルに読み取りロックを設定しようとすると、 スタックすることがありました。この変更は、テーブルへのアクセスを ロックレスに切り替えることで問題を修正します。 #2557097 (Job #102151) ** この変更により、複雑なビューを持つ'p4 sync'のパフォーマンスが向上します。 これは、新しい設定可能項目maxLookBackによって設定される値 (デフォルト値は1000)まで、以前の値8からルックバック制限を 増やすことで実現されます。 #2553623 (Job #119254) ** 並列リカバリでは、リプレイファイルのノートエントリでメモリが リークしていました。これは修正されました。 #2552713 (Job #118004) ** レプリカからのアーカイブのオンデマンドフェッチにより、 アーカイブがバックグラウンドのサブミットの一部としてエッジサーバーから 転送されていない場合、コミットサーバーがオンデマンドで フェッチを実行するようになりました。ファイルの内容を要求している クライアントは、この状況でライブラリアンエラーを受け取ることは なくなりました。 #2552001 (118593) ** 'pressure-pause'フックを実装する拡張機能は、トリガーテーブルの 更新を妨げなくなりました。 #2547700 (Job #118566) ** 並列リカバリでは、サーバーとリカバリファイル間の文字セットの 不一致を検出していませんでした。これは修正されました。 #2546175 (Job #118002) ** 'p4 obliterate'は、ジャーナルのローテーションが進行中の場合、 アーカイブ削除ジャーナルノートを書き込むことができなくなりました。 #2538969 (Job #115632) ** 配布サーバーでストリーム間を切り替えるときの、変更されたコンテンツの 自動シェルブを修正しました。 2023.1 Patch 3 (2023.1/2534247) (2023/12/15)で修正されたバグ #2531279 (Job #116191) ** DVCSフェッチ、プッシュ、zipコマンドが、チェンジリスト間の 分割移動を誤って報告する問題を修正しました。 #2531018 (Job #118342) ** リアルタイムモニタリングが有効な状態でのセグメンテーション 違反を修正しました。 #2531015 (Job #118395) ** 'p4 change -t'コマンドのtext+kファイルのダイジェスト/ファイルサイズを 設定します。 2023.1 Patch 2 (2023.1/2513900) (2023/11/03)で修正されたバグ #2512341 (Job #117646) ** 複数のファイルをパラメータとする「p4 unshelve」で、このファイルリストが ソートされていない場合、「can't unshelve (already opened for edit using a different client view path)」というエラーが発生することがありました。 この変更により、問題が修正されました。 #2510947 (Job #117156) ** セキュリティ修正。CVE-2023-35767に対応しました。 #2510257 (Job #117185) ** 「db.checkpoint.threads」設定可能オーバーライドは、「p4d」を介して 「-N threads」オプションで直接開始された非並列チェックポイントと ダンプ要求、および「p4 admin checkpoint」コマンドによって 「-n threads」オプションで開始された要求ではサポートされて いませんでした。これは修正されました。 #2510009 (Job #112432) ** 「p4 fetch」と「p4 push」コマンドは、ユーザーが指定したファイルスペック引数が リモートビューを制限しない場合、LastFetch/LastPushを更新するようになりました。 #2510008 (Job #117155) ** セキュリティ修正。CVE-2023-45849に対応しました。 #2510007 (Job #90618, #117153) * ** *** **** セキュリティ修正。CVE-2023-5759に対応しました。 #2509225 (Job #111780) ** 既存のコンテンツに重複排除される多くのコンテンツを含む「p4 shelve」の場合、 削除されるシェルフアーカイブが多数生成されます。このような場合、 データベーステーブルが長時間ロックされたままになり、他のコマンドの パフォーマンスが低下します。この変更により、このようなデータベースの ロック時間が改善されます。 #2508491 (Job #116102) * ** *** **** OpenSSLが3.0.12にアップグレードされました。 #2508379 (Job #117154) ** セキュリティ修正。CVE-2023-45319に対応しました。 #2507034 (Job #117098) ** 並列チェックポイント操作の場合、チェックポイント履歴レコードの 開始時刻と終了時刻が同じであり、「rotate-journal」トリガーの 「checkpoint」フィールドと「journal」フィールドが設定されて いませんでした。これは修正されました。 #2505991 (Job #117741) * ** cURL (拡張機能用)が8.4.0にアップグレードされ、複数のcURL CVE (CVE-2023-38545とCVE-2023-38546)に対応しました。 #2505638 (Job #117392) ** 「p4 storage -U」コマンドのスレッド間にデータ競合がありました。 これは修正されました。 #2498961 (Job #117071) ** 「changes -m -u」の場合、m行未満しか生成されず、出力内の有効な レコードが欠落する可能性があります。-iクロージャオプションを 使用した「p4 changes」の場合、統合のソースにあるファイルの変更を 含まない結果が生成される可能性があります。 #2498788 (Job #115204) ** 「p4 changes -m @」の場合、 この変更により、パスが一致しない変更をすばやくスキップすることで パフォーマンスが向上します。 #2497916 (Job #114933) ** 「p4 unzip」、「p4 push」、「p4 fetch」を使用してレイジーコピー ファイルが送信され、ソースがパッケージに含まれていない場合、 非レイジーコピーファイルとしてインポートされます。 #2494346 (Job #117292) ** 並列チェックポイントとダンプ要求では、'db.checkpoint.bufsize' 設定可能項目は適用されません。これは修正されました。この修正により、 'filesys.bufsize'はチェックポイントの書き込みサイズの決定に 使用されなくなったことに注意してください。 #2494008 (Job #117270) ** ストリームの親を変更する際のコンポーネントストリームの検証エラーを 修正しました。 #2489953 (Job #117222) ** 空でないディレクトリでチェックポイントを再生する「p4d -jr」コマンドが、 既存のデータベースファイルを更新しないようにします。 #2489812 (Job #113319) ** zipにレイジーコピーのソースが含まれていない場合、-Iオプションを 使用して統合レコードを除外する「p4 unzip」がクラッシュしなくなりました。 #2489147 (Job #106491) ** 「p4 zip」は、リビジョン範囲と共に使用すると、レイジーコピーの アーカイブを正しく含めるようになりました。 #2480069 (Job #117741, #117093) ** 孤立スキャナー「p4 storage -l」は、ディポディレクトリ引数にスペースが 含まれていると動作しません。これは修正されました。 #2478674 (Job #114250) ** 「p4 unlock」と「p4 lock」コマンドを同時に実行すると、デッドロックや システムのハングが発生する可能性があります。この変更により、 問題が修正されました。 #2473031 (Job #115529) ** 同時に実行される多数の「p4 diff2」コマンドがdb.revshをロックし、 他のコマンドを長時間ブロックする可能性があります。この変更により、 db.revshへのアクセスをロックレスにすることでパフォーマンスが 改善されます。 #2468926 (Job #115585) ** 「p4 topology --explain」では、すべてのトポロジーオプションの 長い形式の構文が表示されるようになりました。 #2468905 (Job #115584) ** 「p4 topology -m」コマンドは、「-a」または「-d」オプションと共に 使用すると、トポロジー使用エラーが発生するようになりました。 #2468481 (Job #110437) * ** *** **** ネットワークの自動チューニングアルゴリズムが修正され、自動チューニングが 有効な場合(net.autotune=1)に、Windowsクライアントから大量のファイルを Linuxサーバーにサブミットすると停止やハングが発生する可能性がある まれなケースに対応するようになりました。 2023.1 Patch 1 (2023.1/2468153) (2023/07/24)で修正されたバグ #2462781 (Job #116121) ** P4ALTSYNCは、データベースにチェックサムが保存されていないファイルの ダイジェストをオンザフライで生成するようになりました。 #2462349 (Job #116376) ** 複数の「import @change」パスを持つストリームから生成されたものを含む、 重複するChangeViewエントリの優先順位が正しく適用されていませんでした。 これは修正されました。 #2462206 (Job #116382) ** 「p4 fstat -e CHANGE」は、他のチェンジリストで開かれているファイルの db.revレコードを不必要にスキャンしていたため、そのようなファイルが 多数ある場合は非常に非効率的でした。これは修正されました。 #2461940 (Job #116409) ** 開始チェックポイントメッセージが生成された後、標準出力がフラッシュ されるようになりました。これは、スクリプトが現在使用中のチェックポイント 番号を特定するのに役立ちます。 #2461701 (Job #116373) ** p4dのヘルプメッセージに、db.ckphistレコードを表示するための-xjオプションの 詳細が含まれるようになりました。 #2460758 (Job #115558) ** P4ALTSYNCが正しく設定されていない場合、altsyncが有効なクライアントに対する 「p4 unshelve」は許可されなくなりました。 #2459572 (Job #116348) ** コマンドグループのロギング情報が、転送レプリカから上流に正しく渡される ようになりました。 #2459572 (Job #116187) ** P4ALTSYNCは、転送レプリカで期待通りに動作するようになりました。 #2459439 (Job #114905) ** 'p4 sync'は、メモリ不足の状況に対してより寛容になりました。 この修正に含まれる追加のエラー処理により、'p4 sync'は、 以前はそうではなかったワークスペースまたはオープンされた 同期ファイルに対してMaxResultsを適用するようになったことに 注意してください。 #2459434 (Job #114906) ** 'p4 filelog'は、メモリ不足の状況に対してより寛容になりました。 #2459094 (Job #114845) ** 並列チェックポイントとダンプ操作では、成功を示すために集約された MD5ファイルが作成されるようになりました。 #2459030 (Job #116306) ** マルチファイルチェックポイントとダンプに、重複したレコードが含まれる 可能性がありました。これは修正されました。 #2458373 (Job #116101) * ** cURL (拡張機能用)が8.1.2にアップグレードされ、複数の cURL CVE (CVE-2023-28319とCVE-2023-28322)に対応しました。 #2458299 (Job #116141, #116277) ** ストリームのビューを生成できない場合のアップグレードの問題を修正しました。 #2455092 (Job #114741) ** 除外パスが生成されたストリームビューの共有パスを不明瞭にする可能性がある ストリームビューマッチのバグを修正しました。 #2454956 (Job #115981) ** P4ALTSYNCを使用したシンボリックリンクタイプのファイルの'p4 sync'では、 無限ループが発生しなくなりました。 #2453231 (Job #114820) ** 'p4 reload -p'は、ユーザーにエラーを正しく報告するようになり、 journalwaitが必要な場合は、正しいジャーナルオフセットが使用される ようになりました。 #2453069 (Job #116086) ** 'p4 fstat -m1 -S //...'が再びすべてのファイルの正しいカウントを 実行するようになりました。 #2452668 (Job #116033) ** 23.1以降のエッジサーバーは、コミットサーバーが少なくとも23.1に アップグレードされていない場合、altsyncオプションを省略するように なりました。 #2449758 (Job #116005) ** クライアントのオーバーレイパスでのファイルの'p4 add'は、 マッピングされたすべてのdb.revhxレコードを不必要にスキャンする 可能性がありました。修正されました。 #2448511 (Jobs #114708, #114712) ** チェックポイント履歴表示コマンド'p4d -xj'のデフォルトのフィールドに、 操作の'end'タイムスタンプが含まれるようになりました。 ジャーナル日付フィールドは、並列チェックポイントまたはダンプ要求の 現在の時刻に設定されるようになりました。 #2447644 (Job #115980) * ** *** **** OpenSSLが1.1.1uにアップグレードされました。 #2446515 (Job #114761) ** シェルブされた統合を持つリビジョンに対する'p4 retype -l'要求は、 db.storageおよびdb.storageshテーブルに誤ったレコードを生成します。 これは修正されました。 #2445284 (Job #114041) ** グラフディポリポジトリの'p4 submit'の場合、リポジトリにサブモジュールが 含まれていると、サブモジュールをサブモジュールのディレクトリに置き換えることで、 サブミットがリポジトリを破損させる可能性がありました。この変更により、 問題が修正されました。 #2444620 (Job #115391) ** 特定の変更時のストリームビュー生成が無限ループを引き起こす問題を 修正しました。 #2444614 (Job #115619) ** 'p4 zip'のバグを修正しました。移動/削除ペアの片方が誤って欠落していると 宣言されていました。 #2443869 (Job #115687) ** バージョン2021.2以降にアップグレードされていない上流サーバーがある場合、 db.topologyテーブルでのサーバーレコードのキャプチャをスキップすることに 関連するトポロジーサーバーの警告で、それぞれの中間サーバーのログが スパムされないようにします。 #2442805 (Job #115714) ** 'p4 fstat -Oz'は、パージまたは削除されたリビジョンのレイジーコピーを 表示していませんでした。これは修正されました。 2023.1 (2023.1/2442900) (2023/05/15)で修正されたバグ #2440503 (Job #115503) * ** cURL (拡張機能用)が8.0.1にアップグレードされ、複数のcURL CVE (CVE-2023-27537、CVE-2023-23916、CVE-2023-23915、CVE-2023-23914) に対応しました。 #2439308 (Job #112863, #115676 ) ** 'p4 failover'コマンドは、'p4d -Fm'を実行することで'p4 failback' コマンドのために準備されたサーバーから実行できました。 これからは、このような状況で'p4 failover'は失敗し、代わりに 'p4 failback'を実行するようユーザーに指示するエラーメッセージが 表示されます。 #2434101 (Job #115504) ** グラフディポのコマンド'p4 receive-pack'の場合、パックファイルに マージコミットが含まれていると、プロセスが見かけ上無限の時間を要し、 決して終了しない可能性があります。これは、git-connectorのミラーリング 更新が完了しない場合に発生する可能性があります。この変更により、 問題が修正されました。 #2429038 (Job #114515) ** 移動されたファイルを含む複数のファイル引数で'p4 reopen'を実行すると、 移動ペアのメンバーの再オープンに失敗する可能性がありました。 これは修正されました。 #2423940 (Job #115128) ** この変更は、'-m @'オプションを 使用した場合の'p4 changes'のバグを修正します。 '-m'の値が変更数の10%より大きく、ファイルパスが変更内の最初のファイルと 一致せず、変更内の他のファイルと一致する場合、その変更はスキップ されていました。この変更により、問題が修正されました。 #2419973 (Job #111678) ** 2023.1リリース以降、中央認証(P4AUTH)を使用するサーバーでは、 中央サーバーのリリースバージョンが少なくとも2023.1である必要が あります。中央サーバーは有効なライセンスを持っている必要があり、 外部サーバーの起動時またはアップグレード時に実行されている 必要があります。 #2419808 (Job #113805) ** 以前は、オーバーレイビューを持つクライアントパスに対するクエリは、 一致するすべてのディポパスに適用されていたため、単一のファイルに 対して実行されたコマンドが2つ(またはそれ以上)の結果を返す可能性が ありました。この動作は、クライアントパスが使用された場合、 一般的に単一の結果を返すことが期待されるコマンドは、 クライアントビューで指定された優先順位に従って、 クライアントファイルごとに1つのディポ結果のみを返すように変更 されました。ディポパスに対するクエリ、または一致するファイルごとに 複数のリビジョンを返すことができるクエリは、この変更の影響を 受けません。 #2417619 (Job #113622) ** StreamQWorkerは、残りの処理を終了させるためにサーバー起動時に 起動されるようになりました。 #2417343 (Job #112669) Helix Core Proxy インストーラー(.exeおよび.msi)では、 Helix Core Proxy ログファイルの名前またはパスと名前を指定するために、 PRXYLOGの代わりにP4LOGプロパティを使用します。古いバージョンから アップグレードする場合は、新しいプロパティ名を使用する必要が あることに注意してください。 #2415891 (Job #67312) ** ストリーム仕様のRemappedフィールドでは、ターゲットパスとして "..."、つまりルートへのマッピングを許可していませんでした。 これは修正されました。 #2415279 (Job #94950) ** 'p4 unload'操作のロック機構が改善されました。 #2412791 (Job #113923) ** 'filesys.atomic.rename'設定を使用する場合、誤ったジャーナル サイズが報告される可能性がありました。これは修正されました。 #2411873 (Job #114552) ** 'p4 populate'のパフォーマンスが、統合レコードの挿入を最適化 することで改善されました。 #2409959 (Job #112599) ** ストリームクライアントからの統合が、「ストリーム仕様の統合の ターゲットストリームは、現在のクライアントに関連付けられた ストリームでなければなりません...」というエラーメッセージで 失敗する可能性がありました。このエラーは、統合コマンドで'-S' パラメーターを使用する場合にのみ発生するはずですが、関連付け られたストリームの親がnoinherit ParentView設定を持っている場合、 '-S'を使用しないときに発生することがありました。 これは修正されました。 #2409758 (Job #113006) ** エッジサーバーで実行された'p4 client -df'コマンドにより、 エッジでは削除されるがコミットサーバーでは削除されない保留中の 変更が発生する可能性がありました。これにより、コミットサーバーの db.changeテーブルの内容がエッジサーバーの内容と異なる可能性が ありました。これは修正されました。 #2409493 (Job #112877) ** 大規模なトランザクションのレプリケーションがより効率的に なりました。以前は、上流サーバーがトランザクションを完了 していない場合、レプリカは実行中のジャーナルの最後まで到達し、 最後の一貫性ポイントからレプリケーションを再開する可能性が ありました。繰り返されるレコードはレプリカのメモリに保持 されていました。レプリカは現在、上流サーバーへの要求全体で トランザクションのレプリケーションを継続し、ネットワーク転送の 繰り返しを防止し、メモリ使用量を削減します。 #2407879 (Job #113804) ** クライアントビューでオーバーレイされるディポパス(つまり、 同じクライアントパスの+-マッピングよりも優先順位が低い)は、 あいまいにマッピングされたクライアントパス内でのファイルの 追加やブランチ作成に関する混乱を避けるために、&-マッピング されたパスと同様に読み取り専用と見なされるようになりました。 #2407742 (Job #113467) ** 分散環境で排他的オープンファイルタイプを使用してファイルが 'add'のためにオープンされ、'reopen'オプションを使用して サブミットされた場合、排他的オープンタイプが設定されませんでした。 これは修正されました。 #2405801 (Job #113970) ** 'filesys.atomic.rename'設定の変更は、サーバーの起動時にのみ 有効になるようになりました。この設定可能項目を変更した後、 'p4 admin restart'が必要です。 #2405137 (Job #113841) ** SDPを使用してアクティブなサーバーからローテーションされた/ 番号付きのジャーナルをリカバリする際、共有違反は発生しなく なりました。 #2404949 (Job #114063 ) ** ライセンスファイルのIPアドレスの変更により'p4 license -i'が 失敗した場合、エラーメッセージには以前のIPアドレスと予期される IPアドレスの両方が表示されるようになりました。 #2403655 (Job #114243) ** コミットサーバーが未指定のホストアドレスで起動した場合、 中間サーバー(レプリカ、プロキシ、ブローカーなど)のログインで サーバークラッシュが発生しなくなりました。 #2403229 (Jobs #113829, #113840) ** 並列チェックポイント、ダンプ、リカバリ操作でdb.ckphist レコードが作成されるようになりました。p4dは、db.ckphist レコードを表示するための'-xj'オプションをサポートするように なりました。 #2399402 (Job #113830) ** 並列マルチファイルチェックポイントとダンプ操作のデフォルトの 分割パラメーターを指定する設定可能項目'db.checkpoint.nofiles'の 名前が'db.checkpoint.numfiles'に変更されました。'p4 dbstat'の ヘルプページと使用法メッセージがこの名前の変更を反映するように 更新されました。 #2398674 (Job #112505) ** 古いコミットサーバーと連携するレプリカ上の'p4 group'が、 エラー「不明なフィールド名 'Description'」で失敗していました。 この変更により、問題が修正されました。 #2394917 (Job #102021) ** 大規模なobliterate後のエッジサーバーでのレプリケーションは、 db.domainテーブルの過剰なスキャンが原因で パフォーマンスが低下していました。db.domainテーブルの過剰な スキャンによるパフォーマンスの問題が修正されました。 #2393897 (Job #113904) ** 'p4 shelve -f -c'は、レプリカサーバー上の共有シェルブアーカイブ ファイルの削除につながらなくなりました。 #2393497 (Job #114030) **** ブローカーは、Helix Core コマンドラインクライアント(P4)から 提供されるMaxMemoryを処理するようになりました。 #2393485 (Job #113985) ** 'p4 dbstat'に'-p'オプションをワークレベル1で使用すると、 サーバークラッシュが発生する可能性がありました。 これは修正されました。 #2392837 (Job #113967) ** 特定の設定制限の下では、'p4 fstat'が例外をスローする可能性が ありました。これは修正されました。 #2392735 (Job #113267) ** 'p4 sync -E @