<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SRA OSS Tech Blog</title>
	<atom:link href="https://www.sraoss.co.jp/tech-blog/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.sraoss.co.jp/tech-blog/</link>
	<description>OSS専門の技術ブログ。PostgreSQL、Zabbixを中心に10種類以上のOSSの解説、アップデート情報、運用ヒントを提供。</description>
	<lastBuildDate>Fri, 24 Apr 2026 05:55:48 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://www.sraoss.co.jp/tech-blog/wp-content/uploads/2018/07/blog-icon-150x150.png</url>
	<title>SRA OSS Tech Blog</title>
	<link>https://www.sraoss.co.jp/tech-blog/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Tomcat 11.0.21 のリリースノート</title>
		<link>https://www.sraoss.co.jp/tech-blog/tomcat/rn-11-0-21/</link>
		
		<dc:creator><![CDATA[基盤技術グループ]]></dc:creator>
		<pubDate>Fri, 24 Apr 2026 05:55:35 +0000</pubDate>
				<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[Tomcat 11.0]]></category>
		<category><![CDATA[Tomcat 11.0.20]]></category>
		<category><![CDATA[Tomcat 11.0.21]]></category>
		<category><![CDATA[アップデート]]></category>
		<guid isPermaLink="false">https://www.sraoss.co.jp/tech-blog/?p=20557</guid>

					<description><![CDATA[このドキュメントは 2026 年 4 月 4 日にリリースされた Tomcat 11.0.21 のリリースノートの日本語訳です。 ダウンロードは Tomcat ダウンロードより行えます。 以下はリリースの詳細と、最新情報 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>このドキュメントは 2026 年 4 月 4 日にリリースされた <a href="https://tomcat.apache.org/tomcat-11.0-doc/changelog.html#Tomcat_11.0.21_(markt)" target="_blank" rel="noopener noreferrer">Tomcat 11.0.21 のリリースノート</a>の日本語訳です。<br />
ダウンロードは <a href="https://tomcat.apache.org/download-11.cgi" target="_blank" rel="noopener noreferrer">Tomcat ダウンロード</a>より行えます。<br />
以下はリリースの詳細と、最新情報およびドキュメントを補足するその他情報について記載しています。</p>
<p><span id="more-20557"></span></p>
<h2>脆弱性修正</h2>
<p>* FFM が使用され、かつソフトフェイルが無効化されている場合でも、一部のシナリオにおいて CLIENT_CERT 認証が期待どおり失敗しない問題がありました。(CVE-2026-34500)</p>
<p>* クラスタリングコンポーネントのクラウドメンバーシップにおいて、ログファイルへの機密情報挿入の脆弱性により、Kubernetes のベアラートークンが漏洩する可能性がありました。(CVE-2026-34487)</p>
<p>* CVE-2026-29146 の修正における不備により、EncryptInterceptor がバイパスされる問題がありました。(CVE-2026-34486)</p>
<p>* Connector 属性の relaxedPathChars および/または relaxedQueryChars にデフォルト以外の値が設定されている場合、エスケープ処理が不完全となり、JSON アクセスログへ任意の JSON を注入できる問題がありました。(CVE-2026-34483)</p>
<h2>不具合修正(Catalina)</h2>
<p>* アクセスログにおいて、URI およびクエリ文字列のエスケープが追加されました。</p>
<h2>不具合修正(Coyote)</h2>
<p>* 無効な HEADERS フレームが受信された場合に、GOAWAY フレームなしで接続が閉じられてしまう可能性があった HTTP/2 ヘッダーフレーム解析の不具合が修正されました。</p>
<p>* NIO+TLS におけるノンブロッキングフラッシュ処理の不具合が修正され、接続が閉じられるまでレスポンスが完全に書き込まれない問題が修正されました。(69982)</p>
<p>* ストリームリセット後に、HTTP/2 リクエストヘッダー読み取りバッファが（デフォルトサイズへの復元を含めて）リセットされるようになりました。</p>
<p>* 各種 OCSP のエッジケースにおいて、OpenSSL FFM の挙動が Tomcat Native と一致するように調整されました。</p>
<h2>不具合修正(Cluster)</h2>
<p>* Kubernetes への接続試行および失敗時のログ出力の冗長性が削減されました。</p>
<p>* EncryptInterceptor におけるエラーハンドリングが改善されました。</p>
<h2>機能追加・改良(Coyote)</h2>
<p>* トレーラーフィールドに対して、非トレーラーフィールドと同等のフィルタリングが提供されるようになりました。制御文字 (TAB を除く) およびコードポイント 255 を超える文字はスペースに置き換えられるようになりました。</p>
<h2>機能追加・改良(Other)</h2>
<p>* bnd が 7.2.3 に更新されました。</p>
<p>* フランス語翻訳が改善されました。</p>
<p>* 日本語翻訳が改善されました。</p>
<p>詳細は以下をご覧ください。</p>
<p><a href="https://tomcat.apache.org/tomcat-11.0-doc/changelog.html#Tomcat_11.0.21_(markt)" target="_blank" rel="noopener">https://tomcat.apache.org/tomcat-11.0-doc/changelog.html#Tomcat_11.0.21_(markt)</a><br />
<a href="https://tomcat.apache.org/security-11.html#Fixed_in_Apache_Tomcat_11.0.21" target="_blank" rel="noopener">https://tomcat.apache.org/security-11.html#Fixed_in_Apache_Tomcat_11.0.21</a></p>
<div>
<a href="https://www.sraoss.co.jp/prod_serv/support/oss-pro-support/?utm_source=sraoss-techblog&utm_medium=referral&utm_campaign=under-article-oss" rel="noopener" style="color:initial;" target="_blank" class="no-ext"></p>
<div style="background-color:#DAEFF6; padding:20px; border-radius:8px; text-align:center;">
SRA OSSでは、各種OSS のサポートを提供しております。<br />
詳しくは<strong style="color:#2581c4;">弊社ホームページ</strong>をご覧ください。
</div>
<p></a>
</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Tomcat 9.0.117 のリリースノート</title>
		<link>https://www.sraoss.co.jp/tech-blog/tomcat/rn-9-0-117/</link>
		
		<dc:creator><![CDATA[基盤技術グループ]]></dc:creator>
		<pubDate>Fri, 24 Apr 2026 05:52:21 +0000</pubDate>
				<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[Tomcat 9.0]]></category>
		<category><![CDATA[Tomcat 9.0.116]]></category>
		<category><![CDATA[Tomcat 9.0.117]]></category>
		<category><![CDATA[アップデート]]></category>
		<guid isPermaLink="false">https://www.sraoss.co.jp/tech-blog/?p=20552</guid>

					<description><![CDATA[このドキュメントは 2026 年 4 月 3 日にリリースされた Tomcat 9.0.117 のリリースノートの日本語訳です。 ダウンロードは Tomcat ダウンロードより行えます。 以下はリリースの詳細と、最新情報 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>このドキュメントは 2026 年 4 月 3 日にリリースされた <a href="https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.117_(remm)" target="_blank" rel="noopener noreferrer">Tomcat 9.0.117 のリリースノート</a>の日本語訳です。<br />
ダウンロードは <a href="https://tomcat.apache.org/download-90.cgi" target="_blank" rel="noopener noreferrer">Tomcat ダウンロード</a>より行えます。<br />
以下はリリースの詳細と、最新情報およびドキュメントを補足するその他情報について記載しています。</p>
<p><span id="more-20552"></span></p>
<h2>脆弱性修正</h2>
<p>* FFM が使用され、かつソフトフェイルが無効化されている場合でも、一部のシナリオにおいて CLIENT_CERT 認証が期待どおり失敗しない問題がありました。(CVE-2026-34500)</p>
<p>* クラスタリングコンポーネントのクラウドメンバーシップにおいて、ログファイルへの機密情報挿入の脆弱性により、Kubernetes のベアラートークンが漏洩する可能性がありました。(CVE-2026-34487)</p>
<p>* CVE-2026-29146 の修正における不備により、EncryptInterceptor がバイパスされる問題がありました。(CVE-2026-34486)</p>
<p>* Connector 属性の relaxedPathChars および/または relaxedQueryChars にデフォルト以外の値が設定されている場合、エスケープ処理が不完全となり、JSON アクセスログへ任意の JSON を注入できる問題がありました。(CVE-2026-34483)</p>
<h2>不具合修正(Catalina)</h2>
<p>* アクセスログにおいて、URI およびクエリ文字列のエスケープが追加されました。</p>
<h2>不具合修正(Coyote)</h2>
<p>* 無効な HEADERS フレームが受信された場合に、GOAWAY フレームなしで接続が閉じられてしまう可能性があった HTTP/2 ヘッダーフレーム解析の不具合が修正されました。</p>
<p>* NIO+TLS におけるノンブロッキングフラッシュ処理の不具合が修正され、接続が閉じられるまでレスポンスが完全に書き込まれない問題が修正されました。(69982)</p>
<p>* ストリームリセット後に、HTTP/2 リクエストヘッダー読み取りバッファが（デフォルトサイズへの復元を含めて）リセットされるようになりました。</p>
<p>* 各種 OCSP のエッジケースにおいて、OpenSSL FFM の挙動が Tomcat Native と一致するように調整されました。</p>
<h2>不具合修正(Cluster)</h2>
<p>* Kubernetes への接続試行および失敗時のログ出力の冗長性が削減されました。</p>
<p>* EncryptInterceptor におけるエラーハンドリングが改善されました。</p>
<h2>機能追加・改良(Coyote)</h2>
<p>* tomcat-native における OpenSSLEngine のバッファ再利用が、FFM コードと整合するように調整されました。</p>
<p>* トレーラーフィールドに対して、非トレーラーフィールドと同等のフィルタリングが提供されるようになりました。制御文字 (TAB を除く) およびコードポイント 255 を超える文字はスペースに置き換えられるようになりました。</p>
<h2>機能追加・改良(Other)</h2>
<p>* bnd が 7.2.3 に更新されました。</p>
<p>* フランス語翻訳が改善されました。</p>
<p>* 日本語翻訳が改善されました。</p>
<p>詳細は以下をご覧ください。</p>
<p><a href="https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.117_(remm)" target="_blank" rel="noopener">https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.117_(remm)</a><br />
<a href="https://tomcat.apache.org/security-9.html#Fixed_in_Apache_Tomcat_9.0.117" target="_blank" rel="noopener">https://tomcat.apache.org/security-9.html#Fixed_in_Apache_Tomcat_9.0.117</a></p>
<div>
<a href="https://www.sraoss.co.jp/prod_serv/support/oss-pro-support/?utm_source=sraoss-techblog&utm_medium=referral&utm_campaign=under-article-oss" rel="noopener" style="color:initial;" target="_blank" class="no-ext"></p>
<div style="background-color:#DAEFF6; padding:20px; border-radius:8px; text-align:center;">
SRA OSSでは、各種OSS のサポートを提供しております。<br />
詳しくは<strong style="color:#2581c4;">弊社ホームページ</strong>をご覧ください。
</div>
<p></a>
</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Tomcat 10.1.54 のリリースノート</title>
		<link>https://www.sraoss.co.jp/tech-blog/tomcat/rn-10-1-54/</link>
		
		<dc:creator><![CDATA[基盤技術グループ]]></dc:creator>
		<pubDate>Fri, 24 Apr 2026 05:45:31 +0000</pubDate>
				<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[Tomcat 10.1]]></category>
		<category><![CDATA[Tomcat 10.1.53]]></category>
		<category><![CDATA[Tomcat 10.1.54]]></category>
		<category><![CDATA[アップデート]]></category>
		<guid isPermaLink="false">https://www.sraoss.co.jp/tech-blog/?p=20554</guid>

					<description><![CDATA[このドキュメントは 2026 年 4 月 2 日にリリースされた Tomcat 10.1.54 のリリースノートの日本語訳です。 ダウンロードは Tomcat ダウンロードより行えます。 以下はリリースの詳細と、最新情報 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>このドキュメントは 2026 年 4 月 2 日にリリースされた <a href="https://tomcat.apache.org/tomcat-10.1-doc/changelog.html#Tomcat_10.1.54_(schultz)" target="_blank" rel="noopener noreferrer">Tomcat 10.1.54 のリリースノート</a>の日本語訳です。<br />
ダウンロードは <a href="https://tomcat.apache.org/download-10.cgi" target="_blank" rel="noopener noreferrer">Tomcat ダウンロード</a>より行えます。<br />
以下はリリースの詳細と、最新情報およびドキュメントを補足するその他情報について記載しています。</p>
<p><span id="more-20554"></span></p>
<h2>脆弱性修正</h2>
<p>* FFM が使用され、かつソフトフェイルが無効化されている場合でも、一部のシナリオにおいて CLIENT_CERT 認証が期待どおり失敗しない問題がありました。(CVE-2026-34500)</p>
<p>* クラスタリングコンポーネントのクラウドメンバーシップにおいて、ログファイルへの機密情報挿入の脆弱性により、Kubernetes のベアラートークンが漏洩する可能性がありました。(CVE-2026-34487)</p>
<p>* CVE-2026-29146 の修正における不備により、EncryptInterceptor がバイパスされる問題がありました。(CVE-2026-34486)</p>
<p>* Connector 属性の relaxedPathChars および/または relaxedQueryChars にデフォルト以外の値が設定されている場合、エスケープ処理が不完全となり、JSON アクセスログへ任意の JSON を注入できる問題がありました。(CVE-2026-34483)</p>
<h2>不具合修正(Catalina)</h2>
<p>* アクセスログにおいて、URI およびクエリ文字列のエスケープが追加されました。</p>
<h2>不具合修正(Coyote)</h2>
<p>* 無効な HEADERS フレームが受信された場合に、GOAWAY フレームなしで接続が閉じられてしまう可能性があった HTTP/2 ヘッダーフレーム解析の不具合が修正されました。</p>
<p>* NIO+TLS におけるノンブロッキングフラッシュ処理の不具合が修正され、接続が閉じられるまでレスポンスが完全に書き込まれない問題が修正されました。(69982)</p>
<p>* ストリームリセット後に、HTTP/2 リクエストヘッダー読み取りバッファが（デフォルトサイズへの復元を含めて）リセットされるようになりました。</p>
<p>* 各種 OCSP のエッジケースにおいて、OpenSSL FFM の挙動が Tomcat Native と一致するように調整されました。</p>
<h2>不具合修正(Cluster)</h2>
<p>* Kubernetes への接続試行および失敗時のログ出力の冗長性が削減されました。</p>
<p>* EncryptInterceptor におけるエラーハンドリングが改善されました。</p>
<h2>機能追加・改良(Coyote)</h2>
<p>* tomcat-native における OpenSSLEngine のバッファ再利用が、FFM コードと整合するように調整されました。</p>
<p>* トレーラーフィールドに対して、非トレーラーフィールドと同等のフィルタリングが提供されるようになりました。制御文字 (TAB を除く) およびコードポイント 255 を超える文字はスペースに置き換えられるようになりました。</p>
<h2>機能追加・改良(Other)</h2>
<p>* bnd が 7.2.3 に更新されました。</p>
<p>* フランス語翻訳が改善されました。</p>
<p>* 日本語翻訳が改善されました。</p>
<p>詳細は以下をご覧ください。</p>
<p><a href="https://tomcat.apache.org/tomcat-10.1-doc/changelog.html#Tomcat_10.1.54_(schultz)" target="_blank" rel="noopener">https://tomcat.apache.org/tomcat-10.1-doc/changelog.html#Tomcat_10.1.54_(schultz)</a><br />
<a href="https://tomcat.apache.org/security-10.html#Fixed_in_Apache_Tomcat_10.1.54" target="_blank" rel="noopener">https://tomcat.apache.org/security-10.html#Fixed_in_Apache_Tomcat_10.1.54</a></p>
<div>
<a href="https://www.sraoss.co.jp/prod_serv/support/oss-pro-support/?utm_source=sraoss-techblog&utm_medium=referral&utm_campaign=under-article-oss" rel="noopener" style="color:initial;" target="_blank" class="no-ext"></p>
<div style="background-color:#DAEFF6; padding:20px; border-radius:8px; text-align:center;">
SRA OSSでは、各種OSS のサポートを提供しております。<br />
詳しくは<strong style="color:#2581c4;">弊社ホームページ</strong>をご覧ください。
</div>
<p></a>
</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>VACUUM処理が阻害されるケースとその原因・検知・対策</title>
		<link>https://www.sraoss.co.jp/tech-blog/pgsql/hinderingvacuum/</link>
		
		<dc:creator><![CDATA[KitayamaTakahiro]]></dc:creator>
		<pubDate>Wed, 15 Apr 2026 04:35:24 +0000</pubDate>
				<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[VACUUM]]></category>
		<category><![CDATA[トランザクションID]]></category>
		<guid isPermaLink="false">https://www.sraoss.co.jp/tech-blog/?p=20380</guid>

					<description><![CDATA[この記事のポイント VACUUM コマンドや 自動VACUUM は成功するのだけれども（コマンド応答にもログにも ERROR などは出ないけれども）、実際にはデッドタプルが回収されない状況が発生することがあります。 VA [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>この記事のポイント</h2>
<p>VACUUM コマンドや 自動VACUUM は成功するのだけれども（コマンド応答にもログにも ERROR などは出ないけれども）、実際にはデッドタプルが回収されない状況が発生することがあります。<br />
VACUUMが期待通りに動作しない場合、以下を確認することで原因特定が可能です。</p>
<ul>
<li>ログに「are dead but not yet removable」が出ているか(*)</li>
<li>ログの「removable cutoff / oldest xmin」の数字が進んでいないか(*)</li>
<li>以下のビューを確認する(ストリーミングレプリケーション環境の場合はスタンバイ側も)
<ul>
<li>pg_stat_activity</li>
<li>pg_replication_slots</li>
<li>pg_prepared_xacts</li>
</ul>
</li>
</ul>
<p>主な原因は以下の3つです。</p>
<ol>
<li>ロングトランザクション</li>
<li>レプリケーションスロット</li>
<li>プリペアドトランザクション</li>
</ol>
<p>対策の本質は 「oldest xminを固定している要因を解消すること」 です。<br />
(*) log_autovacuum_min_duration パラメータを0や正の数で設定して自動VACUUM実行結果をログに出力する必要があります。</p>
<p><span id="more-20380"></span></p>
<h2>はじめに</h2>
<p>VACUUMが実行する二つの主要な処理として、削除された行(dead tuples)の領域回収と、トランザクションID(XIDと表記される)周回防止のための凍結があります。<br />
一つ目は、UPDATEやDELETEなどで削除された行(dead tuples)を回収して再利用可能な領域にする処理で、この機能が正常に働くことにより追記型のPostgreSQLで必要以上にデータベースサイズが大きくなることが防止されます。<br />
二つ目は、32bitの非負数の整数(約42億)のトランザクションID(XID)では現在のXIDから前半分が過去、後ろ半分が未来というルールで管理されています。過去の行が現在のXIDより約21億前の半分を過ぎると突然未来になって見えなくなる状況を防ぐために必要なのがトランザクションIDの凍結(FREEZE)で、凍結処理が行われた行はどのトランザクションからも見えるようになります。</p>
<p>本記事では、VACUUMによるこの二つの働きを阻害する原因、検知と対応について説明します。</p>
<h2>VACUUMによる行回収処理</h2>
<h3>PostgreSQLは「追記型」アーキテクチャ</h3>
<p>PostgreSQLデータベースの特徴として「追記型」アーキテクチャであることが挙げられます。他のデータベースではUPDATEによる行の更新方法が更新前の行を更新後の値で書き換える「書き換え型」が多く採用されていますが、PostgreSQLではUPDATE時に更新前の行のxmaxにトランザクションIDを記録して「削除された行」という印をつけておき、更新後の行を別の場所に挿入する「追記型」を採用しています。またDELETEも実行時には該当行のxmaxにトランザクションIDを記録して「削除された行」という印をつけるのみです。この方法により、削除される前から「削除された行」を参照しているトランザクションがUPDATEと並行して実行を継続することができます。</p>
<h3>VACUUMの行回収</h3>
<p>この「追記型」ゆえに発生した「削除された行(dead tuples)」の領域を回収して再利用可能な領域とするために、PostgreSQLには「VACUUM」という機能があり、あらかじめ決められた一定の条件を満たすとテーブルに対して自動的にVACUUMを実行する「自動VACUUM」がデフォルトで有効になっています。<br />
「自動VACUUM」が実行される条件が成立すると、自動VACUUMが実行されて「削除された行」が回収されて再利用可能な領域になり、次のUPDATEやINSERTなどで利用できます。この機能が有効に働くことで、PostgreSQLのファイルが無駄に肥大化し続ける状況が防げます。</p>
<h3>ロングトランザクションによる行回収処理阻害</h3>
<p>「自動VACUUM」が実行される条件が成立すると、自動VACUUMが実行されて阻害要因が無いと「削除された行」が回収されますが、「削除された行」が回収できない阻害要因が存在すると回収できない状況となります。その要因となる一番の原因が「ロングトランザクション」の存在です。「削除された行」を参照しているトランザクションが長時間実行され続ける「ロングトランザクション」が存在して回収を阻害している状況では、自動VACUUMを実行しても「削除された行」が回収できません。その状況では、自動VACUUMの実行が完了しても「削除された行」が回収できないためまた自動VACUUMが実行され、回収できない阻害要因を排除するまで無駄な自動VACUUMの実行が繰り返し行われてしまいます。この状況がずっと続くと、「トランザクションIDの周回問題」が発生してしまう深刻な状況に陥ります。</p>
<p>&nbsp;</p>
<h2>トランザクションID(XID)の周回問題</h2>
<h3>トランザクションIDの凍結処理と阻害された時の影響</h3>
<p>PostgreSQLのトランザクションID(XID)は32bitの非負数で約42億と循環する値で管理されており、基準となるXIDより古い値の21億が過去、基準点となるXIDより新しい値の21億が未来となっています。基準となるXIDより古い値の21億よりも値が古くなると(XIDが進むと)、突然未来となってしまい基準となるXIDから見ると未来の範囲に入るため、該当行が見えなくなってしまいます。そのため、XIDが21億進んでしまうまでの間に、VACUUMによる凍結(FREEZE)処理が必要となります。具体的は、行が作成された時のXIDが記録されるxminに凍結した印をつける処理をします。この処理が進まない場合、データベース内で凍結されていないXIDの下限値であるdatfrozenxidから現在のトランザクションIDまでのトランザクション数を計算するage(datfrozenxid)が増加し続けて、最悪の場合データベースが参照のみとなり更新不可の状態となります。</p>
<p>この問題の詳細な仕組みについては、弊社の下記のBlog記事が非常に分かりやすく整理されています。<br />
<a href="https://www.sraoss.co.jp/tech-blog/pgsql/transaction-id-wraparound/">（参考）トランザクションID周回問題について</a><br />
なお、トランザクションIDの凍結(FREEZE)処理も、削除された行(dead tuples)の回収と同様に、「古いxminが残り続けること」によって進まなくなります。そのため、ロングトランザクションなどの存在は、領域回収の阻害だけでなく、トランザクションIDの周回防止処理の遅延の原因となります。<br />
トランザクションIDの周回防止処理の阻害要因は、削除された行(dead tuples)の回収を阻害する要因と同じですので、以下では行回収阻害について説明します。</p>
<h2>行回収阻害発生時に出るログ</h2>
<p>実際にロングトランザクションが存在してVACUUMによる「削除された行(dead tuples)」の回収が阻害された時に出るログの該当箇所を下記に示します。</p>
<h3>最も着目すべきログの箇所</h3>
<p>PostgreSQL 15までとPostgreSQL 16からログ表記が変わってますので、下記では現時点でもっとも古いサポート対象メジャーバージョンのPostgreSQL 14.22でのログと、現時点でもっとも新しいサポート対象メジャーバージョンのPostgreSQL 18.3でのログを使って説明します。<br />
行回収が阻害されている場合、VACUUMのログには以下の特徴的なメッセージが出力されます。特に「are dead but not yet removable」は、行回収阻害を判断する最も重要な指標です。</p>
<pre>(PostgreSQL 14.22)
tuples: 0 removed, 1499989 remain, 500000 are dead but not yet removable, oldest xmin: 737
(PostgreSQL 18.3)
tuples: 0 removed, 1499989 remain, 500000 are dead but not yet removable
removable cutoff: 1124, which was 1 XIDs old when operation ended
</pre>
<h3>回収が阻害された行数は「are dead but not yet removable」の前の数字がその行数である</h3>
<p>行回収阻害を表すのは「are dead but not yet removable」の文字列、意味は「～は削除されているが回収(消去/再利用可能に)できない」で行回収阻害そのものを説明しています。この文字列の前にある数字(14.22も18.3も500000)が、削除されたが回収できなかった行数で、その原因はこれらの行をまだ参照する可能性がある古いトランザクション(ロングトランザクション)が残っているためです。</p>
<h3>古いトランザクションIDの表記: PostgreSQL 15までは「oldest xmin」PostgreSQL 16からは「removable cutoff」</h3>
<p>その古いトランザクションのトランザクションIDの表記は、PostgreSQL 15までは「are dead but not yet removable」と同じ行でこの後に「oldest xmin」が配置されていて、PostgreSQL 16からは「are dead but not yet removable」の次の行に「removable cutoff」が配置されています。<br />
PostgreSQL 16からは、その後に「which was NNN XIDs old when operation ended」と「removable cutoff」のXIDが、操作が終わってから現在のXIDとの差異のXIDとともに配置されています。<br />
PostgreSQLのソースコードでは、xmin horizonという単語も使われています。</p>
<h4>(参考) 実行ログ全体</h4>
<p>上記のメッセージを含むVACUUM実行全体のログは下記となります。PostgreSQL 18ではPostgreSQL 14に比べて出力される内容が増えていて、removable cutoff、frozen、visibility mapの行が追加されていることが分かります。</p>
<h5>PostgreSQL 14.22 でのメッセージ</h5>
<pre>2026-03-26 17:05:36.524 JST [14062] LOG: automatic vacuum of table "db1.public.vacuum_test": index scans: 0
pages: 0 removed, 14019 remain, 0 skipped due to pins, 0 skipped frozen
tuples: 0 removed, 1499989 remain, 500000 are dead but not yet removable, oldest xmin: 737
index scan not needed: 0 pages from table (0.00% of total) had 0 dead item identifiers removed
avg read rate: 5.784 MB/s, avg write rate: 12.032 MB/s
buffer usage: 17334 hits, 1448 misses, 3012 dirtied
WAL usage: 1 records, 0 full page images, 188 bytes
system usage: CPU: user: 0.13 s, system: 0.02 s, elapsed: 1.95 s
</pre>
<h5>PostgreSQL 18.3 でのメッセージ</h5>
<pre>2026-03-26 17:09:16.385 JST [14250] LOG: automatic vacuum of table "db1.public.vacuum_test": index scans: 0
pages: 0 removed, 14019 remain, 9347 scanned (66.67% of total), 0 eagerly scanned
tuples: 0 removed, 1499989 remain, 500000 are dead but not yet removable
removable cutoff: 1124, which was 1 XIDs old when operation ended
frozen: 0 pages from table (0.00% of total) had 0 tuples frozen
visibility map: 0 pages set all-visible, 0 pages set all-frozen (0 were all-visible)
index scan not needed: 0 pages from table (0.00% of total) had 0 dead item identifiers removed
avg read rate: 14.030 MB/s, avg write rate: 15.176 MB/s
buffer usage: 17137 hits, 1615 reads, 1747 dirtied
WAL usage: 1 records, 0 full page images, 258 bytes, 0 buffers full
system usage: CPU: user: 0.07 s, system: 0.03 s, elapsed: 0.89 s
</pre>
<h3>自動VACUUM実行ログ出力設定</h3>
<p>上記の自動VACUUMの実行状況をPostgreSQLログに出力するには、postgresql.conf で設定した値以上の時間がかかった自動VACUUM実行をログ出力するlog_autovacuum_min_durationパラメータを設定します。PostgreSQL 14までは-1(無効、まったく出さない)、PostgreSQL 15からは10min(10分)ですが、この値を0(数字のゼロ)に設定することで、すべての自動VACUUMと自動ANALYZEの実行がPostgreSQLログに記録されますので、自動VACUUMの実行状況が把握でき、削除された行回収が阻害されている時も検知が可能となります。</p>
<pre>log_autovacuum_min_duration = 0
</pre>
<p>本記事では、上記の設定値ですべての自動VACUUM/自動ANALYZEがPostgreSQLログに出力される前提としています。<br />
ちなみに、VACUUMコマンドを実行する時もVACUUM (VERBOSE)と詳細ログを出力するようにしてください。<br />
また余談となりますが、上記の設定と下記のチェックポイント実行状況をログに出力する</p>
<pre>log_checkpoints = on
</pre>
<p>の設定(PostgreSQL 15からデフォルトon)で、すべての自動VACUUM/自動ANALYZEの実行状況と、すべてのチェックポイントの実行状況を把握できますので、これらの設定値にすることをお勧めします。</p>
<h2>行回収を阻害する「oldest xmin/removable cutoff」の見つけ方とその原因</h2>
<p>VACUUMによる行回収を阻害する「oldest xmin」や「removable cutoff」を、どのように見つけるのか、また何が原因なのかについて説明します。<br />
原因としては、大きく三つあります。これらの原因はいずれも「xminを古い位置に固定してしまう」という共通点があります。<br />
1. ロングトランザクション(同一サーバ上/hot_standby_feedback = on のスタンバイ)(原因1)<br />
2. 未使用のレプリケーションスロット(原因2)<br />
3. 放置されたプリペアドトランザクション(PREPARED TRANSACTIONにより作成)(原因3)</p>
<h3>ロングトランザクション(原因その1)</h3>
<p>ロングトランザクションとは「長い」トランザクションのことですが、まずはトランザクションについて説明します。</p>
<h4>トランザクション</h4>
<p>データベースにおけるトランザクションとは、複数の処理を「不可分なひとつのまとまり」として扱う単位で、複数のすべての処理をおこなうか、処理をまったく行わないかのどちらかを保証します。一部の処理は実行され残りの処理は実行されないという状況は決して起こりません。PostgreSQLでのトランザクションの実行方法は、トランザクションを構成するSQL文をBEGINとCOMMITで囲って明示的にトランザクションを実行する方法と、自動COMMIT機能を備えたpsqlなどのツールを使って単一のSQL文を暗黙的にトランザクションとして実行する方法の二通りがあります。</p>
<h4>ロングトランザクション</h4>
<p>ロングトランザクションとは、明示的にトランザクションを実行する方法で、BEGINでトランザクションを開始してから長い時間(明示的な定義は無いですが、典型的には数時間以上もしくは1日(数日)以上)トランザクションをCOMMITやROLLBACKでコミットやロールバックせずに継続した状態が長く続いているトランザクションのことを指します。</p>
<h4>ロングトランザクションの存在による弊害</h4>
<p>ロングトランザクションなどのVACUUMを阻害する原因が存在すると、VACUUMを実行しても削除されたタプル領域の回収が出来ません。<br />
理由は、ロングトランザクションが保持する最も古いトランザクションID(oldest xmin)以降に削除されたタプル領域は、ロングトランザクションが参照している可能性があるためです。<br />
そのため、削除されたタプル領域が回収されて再び利用可能となった領域が全く無いため、そのテーブルへのINSERTやUPDATEでタプルを配置するにはテーブルが使用するファイル末尾の新規の領域を使用する必要があります。<br />
そのため、テーブルが使用するファイルサイズが肥大し続けてしまい、結果的にPostgreSQLが使用するディスク使用率が増え続けます。<br />
また、VACUUMを実行しても削除されたタプル領域の回収が出ないため、VACUUMが実行され続けてしまいますので、CPU使用率やDisk I/Oがずっと高い状況となってしまい、性能にも影響します。</p>
<h4>ロングトランザクションの検知と対策</h4>
<p>ロングトランザクションを検知する方法は、pg_stat_activityのstate列がトランザクションを開始したけれども何も処理をしていない「idle in transaction」状態が長く続く接続を見つけることです。<br />
対応は、ロングトランザクション状態のpidを見つけ出し、その接続を SELECT pg_terminate_backend(&lt;接続のpid&gt;); で強制終了することです。例えば1日以上経過した idle in transaction 状態のロングトランザクションがあれば、そのpidを引数にした SELECT pg_terminate_backend(&lt;接続のpid&gt;); で強制終了します。</p>
<p>ロングトランザクションによるVACUUMの阻害はVACUUMが実行されるサーバ上のロングトランザクションだけでなく、ストリーミングレプリケーションのスタンバイ側でhot_standby_feedback = on と設定した場合のスタンバイ側でのロングトランザクションが影響します。まずは、レプリケーションスロットを使わない場合について説明します。</p>
<pre>2026-03-26 21:19:40.572 JST [23346] LOG: automatic vacuum of table "db1.public.vacuum_test": index scans: 0
pages: 0 removed, 14019 remain, 9347 scanned (66.67% of total), 0 eagerly scanned
tuples: 0 removed, 1499989 remain, 500000 are dead but not yet removable
removable cutoff: 1131, which was 1 XIDs old when operation ended
frozen: 0 pages from table (0.00% of total) had 0 tuples frozen
visibility map: 0 pages set all-visible, 0 pages set all-frozen (0 were all-visible)
index scan not needed: 0 pages from table (0.00% of total) had 0 dead item identifiers removed
avg read rate: 4.694 MB/s, avg write rate: 17.083 MB/s
buffer usage: 17259 hits, 1493 reads, 5434 dirtied
WAL usage: 2 records, 2 full page images, 10076 bytes, 0 buffers full
system usage: CPU: user: 0.14 s, system: 0.02 s, elapsed: 2.48 s
</pre>
<p>→ tuples: に 500000 行が削除されているが整理できない状態(500000 are dead but not yet removable)と出ています。<br />
removable cutoff: 1131 に出ている 1131 が阻害している oldest xmin になります。</p>
<pre>db1=# SELECT * FROM pg_stat_activity;
 datid | datname | pid   | leader_pid | usesysid | usename  | application_name | client_addr | client_hostname | client_port |        backend_start          |          xact_start          |          query_start          |         state_change          | wait_event_type |    wait_event     | state  | backend_xid | backend_xmin | query_id |               query                     | backend_type
-------+---------+-------+------------+----------+----------+------------------+-------------+-----------------+-------------+-------------------------------+------------------------------+-------------------------------+-------------------------------+-----------------+-------------------+--------+-------------+--------------+----------+-----------------------------------------+--------------
       |         | 22943 |            | 10       | postgres | walreceiver      |             |                 | -1          | 2026-03-26 21:14:46.048588+09 |                              | 2026-03-26 21:14:46.050372+09 | 2026-03-26 21:14:46.050385+09 | Activity        | WalSenderMain     | active |             | 1131         |          | START_REPLICATION 0/60000000 TIMELINE 1 | walsender
</pre>
<p>→ レプリケーションスロットを使用しない場合、プライマリ側のpg_stat_activityでは、walsenderプロセスのbackend_xminが1131になっていることがわかります。この場合、walsenderプロセスを終了しても問題の解決とはならず、スタンバイ側から新規にストリーミングレプリケーション接続が来てbackend_xminが1131の新たなwalsenderプロセスが起動するだけです。</p>
<p>解決するには、スタンバイ側のpg_stat_activityで、backend_xminが1131のidle in transaction状態の接続を見つけ出し、そのpidを引数にpg_terminate_bakendを実行する必要があります。</p>
<pre>(スタンバイ側)
db1=# SELECT * FROM pg_stat_activity;
 datid | datname | pid   | leader_pid | usesysid | usename  | application_name | client_addr | client_hostname | client_port |        backend_start          |          xact_start         |          query_start          |         state_change         | wait_event_type |    wait_event     |         state       | backend_xid | backend_xmin | query_id |              query                | backend_type
-------+---------+-------+------------+----------+----------+------------------+-------------+-----------------+-------------+-------------------------------+-----------------------------+-------------------------------+------------------------------+-----------------+-------------------+---------------------+-------------+--------------+----------+-----------------------------------+----------------
 17009 | db1     | 23240 |            | 10       | postgres | psql             |             |                 | -1          | 2026-03-26 21:18:55.374729+09 | 2026-03-26 21:18:58.5415+09 | 2026-03-26 21:19:02.709309+09 | 2026-03-26 21:19:02.776459+09| Client          | ClientRead        | idle in transaction |             | 1131         |          | SELECT COUNT(*) FROM vacuum_test; | client backend
：(略)

db1=# SELECT pg_terminate_backend(23240);
pg_terminate_backend
----------------------
t
(1 row)

db1=# SELECT * FROM pg_stat_activity WHERE pid = 23240;
 datid | datname | pid   | leader_pid | usesysid | usename  | application_name | client_addr | client_hostname | client_port |        backend_start          |          xact_start         |          query_start          |         state_change         | wait_event_type |    wait_event     |         state       | backend_xid | backend_xmin | query_id |              query                | backend_type
-------+---------+-------+------------+----------+----------+------------------+-------------+-----------------+-------------+-------------------------------+-----------------------------+-------------------------------+------------------------------+-----------------+-------------------+---------------------+-------------+--------------+----------+-----------------------------------+----------------
(0 rows)

db1=#
</pre>
<p>→すると、VACUUMを阻害していた要因であるスタンバイ側のロングトランザクションが終了しましたので、再度VACUUMが実行された時には500000行の「削除された行(dead tuples)」の領域が無事回収されました。</p>
<pre>2026-03-26 21:34:44.148 JST [24529] LOG: automatic vacuum of table "db1.public.vacuum_test": index scans: 1
pages: 0 removed, 14019 remain, 9347 scanned (66.67% of total), 0 eagerly scanned
tuples: 500000 removed, 750064 remain, 0 are dead but not yet removable
removable cutoff: 1133, which was 0 XIDs old when operation ended
frozen: 1 pages from table (0.01% of total) had 11 tuples frozen
visibility map: 9347 pages set all-visible, 4673 pages set all-frozen (0 were all-visible)
index scan needed: 4673 pages from table (33.33% of total) had 500000 dead item identifiers removed
index "vacuum_test_pkey": pages: 4116 in total, 0 newly deleted, 0 currently deleted, 0 reusable
avg read rate: 2.484 MB/s, avg write rate: 16.056 MB/s
buffer usage: 25674 hits, 1870 reads, 12085 dirtied
WAL usage: 21431 records, 12085 full page images, 52668632 bytes, 1633 buffers full
system usage: CPU: user: 0.19 s, system: 0.17 s, elapsed: 5.88 s
</pre>
<p>次に、レプリケーションスロットを使った場合に、スタンバイ側のロングトランザクションがどのように影響するかについて説明します。</p>
<pre>2026-03-26 21:58:39.091 JST [26089] LOG: automatic vacuum of table "db1.public.vacuum_test": index scans: 0
pages: 0 removed, 14019 remain, 9347 scanned (66.67% of total), 0 eagerly scanned
tuples: 0 removed, 1253147 remain, 500000 are dead but not yet removable
removable cutoff: 1137, which was 2 XIDs old when operation ended
frozen: 0 pages from table (0.00% of total) had 0 tuples frozen
visibility map: 0 pages set all-visible, 0 pages set all-frozen (0 were all-visible)
index scan not needed: 0 pages from table (0.00% of total) had 0 dead item identifiers removed
avg read rate: 0.000 MB/s, avg write rate: 0.000 MB/s
buffer usage: 18751 hits, 0 reads, 0 dirtied
WAL usage: 1 records, 0 full page images, 258 bytes, 0 buffers full
system usage: CPU: user: 0.00 s, system: 0.07 s, elapsed: 0.34 s
</pre>
<p>→ tuples に 500000 行が削除されているが整理できない状態(500000 are dead but not yet removable)と出ています。<br />
removable cutoff: 1137 に出ている 1137 が阻害している oldest xmin になります。</p>
<p>今回は、pg_stat_activityを検索しても、1137は出てきません。</p>
<pre> datid | datname | pid   | leader_pid | usesysid | usename  | application_name | client_addr | client_hostname | client_port |        backend_start          |          xact_start          |          query_start          |         state_change          | wait_event_type |    wait_event     |         state       | backend_xid | backend_xmin | query_id |                                query                                        | backend_type
-------+---------+-------+------------+----------+----------+------------------+-------------+-----------------+-------------+-------------------------------+------------------------------+-------------------------------+-------------------------------+-----------------+-------------------+---------------------+-------------+--------------+----------+-----------------------------------------------------------------------------+----------------
 17009 | db1     | 26121 |            | 10       | postgres | psql             |             |                 | -1          | 2026-03-26 22:00:12.794388+09 | 2026-03-26 22:01:26.60796+09 | 2026-03-26 22:01:26.60796+09  | 2026-03-26 22:01:26.607966+09 |                 |                   | active              |             | 1139         |          | SELECT * FROM pg_stat_activity WHERE backend_xmin != 0 or backend_xid != 0; | client backend
(1 row)
</pre>
<p>レプリケーションスロットを使用している場合は、pg_replication_slotsを検索する必要があります。</p>
<pre>db1=# SELECT * FROM pg_replication_slots;
 slot_name | plugin | slot_type | datoid | database | temporary | active | active_pid | xmin | catalog_xmin | restart_lsn | confirmed_flush_lsn | wal_status | safe_wal_size | two_phase | two_phase_at |        inactive_since         | conflicting | invalidation_reason | failover | synced
-----------+--------+-----------+--------+----------+-----------+--------+------------+------+--------------+-------------+---------------------+------------+---------------+-----------+--------------+-------------------------------+-------------+---------------------+----------+--------
 slot1     |        | physical  |        |          | f         | t      | 24976      | 1137 |              | 0/8E267DC0  |                     | reserved   |               | f         |              |                               |             |                     | f        | f
(1 row)

db1=#
</pre>
<p>→ pg_replication_slotsのxmin列が1137となっているのが見つかりました。スタンバイ側のロングトランザクションが参照しているbackend_xminがこのxminに反映されていますので、こちらも対応は先ほどと同様に、スタンバイ側のロングトランザクションを終了させることになります。</p>
<pre>db1=# SELECT * FROM pg_stat_activity WHERE (backend_xmin != 0 or backend_xid != 0) AND pid &lt;&gt; pg_backend_pid();
 datid | datname | pid   | leader_pid | usesysid | usename  | application_name | client_addr | client_hostname | client_port |        backend_start          |          xact_start           |          query_start          |         state_change          | wait_event_type |    wait_event     |        state        | backend_xid | backend_xmin | query_id |               query               | backend_type 
-------+---------+-------+------------+----------+----------+------------------+-------------+-----------------+-------------+-------------------------------+-------------------------------+-------------------------------+-------------------------------+-----------------+-------------------+---------------------+-------------+--------------+----------+-----------------------------------+----------------
 17009 | db1     | 25106 |            | 10       | postgres | psql             |             |                 | -1          | 2026-03-26 21:51:45.786398+09 | 2026-03-26 21:51:52.469941+09 | 2026-03-26 21:51:58.301049+09 | 2026-03-26 21:51:58.357012+09 | Client          | ClientRead        | idle in transaction |             | 1137         |          | SELECT COUNT(*) FROM vacuum_test; | client backend
(1 row)

db1=# SELECT pg_terminate_backend(25106);
pg_terminate_backend
----------------------
t
(1 row)

db1=#
</pre>
<h3>未使用のレプリケーションスロット(原因その2)</h3>
<p>&nbsp;</p>
<p>レプリケーションスロットはストリーミングレプリケーションでスタンバイが使用するために必要なWALファイルが削除されないようキープしておく機能があります。<br />
レプリケーションスロットを使用するスタンバイがアクティブな場合は、スタンバイが必要なWALファイルはスタンバイに転送され続けますので、プライマリ側にWALファイルが溜まることはありませんが、<br />
先ほどのhot_standby_feedback=onの設定のスタンバイ上でロングトランザクションが存在する状態からスタンバイを停止すると、スタンバイからの接続が無いのに、xminはロングトランザクションが参照していた値(下記の例では1139)が残ってしまいます。activeがfとなっていますので使用されていない状況です。<br />
スタンバイを停止した状況が続いたり、スタンバイを使用しなくなった際にレプリケーションスロットの削除を忘れてしまうと、スタンバイが保持するxminによってVACUUMによる「削除された行(dead tuples)」の回収が出来なくなり、かつトランザクションID(XID)の凍結も出来ない状態が続きます。さらに悪いことに、レプリケーションスロットはスタンバイが使用するためのWALを保持し続けますので、スタンバイが使用しなくなったタイミング以降、pg_walディレクトリの下にWALファイルがどんどんたまり続けて最終的にはストレージの空き容量が無くなる弊害もあります。</p>
<pre>db1=# SELECT * FROM pg_replication_slots;
 slot_name | plugin | slot_type | datoid | database | temporary | active | active_pid | xmin | catalog_xmin | restart_lsn | confirmed_flush_lsn | wal_status | safe_wal_size | two_phase | two_phase_at |        inactive_since         | conflicting | invalidation_reason | failover | synced
-----------+--------+-----------+--------+----------+-----------+--------+------------+------+--------------+-------------+---------------------+------------+---------------+-----------+--------------+-------------------------------+-------------+---------------------+----------+--------
 slot1     |        | physical  |        |          | f         | f      |            | 1139 |              | 0/914DA680  |                     | reserved   |               | f         |              | 2026-03-26 22:08:48.294834+09 |             |                     | f        | f
(1 row)
</pre>
<p>上記の状況(レプリケーションスロットにxmin 1139が存在する状態)で、xid_wraparoundを使ってxidを1000000000進めたところ、先ほどのvacuum_testテーブルのVACUUMログは積極的なVACUUMを示す「aggressive」が付いたメッセージに変わりました。</p>
<pre>2026-03-26 22:21:04.193 JST [26659] LOG: automatic aggressive vacuum to prevent wraparound of table "db1.public.vacuum_test":
index scans: 0
pages: 0 removed, 14019 remain, 14019 scanned (100.00% of total), 0 eagerly scanned
tuples: 0 removed, 1500000 remain, 500000 are dead but not yet removable
removable cutoff: 1139, which was 1000000004 XIDs old when operation ended
new relfrozenxid: 1139, which is 4 XIDs ahead of previous value
frozen: 9346 pages from table (66.67% of total) had 999989 tuples frozen
visibility map: 0 pages set all-visible, 4672 pages set all-frozen (4672 were all-visible)
index scan not needed: 0 pages from table (0.00% of total) had 0 dead item identifiers removed
avg read rate: 3.869 MB/s, avg write rate: 14.969 MB/s
buffer usage: 25679 hits, 2416 reads, 9347 dirtied
WAL usage: 14019 records, 9347 full page images, 77042801 bytes, 1694 buffers full
system usage: CPU: user: 0.16 s, system: 0.06 s, elapsed: 4.87 s
2026-03-26 22:21:04.193 JST [26659] WARNING: cutoff for removing and freezing tuples is far in the past
2026-03-26 22:21:04.193 JST [26659] HINT: Close open transactions soon to avoid wraparound problems.
You might also need to commit or roll back old prepared transactions, or drop stale replication slots.
</pre>
<p>[対策]<br />
未使用のレプリケーションスロットの削除</p>
<p>上記の未使用のレプリケーションスロットであるslot1を削除します。</p>
<pre>db1=# SELECT * FROM pg_drop_replication_slot('slot1');
pg_drop_replication_slot
--------------------------

(1 row)

db1=# SELECT * FROM pg_replication_slots;
 slot_name | plugin | slot_type | datoid | database | temporary | active | active_pid | xmin | catalog_xmin | restart_lsn | confirmed_flush_lsn | wal_status | safe_wal_size | two_phase | two_phase_at |        inactive_since         | conflicting | invalidation_reason | failover | synced
-----------+--------+-----------+--------+----------+-----------+--------+------------+------+--------------+-------------+---------------------+------------+---------------+-----------+--------------+-------------------------------+-------------+---------------------+----------+--------
(0 rows)

db1=#
</pre>
<p>すると、削除できなかった500000行が削除されて(tuples: 500000 removed)、削除できなかった行は0になりました(0 are dead but not yet removable)</p>
<pre>2026-03-26 22:25:33.378 JST [27413] LOG: automatic aggressive vacuum to prevent wraparound of table "db1.public.vacuum_test":
index scans: 1
pages: 0 removed, 14019 remain, 9347 scanned (66.67% of total), 0 eagerly scanned
tuples: 500000 removed, 833358 remain, 0 are dead but not yet removable
removable cutoff: 1143, which was 1000000000 XIDs old when operation ended
new relfrozenxid: 1143, which is 4 XIDs ahead of previous value
frozen: 4674 pages from table (33.34% of total) had 500000 tuples frozen
visibility map: 9347 pages set all-visible, 9347 pages set all-frozen (0 were all-visible)
index scan needed: 4674 pages from table (33.34% of total) had 499967 dead item identifiers removed
index "vacuum_test_pkey": pages: 4116 in total, 0 newly deleted, 0 currently deleted, 0 reusable
avg read rate: 3.471 MB/s, avg write rate: 18.201 MB/s
buffer usage: 25789 hits, 1755 reads, 9203 dirtied
WAL usage: 26106 records, 12086 full page images, 52913197 bytes, 2741 buffers full
system usage: CPU: user: 0.30 s, system: 0.07 s, elapsed: 3.95 s
</pre>
<h3>放置されたプリペアドトランザクション(原因3)</h3>
<p>プリペアドトランザクション（PREPARE TRANSACTION）は、2フェーズコミットで使用されるトランザクションであり、COMMIT PREPARED または ROLLBACK PREPARED が実行されるまでトランザクションが完了しません。<br />
そのため、長期間放置されたプリペアドトランザクションは、xminを保持し続け、VACUUMによる行回収を阻害する原因となります。</p>
<p>postgresql.confでmax_prepated_transactions=10と設定し再起動します。<br />
その後、下記のSQLを端末1で実行します。</p>
<pre>db1=# BEGIN;
BEGIN
db1=*# PREPARE TRANSACTION 'transaction1';
PREPARE TRANSACTION
db1=#
</pre>
<p>別の端末2で下記の更新を実行します。</p>
<pre>db1=# UPDATE vacuum_test
SET data = md5(random()::text)
WHERE id &lt;= 500000;
UPDATE 500000
db1=#
</pre>
<p>VACUUMのログは下記のようになります。削除された行の500000行が回収できない、removable cutoffは1000001143と出ています。</p>
<pre>2026-03-26 22:36:16.987 JST [27867] LOG: automatic vacuum of table "db1.public.vacuum_test": index scans: 0
pages: 0 removed, 14019 remain, 9347 scanned (66.67% of total), 0 eagerly scanned
tuples: 0 removed, 1277823 remain, 500000 are dead but not yet removable
removable cutoff: 1000001143, which was 3 XIDs old when operation ended
frozen: 0 pages from table (0.00% of total) had 0 tuples frozen
visibility map: 0 pages set all-visible, 0 pages set all-frozen (0 were all-visible)
index scan not needed: 0 pages from table (0.00% of total) had 0 dead item identifiers removed
avg read rate: 0.000 MB/s, avg write rate: 0.000 MB/s
buffer usage: 18751 hits, 0 reads, 0 dirtied
WAL usage: 1 records, 0 full page images, 258 bytes, 0 buffers full
system usage: CPU: user: 0.06 s, system: 0.00 s, elapsed: 0.31 s
</pre>
<p>しかし、pg_stat_activityにもpg_replication_slotsにも1000001143は出てきません。</p>
<pre>db1=# SELECT * FROM pg_stat_activity WHERE (backend_xmin != 0 or backend_xid != 0) AND pid &lt;&gt; pg_backend_pid();
 datid | datname | pid   | leader_pid | usesysid | usename  | application_name | client_addr | client_hostname | client_port |        backend_start          |          xact_start           |          query_start          |         state_change          | wait_event_type |    wait_event     |        state        | backend_xid | backend_xmin | query_id |               query               | backend_type 
-------+---------+-------+------------+----------+----------+------------------+-------------+-----------------+-------------+-------------------------------+-------------------------------+-------------------------------+-------------------------------+-----------------+-------------------+---------------------+-------------+--------------+----------+-----------------------------------+----------------
(0 rows)

db1=# SELECT * FROM pg_replication_slots;
 slot_name | plugin | slot_type | datoid | database | temporary | active | active_pid | xmin | catalog_xmin | restart_lsn | confirmed_flush_lsn | wal_status | safe_wal_size | two_phase | two_phase_at |        inactive_since         | conflicting | invalidation_reason | failover | synced
-----------+--------+-----------+--------+----------+-----------+--------+------------+------+--------------+-------------+---------------------+------------+---------------+-----------+--------------+-------------------------------+-------------+---------------------+----------+--------
(0 rows)

db1=#
</pre>
<p>[対策]<br />
pg_prepared_xacts ビューを確認することで、未完了のプリペアドトランザクションを確認できます。transaction列が1000001143となっていますので、これが原因です。このプリペアドトランザクションをロールバックすることで、xminの固定は解消され、VACUUM処理が進みます。</p>
<pre>db1=# SELECT * FROM pg_prepared_xacts;
 transaction |     gid      |           prepared            |  owner   | database
-------------+--------------+-------------------------------+----------+----------
  1000001143 | transaction1 | 2026-03-26 22:33:40.521517+09 | postgres | db1
(1 row)

db1=# ROLLBACK PREPARED 'transaction1';
ROLLBACK PREPARED
db1=# SELECT * FROM pg_prepared_xacts;
 transaction |     gid      |           prepared            |  owner   | database
-------------+--------------+-------------------------------+----------+----------
(0 rows)

db1=#
</pre>
<p>VACUUMのログを確認すると、削除できなかった500000行は回収され、削除できない行の残りは0行となりました。</p>
<pre>2026-03-26 22:42:23.149 JST [28009] LOG: automatic vacuum of table "db1.public.vacuum_test": index scans: 1
pages: 0 removed, 14019 remain, 9347 scanned (66.67% of total), 0 eagerly scanned
tuples: 500000 removed, 750102 remain, 0 are dead but not yet removable
removable cutoff: 1000001146, which was 0 XIDs old when operation ended
new relfrozenxid: 1000001144, which is 1 XIDs ahead of previous value
frozen: 2 pages from table (0.01% of total) had 74 tuples frozen
visibility map: 9347 pages set all-visible, 4674 pages set all-frozen (0 were all-visible)
index scan needed: 4673 pages from table (33.33% of total) had 499967 dead item identifiers removed
index "vacuum_test_pkey": pages: 4116 in total, 0 newly deleted, 0 currently deleted, 0 reusable
avg read rate: 1.675 MB/s, avg write rate: 14.766 MB/s
buffer usage: 26172 hits, 1371 reads, 12085 dirtied
WAL usage: 21432 records, 12085 full page images, 52668618 bytes, 4692 buffers full
</pre>
<h2>まとめ</h2>
<p>最初に「この記事のポイント」でお伝えした内容を繰り返します。</p>
<p>VACUUMが期待通りに動作しない場合、以下を確認することで原因特定が可能です。</p>
<ul>
<li>ログに「are dead but not yet removable」が出ているか</li>
<li>ログの「removable cutoff / oldest xmin」の数字が進んでいないか</li>
<li>以下のビューを確認する(ストリーミングレプリケーション環境の場合はスタンバイ側も)
<ul>
<li>pg_stat_activity</li>
<li>pg_replication_slots</li>
<li>pg_prepared_xacts</li>
</ul>
</li>
</ul>
<p>主な原因は以下の3つです。</p>
<ol>
<li>ロングトランザクション</li>
<li>レプリケーションスロット</li>
<li>プリペアドトランザクション</li>
</ol>
<p>対策の本質は 「xminを固定している要因を解消すること」 です。</p>
<h2>(おまけ)検証方法</h2>
<p>端末1でdb1に接続して、下記のSQL文を実行します。</p>
<pre>db1=# CREATE TABLE vacuum_test (
id bigserial PRIMARY KEY,
data text
);

INSERT INTO vacuum_test(data)
SELECT md5(i::text)
FROM generate_series(1, 1000000) i;

VACUUM (ANALYZE,VERBOSE) vacuum_test;
</pre>
<p>実行ログは下記の通りです。</p>
<pre>CREATE TABLE
INSERT 0 1000000
INFO: vacuuming "db1.public.vacuum_test"
INFO: finished vacuuming "db1.public.vacuum_test": index scans: 0
pages: 0 removed, 9346 remain, 9346 scanned (100.00% of total), 0 eagerly scanned
tuples: 0 removed, 1000000 remain, 0 are dead but not yet removable
removable cutoff: 1134, which was 2 XIDs old when operation ended
frozen: 0 pages from table (0.00% of total) had 0 tuples frozen
visibility map: 0 pages set all-visible, 0 pages set all-frozen (0 were all-visible)
index scan not needed: 0 pages from table (0.00% of total) had 0 dead item identifiers removed
avg read rate: 0.000 MB/s, avg write rate: 0.344 MB/s
buffer usage: 18714 hits, 0 reads, 2 dirtied
WAL usage: 3 records, 2 full page images, 16740 bytes, 0 buffers full
system usage: CPU: user: 0.03 s, system: 0.00 s, elapsed: 0.04 s
INFO: vacuuming "db1.pg_toast.pg_toast_17023"
INFO: finished vacuuming "db1.pg_toast.pg_toast_17023": index scans: 0
pages: 0 removed, 0 remain, 0 scanned (100.00% of total), 0 eagerly scanned
tuples: 0 removed, 0 remain, 0 are dead but not yet removable
removable cutoff: 1134, which was 2 XIDs old when operation ended
frozen: 0 pages from table (100.00% of total) had 0 tuples frozen
visibility map: 0 pages set all-visible, 0 pages set all-frozen (0 were all-visible)
index scan not needed: 0 pages from table (100.00% of total) had 0 dead item identifiers removed
avg read rate: 12.245 MB/s, avg write rate: 0.000 MB/s
buffer usage: 25 hits, 1 reads, 0 dirtied
WAL usage: 1 records, 0 full page images, 258 bytes, 0 buffers full
system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s
INFO: analyzing "public.vacuum_test"
INFO: "vacuum_test": scanned 9346 of 9346 pages, containing 1000000 live rows and 0 dead rows; 30000 rows in sample, 1000000 estimated total rows
INFO: finished analyzing table "db1.public.vacuum_test"
avg read rate: 0.638 MB/s, avg write rate: 0.957 MB/s
buffer usage: 9478 hits, 4 reads, 6 dirtied
WAL usage: 10 records, 5 full page images, 23354 bytes, 0 buffers full
system usage: CPU: user: 0.04 s, system: 0.00 s, elapsed: 0.04 s
VACUUM
db1=#
</pre>
<p>次に、別の端末2を立ち上げてdb1に接続し、REPEATABLE READ レベルでトランザクションを開始、先ほど作成したvacuum_testテーブルを参照して放置します。idle in transaction状態となります。</p>
<pre>db1=# BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
BEGIN
db1=* # SELECT COUNT(*) FROM vacuum_test;
count
---------
1000000
(1 row)

db1=*#
</pre>
<p>元の端末1に戻って、500000件UPDATEします。すると「削除された行(dead tuples)」が500000行発生し、自動VACUUMが実行されます。</p>
<pre>db1=# UPDATE vacuum_test
SET data = md5(random()::text)
WHERE id &lt;= 500000;
UPDATE 500000
db1=#
</pre>
<p>しかし、端末2のidle状態のトランザクションにより、「削除された行(dead tuples)」は回収されずに残ったままとなります。この端末2のidle状態のトランザクション(idle in transaction)が長い間続くとロングトランザクションと呼ばれます。</p>
<div>
<a href="https://www.sraoss.co.jp/prod_serv/support/pgsql-mainte/?utm_source=sraoss-techblog&utm_medium=referral&utm_campaign=under-article-pgsql" rel="noopener" style="color:initial;" target="_blank" class="no-ext"></p>
<div style="background-color:#DAEFF6; padding:20px; border-radius:8px; text-align:center;">
SRA OSSでは、PostgreSQL/Pgpool-II のサポートを提供しております。<br />
詳しくは<strong style="color:#2581c4;">弊社ホームページ</strong>をご覧ください。
</div>
<p></a>
</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Zabbix 7.4.8 のリリースノート</title>
		<link>https://www.sraoss.co.jp/tech-blog/zabbix/rn-7-4-8/</link>
		
		<dc:creator><![CDATA[基盤技術グループ]]></dc:creator>
		<pubDate>Mon, 06 Apr 2026 00:44:59 +0000</pubDate>
				<category><![CDATA[Zabbix]]></category>
		<category><![CDATA[Zabbix 7.4]]></category>
		<category><![CDATA[Zabbix 7.4.7]]></category>
		<category><![CDATA[Zabbix 7.4.8]]></category>
		<category><![CDATA[アップデート]]></category>
		<guid isPermaLink="false">https://www.sraoss.co.jp/tech-blog/?p=20449</guid>

					<description><![CDATA[このドキュメントは 2026 年 03 月 13 日にリリースされた Zabbix 7.4.8 のリリースノートの日本語訳です。 ダウンロードは Zabbix ダウンロードより行えます。 以下はリリースの詳細と、最新情報 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>このドキュメントは 2026 年 03 月 13 日にリリースされた <a href="https://www.zabbix.com/jp/rn/rn7.4.8" target="_blank" rel="noopener noreferrer">Zabbix 7.4.8 のリリースノート</a>の日本語訳です。<br />
ダウンロードは <a href="https://www.zabbix.com/download" target="_blank" rel="noopener noreferrer">Zabbix ダウンロード</a>より行えます。<br />
以下はリリースの詳細と、最新情報およびドキュメントを補足するその他情報について記載しています。</p>
<p><span id="more-20449"></span></p>
<h2>不具合修正</h2>
<ul>
<li style="margin: 12px 0;">custom-on-fail の値の破棄の動作が元に戻され、エラーステートをリセットして依存アイテムを再計算するのではなく、値を正しく破棄するようになりました。[Proxy] [Server]（ZBX-27590）</li>
<li style="margin: 12px 0;">内部ログイン失敗時に SSO ユーザーを切り替える機能が追加されました。[Frontend]（ZBX-26579）</li>
<li style="margin: 12px 0;">テンプレートのリンク時のインターフェース選択が修正されました。[Proxy] [Server]（ZBX-27583）</li>
<li style="margin: 12px 0;">設定キャッシュ同期後のトリガー関連のポストプロセスが改善されました。[Server]（ZBX-27563）</li>
<li style="margin: 12px 0;">スロットリングを使用するアイテムのグラフ描画が修正されました。[Frontend]（ZBX-27423）</li>
<li style="margin: 12px 0;">自動登録時に Zabbix proxy 経由でスクリプトマクロが展開される問題が修正されました。[Proxy] [Server]（ZBX-27067）</li>
<li style="margin: 12px 0;">プレプロセッシングにおける依存アイテムのエラーメッセージのクリアに関する問題が修正されました。[Proxy] [Server]（ZBX-27406）</li>
<li style="margin: 12px 0;">「データ収集」-&gt;「ホスト」-&gt;「アイテム」、「監視データ」-&gt;「ホスト」-&gt;「グラフ」の複数タブでサブフィルターを切り替える際に、誤ったフィルターが適用される問題が修正されました。[Frontend]（ZBX-25930）</li>
<li style="margin: 12px 0;">並列リクエストで事前に所属するホスト、ユーザー、またはテンプレートが削除されていた場合に、ホスト、ユーザー、またはテンプレートグループを削除できない問題が修正されました。[API]（ZBX-27448）</li>
<li style="margin: 12px 0;">無効な UTF-8 をサニタイズすることで、エンコーディングが指定されていない log* アイテムを処理する際の正規表現ランタイムエラーが修正されました。[Agent]（ZBX-25805）</li>
<li style="margin: 12px 0;">プロキシリストにおける無効化されたホストリンクの不適切な色分けが修正されました。[Frontend]（ZBX-27225）</li>
<li style="margin: 12px 0;">リスナーが存在しない場合、マップナビゲーションツリーウィジェットでデフォルトで一部の選択された値が表示される問題が修正されました。[Frontend]（ZBX-27348）</li>
<li style="margin: 12px 0;">Teams Workflow の Webhook が ALERT.SENDTO マクロを使用するように改善されました。[Templates]（ZBX-27075）</li>
<li style="margin: 12px 0;">サーバー内でテンプレートをリンクする際、シンプルチェック、外部チェック、SSH、TELNETアイテムのインターフェース要件が削除されました。[Frontend] [Server]（ZBX-25574）</li>
<li style="margin: 12px 0;">アイテム、ホスト、またはアイテムのプロトタイプリストからアイテム、ホスト、またはテンプレートを削除する際のリダイレクトリンクが修正されました。[Frontend]（ZBX-27380）</li>
<li style="margin: 12px 0;">フィルターの「適用」および「リセット」アクション時にチェックボックスの選択状態が失われる問題が修正されました。[Frontend]（ZBX-27094）</li>
<li style="margin: 12px 0;">SNMP キャッシュのハウスキーピングがスケジューリングを中断しないように修正されました。[Proxy] [Server]（ZBX-27516）</li>
<li style="margin: 12px 0;">Zabbix agent 2 において、system.run がコマンドを正しく終了しない問題が修正されました。[Agent]（ZBX-27427）</li>
<li style="margin: 12px 0;">Galera クラスターでのコミット失敗時に Zabbix HA マネージャープロセスがクラッシュする問題が修正されました。[Server]（ZBX-27407）</li>
<li style="margin: 12px 0;">複数イベントの生成時に、新しいイベントで変更ログエントリが生成されないように修正されました。[Server]（ZBX-27460）</li>
<li style="margin: 12px 0;">HP-UX 11.23 (ia64) での Zabbix agent のコンパイルに関する問題が修正されました。[Agent]（ZBX-27305）</li>
<li style="margin: 12px 0;">エラーメッセージの詳細を非表示/展開する際にダイアログが正しくリサイズされない問題が修正されました。[Frontend]（ZBX-27419）</li>
<li style="margin: 12px 0;">アイテム、アイテムのプロトタイプ、トリガー、トリガーのプロトタイプのバリデーションルールが修正されました。[Frontend]（ZBX-26503）</li>
<li style="margin: 12px 0;">「テンプレートグループの作成」および「ホストグループの作成」のドキュメントリンクが更新されました。[Frontend]（ZBX-26984）</li>
<li style="margin: 12px 0;">スケジュールされたレポートの「夏時間」エラーが修正されました。[Proxy] [Server]（ZBX-27279）</li>
<li style="margin: 12px 0;">ユーザーパラメーター経由で「取得不可」を返せない問題が修正されました。[Agent] [Proxy] [Server]（ZBX-26383）</li>
<li style="margin: 12px 0;">ディスカバリの一意性基準に関するバグが修正されました。[Proxy] [Server]（ZBX-27176）</li>
<li style="margin: 12px 0;">メディアタイプのフォームで対応するラベルをクリックした際に、「SSL verify peer」および「SSL verify host」のチェックボックスが選択されない問題が修正されました。[Frontend]（ZBX-26827）</li>
</ul>
<h2>機能追加・改良</h2>
<ul>
<li style="margin: 12px 0;">zabbix_js の man ページとヘルプメッセージが更新されました。[Documentation] [Tools]（ZBXNEXT-10126）</li>
<li style="margin: 12px 0;">Meraki テンプレートのデバイスステータスマッピングが改善され、トリガーが追加されました。[Templates]（ZBXNEXT-10405）</li>
<li style="margin: 12px 0;">TimescaleDB の最大サポートバージョンが 2.25 に更新されました。[API] [Server]（ZBXNEXT-10454）</li>
</ul>
<p>詳細は以下をご覧ください。</p>
<p><a href="https://www.zabbix.com/jp/rn/rn7.4.8" target="_blank" rel="noopener">https://www.zabbix.com/jp/rn/rn7.4.8</a></p>
<p>&nbsp;</p>
<div>
<a href="https://www.sraoss.co.jp/zabbix_lp/?utm_source=sraoss-techblog&utm_medium=referral&utm_campaign=under-article-zabbix" rel="noopener" style="color:initial;" target="_blank" class="no-ext"></p>
<div style="background-color:#DAEFF6; padding:20px; border-radius:8px; text-align:center;">
SRA OSSでは、Zabbix のサポートを提供しております。<br />
詳しくは<strong style="color:#2581c4;">弊社ホームページ</strong>をご覧ください。
</div>
<p></a>
</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Zabbix 7.0.24 のリリースノート</title>
		<link>https://www.sraoss.co.jp/tech-blog/zabbix/rn-7-0-24/</link>
		
		<dc:creator><![CDATA[基盤技術グループ]]></dc:creator>
		<pubDate>Mon, 06 Apr 2026 00:44:31 +0000</pubDate>
				<category><![CDATA[Zabbix]]></category>
		<category><![CDATA[Zabbix 7.0]]></category>
		<category><![CDATA[Zabbix 7.0.23]]></category>
		<category><![CDATA[Zabbix 7.0.24]]></category>
		<category><![CDATA[アップデート]]></category>
		<guid isPermaLink="false">https://www.sraoss.co.jp/tech-blog/?p=20454</guid>

					<description><![CDATA[このドキュメントは 2026 年 03 月 13 日にリリースされた Zabbix 7.0.24 のリリースノートの日本語訳です。 ダウンロードは Zabbix ダウンロードより行えます。 以下はリリースの詳細と、最新情 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>このドキュメントは 2026 年 03 月 13 日にリリースされた <a href="https://www.zabbix.com/jp/rn/rn7.0.24" target="_blank" rel="noopener noreferrer">Zabbix 7.0.24 のリリースノート</a>の日本語訳です。<br />
ダウンロードは <a href="https://www.zabbix.com/download" target="_blank" rel="noopener noreferrer">Zabbix ダウンロード</a>より行えます。<br />
以下はリリースの詳細と、最新情報およびドキュメントを補足するその他情報について記載しています。</p>
<p><span id="more-20454"></span></p>
<h2>不具合修正</h2>
<ul>
<li style="margin: 12px 0;">custom-on-fail の値の破棄の動作が元に戻され、エラーステートをリセットして依存アイテムを再計算するのではなく、値を正しく破棄するようになりました。[Proxy] [Server]（ZBX-27590）</li>
<li style="margin: 12px 0;">内部ログイン失敗時に SSO ユーザーを切り替える機能が追加されました。[Frontend]（ZBX-26579）</li>
<li style="margin: 12px 0;">設定キャッシュ同期後のトリガー関連のポストプロセスが改善されました。[Server]（ZBX-27563）</li>
<li style="margin: 12px 0;">スロットリングを使用するアイテムのグラフ描画が修正されました。[Frontend]（ZBX-27423）</li>
<li style="margin: 12px 0;">自動登録時に Zabbix proxy 経由でスクリプトマクロが展開される問題が修正されました。[Proxy] [Server]（ZBX-27067）</li>
<li style="margin: 12px 0;">プレプロセッシングにおける依存アイテムのエラーメッセージのクリアに関する問題が修正されました。[Proxy] [Server]（ZBX-27406）</li>
<li style="margin: 12px 0;">「データ収集」→「ホスト」→「アイテム」、「監視データ」→「ホスト」→「グラフ」の複数タブでサブフィルターを切り替える際に、誤ったフィルターが適用される問題が修正されました。[Frontend]（ZBX-25930）</li>
<li style="margin: 12px 0;">無効な UTF-8 をサニタイズすることで、エンコーディングが指定されていない log* アイテムを処理する際の正規表現ランタイムエラーが修正されました。[Agent]（ZBX-25805）</li>
<li style="margin: 12px 0;">並列リクエストで事前に所属するホスト、ユーザー、またはテンプレートが削除されていた場合に、ホスト、ユーザー、またはテンプレートグループを削除できない問題が修正されました。[API]（ZBX-27448）</li>
<li style="margin: 12px 0;">Teams Workflow の Webhook が ALERT.SENDTO マクロを使用するように改善されました。[Templates]（ZBX-27075）</li>
<li style="margin: 12px 0;">アイテムまたはアイテムのプロトタイプリストからホストまたはテンプレートを削除する際のリダイレクトリンクが修正されました。[Frontend]（ZBX-27380）</li>
<li style="margin: 12px 0;">SNMP キャッシュのハウスキーピングがスケジューリングを中断しないように修正されました。[Proxy] [Server]（ZBX-27516）</li>
<li style="margin: 12px 0;">Zabbix agent 2 において、system.run がコマンドを正しく終了しない問題が修正されました。[Agent]（ZBX-27427）</li>
<li style="margin: 12px 0;">リスナーが存在しない場合、マップナビゲーションツリーウィジェットでデフォルトで一部の選択された値が表示される問題が修正されました。[Frontend]（ZBX-27348）</li>
<li style="margin: 12px 0;">複数イベントの生成時に、新しいイベントで変更ログエントリが生成されないように修正されました。[Server]（ZBX-27460）</li>
<li style="margin: 12px 0;">HP-UX 11.23 (ia64) での Zabbix agent のコンパイルに関する問題が修正されました。[Agent]（ZBX-27305）</li>
<li style="margin: 12px 0;">スケジュールされたレポートの「夏時間」エラーが修正されました。[Proxy] [Server]（ZBX-27279）</li>
<li style="margin: 12px 0;">ユーザーパラメーター経由で「取得不可」を返せない問題が修正されました。[Agent] [Proxy] [Server]（ZBX-26383）</li>
<li style="margin: 12px 0;">ディスカバリの一意性基準に関するバグが修正されました。[Proxy] [Server]（ZBX-27176）</li>
<li style="margin: 12px 0;">「テンプレートグループの作成」および「ホストグループの作成」のドキュメントリンクが更新されました。[Frontend]（ZBX-26984）</li>
<li style="margin: 12px 0;">メディアタイプのフォームで対応するラベルをクリックした際に、「SSL verify peer」および「SSL verify host」のチェックボックスが選択されない問題が修正されました。[Frontend]（ZBX-26827）</li>
<li style="margin: 12px 0;">「監視データ」→「障害」ページにおけるメッセージボックスの表示バグが修正されました。[Frontend]（ZBX-27416）</li>
</ul>
<h2>機能追加・改良</h2>
<ul>
<li style="margin: 12px 0;">zabbix_js の man ページとヘルプメッセージが更新されました。[Documentation] [Tools]（ZBXNEXT-10126）</li>
<li style="margin: 12px 0;">Meraki テンプレートのデバイスステータスマッピングが改善され、トリガーが追加されました。[Templates]（ZBXNEXT-10405）</li>
<li style="margin: 12px 0;">TimescaleDB の最大サポートバージョンが 2.25 に更新されました。[API] [Server]（ZBXNEXT-10454）</li>
</ul>
<p>詳細は以下をご覧ください。</p>
<p><a href="https://www.zabbix.com/jp/rn/rn7.0.24" target="_blank" rel="noopener">https://www.zabbix.com/jp/rn/rn7.0.24</a></p>
<p>&nbsp;</p>
<div>
<a href="https://www.sraoss.co.jp/zabbix_lp/?utm_source=sraoss-techblog&utm_medium=referral&utm_campaign=under-article-zabbix" rel="noopener" style="color:initial;" target="_blank" class="no-ext"></p>
<div style="background-color:#DAEFF6; padding:20px; border-radius:8px; text-align:center;">
SRA OSSでは、Zabbix のサポートを提供しております。<br />
詳しくは<strong style="color:#2581c4;">弊社ホームページ</strong>をご覧ください。
</div>
<p></a>
</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Zabbix 6.0.45 のリリースノート</title>
		<link>https://www.sraoss.co.jp/tech-blog/zabbix/rn-6-0-45/</link>
		
		<dc:creator><![CDATA[基盤技術グループ]]></dc:creator>
		<pubDate>Mon, 06 Apr 2026 00:43:59 +0000</pubDate>
				<category><![CDATA[Zabbix]]></category>
		<category><![CDATA[Zabbix 6.0]]></category>
		<category><![CDATA[Zabbix 6.0.44]]></category>
		<category><![CDATA[Zabbix 6.0.45]]></category>
		<category><![CDATA[アップデート]]></category>
		<guid isPermaLink="false">https://www.sraoss.co.jp/tech-blog/?p=20458</guid>

					<description><![CDATA[このドキュメントは 2026 年 03 月 10 日にリリースされた Zabbix 6.0.45 のリリースノートの日本語訳です。 ダウンロードは Zabbix ダウンロードより行えます。 以下はリリースの詳細と、最新情 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>このドキュメントは 2026 年 03 月 10 日にリリースされた <a href="https://www.zabbix.com/jp/rn/rn6.0.45" target="_blank" rel="noopener noreferrer">Zabbix 6.0.45 のリリースノート</a>の日本語訳です。<br />
ダウンロードは <a href="https://www.zabbix.com/download" target="_blank" rel="noopener noreferrer">Zabbix ダウンロード</a>より行えます。<br />
以下はリリースの詳細と、最新情報およびドキュメントを補足するその他情報について記載しています。</p>
<p><span id="more-20458"></span></p>
<h2>不具合修正</h2>
<ul>
<li style="margin: 12px 0;">無効な UTF-8 をサニタイズすることで、エンコーディングが指定されていない log* アイテムを処理する際の正規表現ランタイムエラーが修正されました。[Agent]（ZBX-25805）</li>
<li style="margin: 12px 0;">Zabbix agent 2 において、system.run がコマンドを正しく終了しない問題が修正されました。[Agent]（ZBX-27427）</li>
</ul>
<h2>機能追加・改良</h2>
<ul>
<li style="margin: 12px 0;">TimescaleDB の最大サポートバージョンが 2.25 に更新されました。[API] [Server]（ZBXNEXT-10454）</li>
</ul>
<p>詳細は以下をご覧ください。</p>
<p><a href="https://www.zabbix.com/jp/rn/rn6.0.45" target="_blank" rel="noopener">https://www.zabbix.com/jp/rn/rn6.0.45</a></p>
<p>&nbsp;</p>
<div>
<a href="https://www.sraoss.co.jp/zabbix_lp/?utm_source=sraoss-techblog&utm_medium=referral&utm_campaign=under-article-zabbix" rel="noopener" style="color:initial;" target="_blank" class="no-ext"></p>
<div style="background-color:#DAEFF6; padding:20px; border-radius:8px; text-align:center;">
SRA OSSでは、Zabbix のサポートを提供しております。<br />
詳しくは<strong style="color:#2581c4;">弊社ホームページ</strong>をご覧ください。
</div>
<p></a>
</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Tomcat 10.1.53 のリリースノート</title>
		<link>https://www.sraoss.co.jp/tech-blog/tomcat/rn-10-1-53/</link>
		
		<dc:creator><![CDATA[基盤技術グループ]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 02:40:04 +0000</pubDate>
				<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[Tomcat 10.1]]></category>
		<category><![CDATA[Tomcat 10.1.52]]></category>
		<category><![CDATA[Tomcat 10.1.53]]></category>
		<category><![CDATA[アップデート]]></category>
		<guid isPermaLink="false">https://www.sraoss.co.jp/tech-blog/?p=20426</guid>

					<description><![CDATA[このドキュメントは 2026 年 3 月 23 日にリリースされた Tomcat 10.1.53 のリリースノートの日本語訳です。 ダウンロードは Tomcat ダウンロードより行えます。 以下はリリースの詳細と、最新情 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>このドキュメントは 2026 年 3 月 23 日にリリースされた <a href="https://tomcat.apache.org/tomcat-10.1-doc/changelog.html#Tomcat_10.1.53_(schultz)" target="_blank" rel="noopener noreferrer">Tomcat 10.1.53 のリリースノート</a>の日本語訳です。<br />
ダウンロードは <a href="https://tomcat.apache.org/download-10.cgi" target="_blank" rel="noopener noreferrer">Tomcat ダウンロード</a>より行えます。<br />
以下はリリースの詳細と、最新情報およびドキュメントを補足するその他情報について記載しています。</p>
<p><span id="more-20426"></span></p>
<h2>不具合修正(Catalina)</h2>
<p>* getHeader メソッドなどを使用した際の Content-Length および Content-Type ヘッダーに関する不整合が修正されました。(69967)</p>
<p>* LoadBalancerDrainingValve におけるリダイレクト処理が改善されました。(69940)</p>
<h2>不具合修正(Coyote)</h2>
<p>* OCSP レスポンスのサイズ制限が追加されました。</p>
<p>* OpenSSL 開発ブランチとの整合性を維持するため、SSLHostConfig 要素の ciphers 属性を設定する際に、SSLv3、EXPORT、EXPORT40、EXPORT56、KRB5、kFZA、aFZA、eFZA、および FZA の各エイリアスはサポートされなくなりました。</p>
<p>* OpenSSL 開発ブランチとの整合性を維持するため、SSLHostConfig 要素の ciphers 属性を設定する際に、ARIAGCM および CBC の各エイリアスのサポートが追加されました。</p>
<p>* Connector のグループ設定において jdk.tls.namedGroups システムプロパティの値が尊重されるようになりました。</p>
<p>* TLS 1.3 対応後に無視されていた暗号スイート順序が再び尊重されるようになりました (TLS 1.3 は常に先頭)。(69964)</p>
<p>* 証明書取得失敗時に FFM コード内で x509 オブジェクトが解放されるようになりました。</p>
<p>* HPACK 例外処理が改善され、想定外の例外ではなく HpackException がスローされるようになりました。</p>
<p>* HTTP Host ヘッダーおよび :authority のポートが Long ではなく Integer に変換されるようになりました。</p>
<p>* HTTP/2 ヘッダー検証が緩和され、不正リクエスト時は接続リセットではなく適切なレスポンスが返るようになりました。</p>
<p>* chunked 転送エンコーディングの拡張の検証が追加されました。</p>
<p>* OCSP TRY_LATER 応答の FFM 処理が Tomcat Native と一致するよう修正されました。</p>
<p>* FFM コードにおいて、SSL_CTX_add_client_CA 呼び出し後に CA 証明書が解放されるようになりました。</p>
<p>* FFM コードにおいて、エラーが発生した場合に証明書チェーンが解放されるようになりました。</p>
<p>* FFM コードにおいて、ハンドシェイクの問題が IllegalStateException ではなく SSLException として報告されるようになりました。</p>
<p>* プロトコルホスト名の大文字小文字処理が修正されました。</p>
<h2>不具合修正(Jasper)</h2>
<p>* AstValue において PropertyNotFoundException の代わりに ArrayOutOfBoundsException が発生する問題が修正されました。(69948)</p>
<h2>不具合修正(Cluster)</h2>
<p>* Kubernetes メンバーシッププロバイダにおいて raw IPv6 がサポートされるようになりました。(69970)</p>
<h2>不具合修正(WebSocket)</h2>
<p>* DIGEST 認証ヘッダー内の不要なスペースが削除されました。(69972)</p>
<h2>機能追加・改良(Coyote)</h2>
<p>* 圧縮有効時に圧縮対象外とするエンコーディングを制御できる HTTP 設定 noCompressionEncodings が追加されました。</p>
<p>* HTTP/2 接続のクローズ時に Tomcat が送信する 2 つの最終 GOAWAY フレーム間の時間を設定できるようにするため、HTTP/2 の UpgradeProtocol 要素に drainTimeout が追加されました。(69870)</p>
<p>* APR Connector 使用時に、NIO Connector の使用を推奨する情報ログが出力されるようになりました。</p>
<p>* 単一の ciphers 設定属性から ciphers および cipherSuites の併用への移行を支援するため、ciphers 属性に指定された TLS 1.3 の暗号スイートは ciphers 属性から削除され、cipherSuites 属性の末尾に追加されるようになりました。この動作は Tomcat 12.0.x 以降で削除されます。</p>
<p>* 単体テスト用 OCSP レスポンダーが OpenSSL 依存から Bouncy Castle ベースに置き換えられました。</p>
<p>* Tomcat Native 2.x の推奨バージョンが 2.0.14 に更新されました。</p>
<h2>機能追加・改良(Jasper)</h2>
<p>* JSP コンパイル時のソース/ターゲットとして Java 27 が指定できるようになりました。これらの値をサポートしていない Eclipse JDT コンパイラのバージョンで使用した場合は、警告がログに出力され、デフォルト値が使用されるようになりました。</p>
<h2>機能追加・改良(Cluster)</h2>
<p>* EncryptInterceptor に JPA プロバイダの新しいアルゴリズム対応が追加されました。</p>
<h2>機能追加・改良(Web applications)</h2>
<p>* HTML マネージャアプリケーションのフィールドに <label> が追加されました。(69931)</label></p>
<h2>機能追加・改良(Other)</h2>
<p>* Apache Commons BCEL が 6.12.0 に更新されました。</p>
<p>* Tomcat Native が 2.0.14 に更新されました。</p>
<p>* Objenesis が 3.5 に更新されました。</p>
<p>* Byte Buddy が 1.18.7 に更新されました。</p>
<p>* BND が 7.2.1 に更新されました。</p>
<p>* フランス語翻訳が改善されました。</p>
<p>* 中国語翻訳が改善されました。</p>
<p>* 日本語翻訳が改善されました。</p>
<p>詳細は以下をご覧ください。</p>
<p><a href="https://tomcat.apache.org/tomcat-10.1-doc/changelog.html#Tomcat_10.1.53_(schultz)" target="_blank" rel="noopener">https://tomcat.apache.org/tomcat-10.1-doc/changelog.html#Tomcat_10.1.53_(schultz)</a></p>
<div>
<a href="https://www.sraoss.co.jp/prod_serv/support/oss-pro-support/?utm_source=sraoss-techblog&utm_medium=referral&utm_campaign=under-article-oss" rel="noopener" style="color:initial;" target="_blank" class="no-ext"></p>
<div style="background-color:#DAEFF6; padding:20px; border-radius:8px; text-align:center;">
SRA OSSでは、各種OSS のサポートを提供しております。<br />
詳しくは<strong style="color:#2581c4;">弊社ホームページ</strong>をご覧ください。
</div>
<p></a>
</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Tomcat 11.0.20 のリリースノート</title>
		<link>https://www.sraoss.co.jp/tech-blog/tomcat/rn-11-0-20/</link>
		
		<dc:creator><![CDATA[基盤技術グループ]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 02:38:15 +0000</pubDate>
				<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[Tomcat 11.0]]></category>
		<category><![CDATA[Tomcat 11.0.18]]></category>
		<category><![CDATA[Tomcat 11.0.20]]></category>
		<category><![CDATA[アップデート]]></category>
		<guid isPermaLink="false">https://www.sraoss.co.jp/tech-blog/?p=20431</guid>

					<description><![CDATA[このドキュメントは 2026 年 3 月 20 日にリリースされた Tomcat 11.0.20 のリリースノートの日本語訳です。 ダウンロードは Tomcat ダウンロードより行えます。 以下はリリースの詳細と、最新情 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>このドキュメントは 2026 年 3 月 20 日にリリースされた <a href="https://tomcat.apache.org/tomcat-11.0-doc/changelog.html#Tomcat_11.0.20_(markt)" target="_blank" rel="noopener noreferrer">Tomcat 11.0.20 のリリースノート</a>の日本語訳です。<br />
ダウンロードは <a href="https://tomcat.apache.org/download-11.cgi" target="_blank" rel="noopener noreferrer">Tomcat ダウンロード</a>より行えます。<br />
以下はリリースの詳細と、最新情報およびドキュメントを補足するその他情報について記載しています。</p>
<p><span id="more-20431"></span><br />
本リリースノートには Tomcat バージョン 11.0.20、11.0.19 のリリース情報が記載されています。11.0.19 は単独ではリリースされていません。</p>
<h1>11.0.20</h1>
<h2>不具合修正(Coyote)</h2>
<p>* プロトコルホスト名の大文字小文字処理が修正されました。</p>
<h1>11.0.19</h1>
<h2>不具合修正(Catalina)</h2>
<p>* getHeader メソッドなどを使用した際の Content-Length および Content-Type ヘッダーに関する不整合が修正されました。(69967)</p>
<p>* LoadBalancerDrainingValve におけるリダイレクト処理が改善されました。(69940)</p>
<h2>不具合修正(Coyote)</h2>
<p>* OCSP レスポンスのサイズ制限が追加されました。</p>
<p>* OpenSSL 開発ブランチとの整合性を維持するため、SSLHostConfig 要素の ciphers 属性を設定する際に、SSLv3、EXPORT、EXPORT40、EXPORT56、KRB5、kFZA、aFZA、eFZA、および FZA の各エイリアスはサポートされなくなりました。</p>
<p>* OpenSSL 開発ブランチとの整合性を維持するため、SSLHostConfig 要素の ciphers 属性を設定する際に、ARIAGCM および CBC の各エイリアスのサポートが追加されました。</p>
<p>* Connector のグループ設定において jdk.tls.namedGroups システムプロパティの値が尊重されるようになりました。</p>
<p>* TLS 1.3 対応後に無視されていた暗号スイート順序が再び尊重されるようになりました (TLS 1.3 は常に先頭)。(69964)</p>
<p>* 証明書取得失敗時に FFM コード内で x509 オブジェクトが解放されるようになりました。</p>
<p>* HPACK 例外処理が改善され、想定外の例外ではなく HpackException がスローされるようになりました。</p>
<p>* HTTP Host ヘッダーおよび :authority のポートが Long ではなく Integer に変換されるようになりました。</p>
<p>* HTTP/2 ヘッダー検証が緩和され、不正リクエスト時は接続リセットではなく適切なレスポンスが返るようになりました。</p>
<p>* chunked 転送エンコーディングの拡張の検証が追加されました。</p>
<p>* OCSP TRY_LATER 応答の FFM 処理が Tomcat Native と一致するよう修正されました。</p>
<p>* FFM コードにおいて、SSL_CTX_add_client_CA 呼び出し後に CA 証明書が解放されるようになりました。</p>
<p>* FFM コードにおいて、エラーが発生した場合に証明書チェーンが解放されるようになりました。</p>
<p>* FFM コードにおいて、ハンドシェイクの問題が IllegalStateException ではなく SSLException として報告されるようになりました。</p>
<h2>不具合修正(Jasper)</h2>
<p>* AstValue において PropertyNotFoundException の代わりに ArrayOutOfBoundsException が発生する問題が修正されました。(69948)</p>
<h2>不具合修正(Cluster)</h2>
<p>* Kubernetes メンバーシッププロバイダにおいて raw IPv6 がサポートされるようになりました。(69970)</p>
<h2>不具合修正(WebSocket)</h2>
<p>* DIGEST 認証ヘッダー内の不要なスペースが削除されました。(69972)</p>
<h2>機能追加・改良(Coyote)</h2>
<p>* 圧縮有効時に圧縮対象外とするエンコーディングを制御できる HTTP 設定 noCompressionEncodings が追加されました。</p>
<p>* HTTP/2 接続のクローズ時に Tomcat が送信する 2 つの最終 GOAWAY フレーム間の時間を設定できるようにするため、HTTP/2 の UpgradeProtocol 要素に drainTimeout が追加されました。(69870)</p>
<p>* Tomcat Native の最小推奨バージョンが更新され、1.3.x を利用しているユーザーには 2.0.x への更新が推奨されるようになりました。</p>
<p>* 単一の ciphers 設定属性から ciphers および cipherSuites の併用への移行を支援するため、ciphers 属性に指定された TLS 1.3 の暗号スイートは ciphers 属性から削除され、cipherSuites 属性の末尾に追加されるようになりました。この動作は Tomcat 12.0.x 以降で削除されます。</p>
<p>* 単体テスト用 OCSP レスポンダーが OpenSSL 依存から Bouncy Castle ベースに置き換えられました。</p>
<p>* Tomcat Native 2.x の推奨バージョンが 2.0.14 に更新されました。</p>
<h2>機能追加・改良(Jasper)</h2>
<p>* JSP コンパイル時のソース/ターゲットとして Java 27 が指定できるようになりました。これらの値をサポートしていない Eclipse JDT コンパイラのバージョンで使用した場合は、警告がログに出力され、デフォルト値が使用されるようになりました。</p>
<h2>機能追加・改良(Cluster)</h2>
<p>* EncryptInterceptor に JPA プロバイダの新しいアルゴリズム対応が追加されました。</p>
<h2>機能追加・改良(Web applications)</h2>
<p>* HTML マネージャアプリケーションのフィールドに <label> が追加されました。(69931)</label></p>
<h2>機能追加・改良(Other)</h2>
<p>* Apache Commons BCEL が 6.12.0 に更新されました。</p>
<p>* Eclipse JDT コンパイラが 4.39 に更新されました。</p>
<p>* Tomcat Native が 2.0.14 に更新されました。</p>
<p>* Objenesis が 3.5 に更新されました。</p>
<p>* Byte Buddy が 1.18.7 に更新されました。</p>
<p>* BND が 7.2.1 に更新されました。</p>
<p>* フランス語翻訳が改善されました。</p>
<p>* 中国語翻訳が改善されました。</p>
<p>* 日本語翻訳が改善されました。</p>
<p>詳細は以下をご覧ください。</p>
<p><a href="https://tomcat.apache.org/tomcat-11.0-doc/changelog.html#Tomcat_11.0.20_(markt)" target="_blank" rel="noopener">https://tomcat.apache.org/tomcat-11.0-doc/changelog.html#Tomcat_11.0.20_(markt)</a></p>
<div>
<a href="https://www.sraoss.co.jp/prod_serv/support/oss-pro-support/?utm_source=sraoss-techblog&utm_medium=referral&utm_campaign=under-article-oss" rel="noopener" style="color:initial;" target="_blank" class="no-ext"></p>
<div style="background-color:#DAEFF6; padding:20px; border-radius:8px; text-align:center;">
SRA OSSでは、各種OSS のサポートを提供しております。<br />
詳しくは<strong style="color:#2581c4;">弊社ホームページ</strong>をご覧ください。
</div>
<p></a>
</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Tomcat 9.0.116 のリリースノート</title>
		<link>https://www.sraoss.co.jp/tech-blog/tomcat/rn-9-0-116/</link>
		
		<dc:creator><![CDATA[基盤技術グループ]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 02:34:46 +0000</pubDate>
				<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[Tomcat 9.0]]></category>
		<category><![CDATA[Tomcat 9.0.115]]></category>
		<category><![CDATA[Tomcat 9.0.116]]></category>
		<category><![CDATA[アップデート]]></category>
		<guid isPermaLink="false">https://www.sraoss.co.jp/tech-blog/?p=20428</guid>

					<description><![CDATA[このドキュメントは 2026 年 3 月 20 日にリリースされた Tomcat 9.0.116 のリリースノートの日本語訳です。 ダウンロードは Tomcat ダウンロードより行えます。 以下はリリースの詳細と、最新情 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>このドキュメントは 2026 年 3 月 20 日にリリースされた <a href="https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.116_(remm)" target="_blank" rel="noopener noreferrer">Tomcat 9.0.116 のリリースノート</a>の日本語訳です。<br />
ダウンロードは <a href="https://tomcat.apache.org/download-90.cgi" target="_blank" rel="noopener noreferrer">Tomcat ダウンロード</a>より行えます。<br />
以下はリリースの詳細と、最新情報およびドキュメントを補足するその他情報について記載しています。</p>
<p><span id="more-20428"></span></p>
<h2>
不具合修正(Catalina)</h2>
<p>* getHeader メソッドなどを使用した際の Content-Length および Content-Type ヘッダーに関する不整合が修正されました。(69967)</p>
<p>* LoadBalancerDrainingValve におけるリダイレクト処理が改善されました。(69940)</p>
<h2>不具合修正(Coyote)</h2>
<p>* クローズ後に TLS チャネルをリセットする際、クローズ状態が変更されないよう修正されました。(69938)</p>
<p>* OCSP レスポンスのサイズ制限が追加されました。</p>
<p>* OpenSSL 開発ブランチとの整合性を維持するため、SSLHostConfig 要素の ciphers 属性を設定する際に、SSLv3、EXPORT、EXPORT40、EXPORT56、KRB5、kFZA、aFZA、eFZA、および FZA の各エイリアスはサポートされなくなりました。</p>
<p>* OpenSSL 開発ブランチとの整合性を維持するため、SSLHostConfig 要素の ciphers 属性を設定する際に、ARIAGCM および CBC の各エイリアスのサポートが追加されました。</p>
<p>* Connector のグループ設定において jdk.tls.namedGroups システムプロパティの値が尊重されるようになりました。</p>
<p>* TLS 1.3 対応後に無視されていた暗号スイート順序が再び尊重されるようになりました (TLS 1.3 は常に先頭)。(69964)</p>
<p>* 証明書取得失敗時に FFM コード内で x509 オブジェクトが解放されるようになりました。</p>
<p>* HPACK 例外処理が改善され、想定外の例外ではなく HpackException がスローされるようになりました。</p>
<p>* HTTP Host ヘッダーおよび :authority のポートが Long ではなく Integer に変換されるようになりました。</p>
<p>* HTTP/2 ヘッダー検証が緩和され、不正リクエスト時は接続リセットではなく適切なレスポンスが返るようになりました。</p>
<p>* chunked 転送エンコーディングの拡張の検証が追加されました。</p>
<p>* OCSP TRY_LATER 応答の FFM 処理が Tomcat Native と一致するよう修正されました。</p>
<p>* FFM コードにおいて、SSL_CTX_add_client_CA 呼び出し後に CA 証明書が解放されるようになりました。</p>
<p>* FFM コードにおいて、エラーが発生した場合に証明書チェーンが解放されるようになりました。</p>
<p>* FFM コードにおいて、ハンドシェイクの問題が IllegalStateException ではなく SSLException として報告されるようになりました。</p>
<p>* プロトコルホスト名の大文字小文字処理が修正されました。</p>
<h2>不具合修正(Jasper)</h2>
<p>* AstValue において PropertyNotFoundException の代わりに ArrayOutOfBoundsException が発生する問題が修正されました。(69948)</p>
<h2>不具合修正(Cluster)</h2>
<p>* Kubernetes メンバーシッププロバイダにおいて raw IPv6 がサポートされるようになりました。(69970)</p>
<h2>不具合修正(WebSocket)</h2>
<p>* DIGEST 認証ヘッダー内の不要なスペースが削除されました。(69972)</p>
<h2>機能追加・改良(Coyote)</h2>
<p>* 圧縮有効時に圧縮対象外とするエンコーディングを制御できる HTTP 設定 noCompressionEncodings が追加されました。</p>
<p>* HTTP/2 接続のクローズ時に Tomcat が送信する 2 つの最終 GOAWAY フレーム間の時間を設定できるようにするため、HTTP/2 の UpgradeProtocol 要素に drainTimeout が追加されました。(69870)</p>
<p>* APR Connector 使用時に、NIO Connector の使用を推奨する情報ログが出力されるようになりました。</p>
<p>* 単一の ciphers 設定属性から ciphers および cipherSuites の併用への移行を支援するため、ciphers 属性に指定された TLS 1.3 の暗号スイートは ciphers 属性から削除され、cipherSuites 属性の末尾に追加されるようになりました。この動作は Tomcat 12.0.x 以降で削除されます。</p>
<p>* 単体テスト用 OCSP レスポンダーが OpenSSL 依存から Bouncy Castle ベースに置き換えられました。</p>
<p>* Tomcat Native の推奨バージョンが 1.3.7 に更新されました。</p>
<h2>機能追加・改良(Jasper)</h2>
<p>* JSP コンパイル時のソース/ターゲットとして Java 27 が指定できるようになりました。これらの値をサポートしていない Eclipse JDT コンパイラのバージョンで使用した場合は、警告がログに出力され、デフォルト値が使用されるようになりました。</p>
<h2>機能追加・改良(Cluster)</h2>
<p>* EncryptInterceptor に JPA プロバイダの新しいアルゴリズム対応が追加されました。</p>
<h2>機能追加・改良(Web applications)</h2>
<p>* HTML マネージャアプリケーションのフィールドに <label> が追加されました。(69931)</label></p>
<h2>機能追加・改良(Other)</h2>
<p>* Apache Commons BCEL が 6.12.0 に更新されました。</p>
<p>* Tomcat Native が 1.3.7 に更新されました。</p>
<p>* Objenesis が 3.5 に更新されました。</p>
<p>* Byte Buddy が 1.18.7 に更新されました。</p>
<p>* BND が 7.2.1 に更新されました。</p>
<p>* フランス語翻訳が改善されました。</p>
<p>* 中国語翻訳が改善されました。</p>
<p>* 日本語翻訳が改善されました。</p>
<p>詳細は以下をご覧ください。</p>
<p><a href="https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.116_(remm)" target="_blank" rel="noopener">https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.116_(remm)</a></p>
<div>
<a href="https://www.sraoss.co.jp/prod_serv/support/oss-pro-support/?utm_source=sraoss-techblog&utm_medium=referral&utm_campaign=under-article-oss" rel="noopener" style="color:initial;" target="_blank" class="no-ext"></p>
<div style="background-color:#DAEFF6; padding:20px; border-radius:8px; text-align:center;">
SRA OSSでは、各種OSS のサポートを提供しております。<br />
詳しくは<strong style="color:#2581c4;">弊社ホームページ</strong>をご覧ください。
</div>
<p></a>
</div>

]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
