FE 設定 - ログ、サーバー、およびメタデータ
FE パラメータは、動的パラメータと静的パラメータに分類されます。
-
動的パラメータは、SQL コマンドを実行することで設定および調整でき、非常に便利です。ただし、FE を再起動すると設定が無効になります。そのため、fe.conf ファイルの設定項目も変更して、変更が失われないようにすることをお勧めします。
-
静的パラメータは、FE の設定ファイル fe.conf でのみ設定および調整できます。このファイルを変更した後、変更を有効にするには FE を再起動する必要があります。
パラメータが動的パラメータであるかどうかは、ADMIN SHOW CONFIG の出力の IsMutable 列で示されます。TRUE は動的パラメータを示します。
動的および静的 FE パラメータの両方が fe.conf ファイルで設定できることに注意してください。
FE 設定項目の表示
FE の起動後、MySQL クライアントで ADMIN SHOW FRONTEND CONFIG コマンドを実行して、パラメーター設定を確認できます。特定のパラメ ーターの設定をクエリするには、次のコマンドを実行します。
ADMIN SHOW FRONTEND CONFIG [LIKE "pattern"];
返されるフィールドの詳細な説明については、ADMIN SHOW CONFIG を参照してください。
クラスター管理関連コマンドを実行するには、管理者権限が必要です。
FE パラメーターの設定
FE 動的パラメーターの設定
ADMIN SET FRONTEND CONFIG を使用して、FE 動的パラメーターの設定を構成または変更できます。
ADMIN SET FRONTEND CONFIG ("key" = "value");
ADMIN SET FRONTEND で行った設定変更は、FE が再起動すると fe.conf ファイルのデフォルト値に戻ります。したがって、変更を永続的にしたい場合は、fe.conf の設定項目も変更することをお勧めします。
FE 静的パラメーターの設定
FE の静的パラメータは、設定ファイル fe.conf を変更し、FE を再起動して変更を反映させることで設定されます。
このトピックでは、以下の種類のFE構成について紹介します:
ログ
audit_log_delete_age
- デフォルト:30d
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:監査ログファイルの保持期間。デフォルト値
30dは、各監査ログファイルが 30 日間保持できることを指定します。StarRocks は各監査ログファイルをチェックし、30 日以上前に生成されたファイルを削除します。 - 導入時期:-
audit_log_dir
- デフォルト:
StarRocksFE.STARROCKS_HOME_DIR+ "/log" - タイプ:String
- 単位:-
- 変更可能:No
- 説明:監査ログファイルを格納するディレクトリ。
- 導入時期:-
audit_log_enable_compress
- デフォルト:false
- タイプ:Boolean
- 単位:N/A
- 変更可能:No
- 説明:true の場合、生成された Log4j2 設定は、ローテーションされた監査ログファイル名 (fe.audit.log.*) に ".gz" 接尾辞を追加し、Log4j2 がロールオーバー時に圧縮された (.gz) アーカイブ監査ログファイルを生成するようにします。この設定は、FE 起動時に Log4jConfig.initLogging で読み込まれ、監査ログの RollingFile アペンダーに適用されます。アクティブな監査ログではなく、ローテーション/アーカイブされたファイルにのみ影響します。値は起動時に初期化されるため、変更を有効にするには FE の再起動が必要です。監査ログのローテーション設定 (
audit_log_dir、audit_log_roll_interval、audit_roll_maxsize、audit_log_roll_num) とともに使用します。 - 導入時期:3.2.12
audit_log_json_format
- デフォルト:false
- タイプ:Boolean
- 単位:N/A
- 変更可能:Yes
- 説明:true の場合、FE 監査イベントは、デフォルトのパイプ区切り "key=value" 文字列ではなく、構造化された JSON (Jackson ObjectMapper が注釈付き AuditEvent フィールドの Map をシリアル化) として出力されます。この設定は、AuditLogBuilder が処理するすべての組み込み監査シンクに影響します。接続監査、クエリ監査、大容量クエリ監査 (イベントが条件を満たす場合、大容量クエリしきい値フィールドが JSON に追加されます)、および低速監査出力です。大容量クエリしきい値および "features" フィールドに注釈が付けられたフィールドは特別に扱われます (通常の監査エントリから除外され、該当する場合、大容量クエリまたは機能ログに含まれます)。これを有効にすると、ログコレクターまたは SIEM のログが機械で解析可能になります。ログ形式が変更されるため、従来のパイプ区切り形式を期待する既存のパーサーを更新する必要がある場合があります。
- 導入時期:3.2.7
audit_log_modules
- デフォルト:
slow_query, query - タイプ:String[]
- 単位:-
- 変更可能:No
- 説明:StarRocks が 監査ログエントリを生成するモジュール。デフォルトでは、StarRocks は
slow_queryモジュールとqueryモジュールの監査ログを生成します。connectionモジュールは v3.0 以降でサポートされています。モジュール名をコンマ (,) とスペースで区切ります。 - 導入時期:-
audit_log_roll_interval
- デフォルト:DAY
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:StarRocks が監査ログエントリをローテーションする時間間隔。有効な値:
DAYとHOUR。- このパラメーターが
DAYに設定されている場合、監査ログファイル名にyyyyMMdd形式のサフィックスが追加されます。 - このパラメーターが
HOURに設定されている場合、監査ログファイル名にyyyyMMddHH形式のサフィックスが追加されます。
- このパラメーターが
- 導入時期:-
audit_log_roll_num
- デフォルト:90
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:
audit_log_roll_intervalパラメーターで指定された各保持期間内に保 持できる監査ログファイルの最大数。 - 導入時期:-
bdbje_log_level
- デフォルト:INFO
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:StarRocks で Berkeley DB Java Edition (BDB JE) が使用するロギングレベルを制御します。BDB 環境の初期化中に BDBEnvironment.initConfigs() は、この値を
com.sleepycat.jeパッケージの Java ロガーと BDB JE 環境ファイルロギングレベル (EnvironmentConfig.FILE_LOGGING_LEVEL) に適用します。SEVERE、WARNING、INFO、CONFIG、FINE、FINER、FINEST、ALL、OFF などの標準的な java.util.logging.Level 名を受け入れます。ALL に設定すると、すべてのログメッセージが有効になります。詳細度を上げると、ログのボリュームが増加し、ディスク I/O とパフォーマンスに影響を与える可能性があります。この値は BDB 環境が初期化されるときに読み込まれるため、環境の (再) 初期化後にのみ有効になります。 - 導入時期:v3.2.0
big_query_log_delete_age
- デフォルト:7d
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:FE の大容量クエリログファイル (
fe.big_query.log.*) が自動 削除されるまでの保持期間を制御します。この値は、Log4j の削除ポリシーに IfLastModified age として渡されます。最終更新時刻がこの値よりも古いローテーションされた大容量クエリログは削除されます。d(日)、h(時間)、m(分)、s(秒) などの接尾辞をサポートしています。例:7d(7 日間)、10h(10 時間)、60m(60 分)、120s(120 秒)。この項目はbig_query_log_roll_intervalおよびbig_query_log_roll_numと連携して、どのファイルを保持またはパージするかを決定します。 - 導入時期:v3.2.0
big_query_log_dir
- デフォルト:
Config.STARROCKS_HOME_DIR + "/log" - タイプ:String
- 単位:-
- 変更可能:No
- 説明:FE が大容量クエリダンプログ (
fe.big_query.log.*) を書き込むディレクトリ。Log4j 設定はこのパスを使用して、fe.big_query.logとそのローテーションされたファイル用の RollingFile アペンダーを作成します。ローテーションと保持は、big_query_log_roll_interval(時刻ベースのサフィックス)、log_roll_size_mb(サイズトリガー)、big_query_log_roll_num(最大ファイル数)、およびbig_query_log_delete_age(年齢ベースの削除) によって管理されます。大容量クエリレコードは、big_query_log_cpu_second_threshold、big_query_log_scan_rows_threshold、またはbig_query_log_scan_bytes_thresholdなどのユーザー定義のしきい値を超えるクエリに対してログに記録されます。このファイルにログを記録するモジュールを制御するには、big_query_log_modulesを使用します。 - 導入時期:v3.2.0
big_query_log_modules
- デフォルト:
{"query"} - タイプ:String[]
- 単位:-
- 変更可能:No
- 説明:モジュールごとの大容量クエリロギングを有効にするモジュール名サフィックスのリスト。一般的な値は論理コンポーネント名です。たとえば、デフォルトの
queryはbig_query.queryを生成します。 - 導入時期:v3.2.0
big_query_log_roll_interval
- デフォルト:
"DAY" - タイプ:String
- 単位:-
- 変更可能:No
- 説明:
big_queryログアペンダーのローリングファイル名の日付コンポーネントを構築するために使用される時間間隔を指定します。有効な値 (大文字と小文字を区別しない) はDAY(デフォルト) とHOURです。DAYは日次パターン ("%d{yyyyMMdd}") を生成し、HOURは時間別パターン ("%d{yyyyMMddHH}") を生成します。この値は、サイズベースのロールオーバー (big_query_roll_maxsize) およびインデックスベースのロールオーバー (big_query_log_roll_num) と組み合わせて、RollingFile の filePattern を形成します。無効な値は、ログ設定の生成が失敗し (IOException)、ログの初期化または再構成を妨げる可能性があります。big_query_log_dir、big_query_roll_maxsize、big_query_log_roll_num、およびbig_query_log_delete_ageとともに使用します。 - 導入時期:v3.2.0
big_query_log_roll_num
- デフォルト:10
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:
big_query_log_roll_intervalごとに保持するローテーションされた FE 大容量クエリログファイルの最大数。この値は、fe.big_query.logの RollingFile アペンダーの DefaultRolloverStrategymax属性にバインドされます。ログが (時間またはlog_roll_size_mbによって) ロールオーバーすると、StarRocks はbig_query_log_roll_num個のインデックス付きファイル (filePattern は時刻サフィックスとインデックスを使用) を保持します。この数よりも古いファイルはロールオーバーによって削除される可能性があり、big_query_log_delete_ageは最終更 新時刻によってさらにファイルを削除できます。 - 導入時期:v3.2.0
dump_log_delete_age
- デフォルト:7d
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:ダンプログファイルの保持期間。デフォルト値
7dは、各ダンプログファイルが 7 日間保持できることを指定します。StarRocks は各ダンプログファイルをチェックし、7 日以上前に生成されたファイルを削除します。 - 導入時期:-
dump_log_dir
- デフォルト:
StarRocksFE.STARROCKS_HOME_DIR+ "/log" - タイプ:String
- 単位:-
- 変更可能:No
- 説明:ダンプログファイルを格納するディレクトリ。
- 導入時期:-
dump_log_modules
- デフォルト:query
- タイプ:String[]
- 単位:-
- 変更可能:No
- 説明:StarRocks がダンプログエントリを生成するモジュール。デフォルトでは、StarRocks はクエリモジュールのダンプログを生成します。モジュール名をコンマ (,) とスペースで区切ります。
- 導入時期:-
dump_log_roll_interval
- デフォルト:DAY
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:StarRocks がダンプログエントリをローテーションする時間間隔。有効な値:
DAYとHOUR。- このパラメーターが
DAYに設定されている場合、ダンプログファイル名にyyyyMMdd形式のサフィックスが追加されます。 - このパラメーターが
HOURに設定されている場合、ダンプログファイル名にyyyyMMddHH形式のサフィックスが追加されます。
- このパラメーターが
- 導入時期:-
dump_log_roll_num
- デフォルト:10
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:
dump_log_roll_intervalパラメーターで指定された各保持期間内に保持できるダンプログファイルの最大数。 - 導入時期:-
edit_log_write_slow_log_threshold_ms
- デフォルト:2000
- タイプ:Int
- 単位:Milliseconds
- 変更可能:Yes
- 説明:JournalWriter が低速な編集ログバッチ書き込みを検出してログに記録するために使用するしきい値 (ミリ秒)。バッチコミット後、バッチ期間がこの値を超えると、JournalWriter はバッチサイズ、期間、現在のジャーナルキューサイズを伴う WARN を出力します (約 2 秒に 1 回にレート制限)。この設定は、FE リーダーでの潜在的な I/O またはレプリケーションの遅延に対するロギング/アラートのみを制御します。コミットまたはロールの動作は変更しません (
edit_log_roll_numおよびコミット関連の設定を参照)。このしきい値に関係なく、メトリック更新は引き続き発生します。 - 導入時期:v3.2.3
enable_audit_sql
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:この項目が
trueに設定されている場合、FE 監査サブシステムは、ConnectProcessor によって処理されたステートメントの SQL テキストを FE 監査ログ (fe.audit.log) に記録します。格納されたステートメントは、他の制御に従います。暗号化された ステートメントは編集され (AuditEncryptionChecker)、enable_sql_desensitize_in_logが設定されている場合、機密性の高い資格情報は編集または非機密化される可能性があり、ダイジェストレコーディングはenable_sql_digestによって制御されます。falseに設定されている場合、ConnectProcessor は監査イベントのステートメントテキストを "?" に置き換えます。他の監査フィールド (ユーザー、ホスト、期間、ステータス、qe_slow_log_msを介した低速クエリ検出、およびメトリック) は引き続き記録されます。SQL 監査を有効にすると、フォレンジックとトラブルシューティングの可視性が向上しますが、機密性の高い SQL コンテンツが公開され、ログのボリュームと I/O が増加する可能性があります。無効にすると、監査ログでの完全なステートメントの可視性を失う代わりにプライバシーが向上します。 - 導入時期:-
enable_print_load_profile_to_log
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:
trueに設定すると、ロード profile(Stream Load、Routine Load、Broker Load、Merge Commit など)がProfileManagerにプッシュされる際に、INFO レベルで profile ログ (fe.profile.log) にも、query profile log と同じ単一行 JSON 形式で出力されます。これにより 、profile_info_reserved_numの上限によってロード profile がProfileManagerから削除された後でも、ログから復元できます。fe.logではなく profile ログを使うのは、その JSON レイアウトの文字列上限がsys_log_json_max_string_lengthよりもはるかに大きいsys_log_json_profile_max_string_lengthであり、大きなロード profile が切り詰められないためです。このファイルのローテーションと保持はprofile_log_*パラメータで制御されます。クエリタイプがLoadの profile のみが出力され、クエリ profile には影響しません。ロード profile は実際に収集された場合(例えばenable_profileが有効な場合、またはロードが大規模ロード profile のしきい値を超えた場合)にのみ出力されます。 - 導入時期:-
enable_profile_log
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:プロファイルロギングを有効にするかどうか。この機能が有効になっている場合、FE はクエリごとのプロファイルログ (ProfileManager によって生成されたシリアル化された
queryDetailJSON) をプロファイルログシンクに書き込みます。このロギングはenable_collect_query_detail_infoも有効になっている場合にのみ実行されます。enable_profile_log_compressが有効になっている場合、JSON はロギング前に gzipped されるこ とがあります。プロファイルログファイルはprofile_log_dir、profile_log_roll_num、profile_log_roll_intervalによって管理され、profile_log_delete_age(7d、10h、60m、120sなどの形式をサポート) に従ってローテーション/削除されます。この機能を無効にすると、プロファイルログの書き込みが停止します (ディスク I/O、圧縮 CPU、ストレージ使用量の削減)。 - 導入時期:v3.2.5
enable_qe_slow_log
- デフォルト:true
- タイプ:Boolean
- 単位:N/A
- 変更可能:Yes
- 説明:有効にすると、FE 組み込み監査プラグイン (AuditLogBuilder) は、測定された実行時間 ("Time" フィールド) が
qe_slow_log_msで設定されたしきい値を超えるクエリイベントを低速クエリ監査ログ (AuditLog.getSlowAudit) に書き込みます。無効にすると、これらの低速クエリエントリは抑制されます (通常のクエリおよび接続監査ログは影響を受けません)。低速監査エントリは、グローバルなaudit_log_json_format設定 (JSON とプレーン文字列) に従います。このフラグを使用して、通常の監査ロギングとは独立して低速クエリ監査ボリュームの生成を制御します。無効にすると、qe_slow_log_msが低い場合やワークロードが多くの長時間実行クエリを生成する場合にログ I/O を削減できます。 - 導入時期:3.2.11
enable_sql_desensitize_in_log
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:この項目が
trueに設定されている場合、システムはログとクエリ詳細レコードに書き込まれる前に機密性の高い SQL コンテンツを置き換えるか隠します。この設定を尊重するコードパスには、ConnectProcessor.formatStmt (監査ログ)、StmtExecutor.addRunningQueryDetail (クエリ詳細)、および SimpleExecutor.formatSQL (内部エクゼキュータログ) が含まれます。この機能が有効になっている場合、無効な SQL は固定の非機密化メッセージに置き換えられる可能性があり、資格情報 (ユーザー/パスワード) は隠され、SQL フォーマッターはサニタイズされた表現を生成する必要があります (ダイジェスト形式の出力を有効にすることもできます)。これにより、監査/内部ログでの機密リテラルや資格情報の漏洩が減少しますが、ログとクエリ詳細に元の完全な SQL テキストが含まれなくなることになります (これは再生やデバッグに影響する可能性があります)。 - 導入時期:-
internal_log_delete_age
- デフォルト:7d
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:FE 内部ログファイル (
internal_log_dirに書き込まれます) の保持期間を指定します。値は期間文字列です。サポートされている接尾辞:d(日)、h(時間)、m(分)、s(秒)。例:7d(7 日間)、10h(10 時間)、60m(60 分)、120s(120 秒)。この項目は、RollingFile Delete ポリシーで使用される<IfLastModified age="..."/>述語として log4j 設定に代入されます。最終変更時刻がこの期間よりも古いファイルは、ログのロールオーバー中に削除されます。この値を増やすとディスク領域をより早く解放できます。減らすと内部マテリアライズドビューまたは統計ログをより長く保持できます。 - 導入時期:v3.2.4
internal_log_dir
- デフォルト:
Config.STARROCKS_HOME_DIR+ "/log" - タイプ:String
- 単位:-
- 変更可能:No
- 説明:FE ロギングサブシステムが内部ログ (
fe.internal.log) を保存するために使用するディレクトリ。この設定は Log4j 設定に代入され、InternalFile アペンダーが内部/マテリアライズドビュー/統計ログを書き込む場所、およびinternal.<module>の下にあるモジュールごとのロガーがファイルを配置する場所を決定します。ディレクトリが存在し、書き込み可能であり、十分なディスク容量があることを確認してください。このディレクトリ内のファイルのログローテーションと保持は、log_roll_size_mb、internal_log_roll_num、internal_log_delete_age、およびinternal_log_roll_intervalによって制御されます。sys_log_to_consoleが有効になっている場合、内部ログはこのディレクトリではなくコンソールに書き込まれることがあります。 - 導入時期:v3.2.4
internal_log_json_format
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:この項目が
trueに設定されている場合、内部統計/監査エントリはコンパクトな JSON オブジェクトとして統計監査ロガーに書き込まれます。JSON には、"executeType" (InternalType: QUERY または DML)、"queryId"、"sql"、および "time" (経過ミリ秒) のキーが含まれます。falseに設定されている場合、同じ情報は単一のフォーマットされたテキスト行 ("statistic execute: ... | QueryId: [...] | SQL: ...") としてログに記録されます。JSON を有効にすると、機械解析とログプロセッサとの統合が向上しますが、生の SQL テキストがログに含まれるため、機密情報が公開され、ログサイズが増加する可能性があります。 - 導入時期:-
internal_log_modules
- デフォルト:
{"base", "statistic"} - タイプ:String[]
- 単位:-
- 変更可能:No
- 説明:専用の内部ロギングを受け取るモジュール識別子のリスト。各エントリ X について、Log4j はレベル INFO と additivity="false" の
internal.<X>という名前のロガーを作成します。これらのロガーは、内部アペンダー (fe.internal.logに書き込まれます) またはsys_log_to_consoleが有効になっている場合はコンソールにルーティングされます。必要に応じて短い名前またはパッケージフラグメントを使用します。正確なロガー名はinternal.+ 構成された文字列になります。内部ログファイルのローテーションと保持は、internal_log_dir、internal_log_roll_num、internal_log_delete_age、internal_log_roll_interval、およびlog_roll_size_mbに従います。モジュールを追加すると、実行時メッセージが内部ロガーストリームに分離され、デバッグと監査が容易になります。 - 導入時期:v3.2.4
internal_log_roll_interval
- デフォルト:DAY
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:FE 内部ログアペンダーの時刻ベースのロール間隔を制御します。受け入れられる値 (大文字と小文字を区別しない) は
HOURとDAYです。HOURは時間別ファイルパターン ("%d{yyyyMMddHH}") を生成し、DAYは日別ファイルパターン ("%d{yyyyMMdd}") を生成します。これらは RollingFile TimeBasedTriggeringPolicy によってローテーションされたfe.internal.logファイルに名前を付けるために使用されます。無効な値は、初期化の失敗 (アクティブな Log4j 設定の構築時に IOException がスローされます) を引き起こします。ロール動作は、internal_log_dir、internal_roll_maxsize(ソースにタイプミス、おそらくlog_roll_size_mb)、internal_log_roll_num、およびinternal_log_delete_ageなどの関連設定にも依存します。 - 導入時期:v3.2.4
internal_log_roll_num
- デフォルト:90
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:内部アペンダー (
fe.internal.log) に対して保持するローテーションされた内部 FE ログファイルの最大数。この値は Log4j DefaultRolloverStrategy のmax属性として使用されます。ロールオーバーが発生すると、StarRocks は最大でinternal_log_roll_num個のアーカイブファイルを保持し、古いフ ァイルを削除します (internal_log_delete_ageによって管理されます)。値を小さくするとディスク使用量が減りますが、ログ履歴が短くなります。値を大きくすると、より多くの履歴内部ログが保持されます。この項目は、internal_log_dir、internal_log_roll_interval、およびinternal_roll_maxsize(ソースにタイプミス、おそらくlog_roll_size_mb) と連携して機能します。 - 導入時期:v3.2.4
log_cleaner_audit_log_min_retention_days
- デフォルト:3
- タイプ:Int
- 単位:Days
- 変更可能:Yes
- 説明:監査ログファイルの最小保持日数。これよりも新しい監査ログファイルは、ディスク使用量が高くても削除されません。これにより、監査ログがコンプライアンスとトラブルシューティングの目的で保持されます。
- 導入時期:-
log_cleaner_check_interval_second
- デフォルト:300
- タイプ:Int
- 単位:Seconds
- 変更可能:Yes
- 説明:ディスク使用量をチェック し、ログをクリーンアップする間隔 (秒単位)。クリーナーは、各ログディレクトリのディスク使用量を定期的にチェックし、必要に応じてクリーンアップをトリガーします。デフォルトは 300 秒 (5 分) です。
- 導入時期:-
log_cleaner_disk_usage_target
- デフォルト:60
- タイプ:Int
- 単位:Percentage
- 変更可能:Yes
- 説明:ログクリーンアップ後の目標ディスク使用量 (パーセンテージ)。ディスク使用量がこのしきい値を下回るまでログクリーンアップが続行されます。クリーナーは、目標に達するまで最も古いログファイルを 1 つずつ削除します。
- 導入時期:-
log_cleaner_disk_usage_threshold
- デフォルト:80
- タイプ:Int
- 単位:Percentage
- 変更可能:Yes
- 説明:ログクリーンアップをトリガーするディスク使用量しきい値 (パーセンテージ)。ディスク使用量がこのしきい値を超えると、ログクリーンアップが開始されます。クリーナーは、設定された各ログディレクトリを独立してチェックし、このしき い値を超えるディレクトリを処理します。
- 導入時期:-
log_cleaner_disk_util_based_enable
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:ディスク使用量に基づく自動ログクリーンアップを有効にします。有効にすると、ディスク使用量がしきい値を超えたときにログがクリーンアップされます。ログクリーナーは FE ノードのバックグラウンドデーモンとして実行され、ログファイルの蓄積によるディスク領域の枯渇を防ぐのに役立ちます。
- 導入時期:-
log_plan_cancelled_by_crash_be
- デフォルト:true
- タイプ:boolean
- 単位:-
- 変更可能:Yes
- 説明:BE クラッシュまたは RPC 例外によりクエリがキャンセルされた場合に、クエリ実行計画のロギングを有効にするかどうか。この機能が有効になっている場合、BE クラッシュまたは
RpcExceptionによりクエリがキャンセルされたときに、StarRocks はクエリ実行計画 (TExplainLevel.COSTSレベル) を WARN エントリとしてログに記録します。ログエントリには QueryId、SQL、および COSTS 計画が含まれ、ExecuteExceptionHandler パスでは例外スタックトレースもログに記録されます。ロギングはenable_collect_query_detail_infoが有効になっている場合はスキップされます (その場合、計画はクエリ詳細に格納されます)。コードパスでは、クエリ詳細が null であることを検証することでチェックが実行されます。ExecuteExceptionHandler では、計画は最初のリトライ (retryTime == 0) のみでログに記録されることに注意してください。これを有効にすると、完全な COSTS 計画が大きくなる可能性があるため、ログのボリュームが増加する可能性があります。 - 導入時期:v3.2.0
log_register_and_unregister_query_id
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:FE が QeProcessorImpl からのクエリ登録および登録解除メッセージ (例:
"register query id = {}"および"deregister query id = {}") をログに記録することを許可するかどうか。ログは、クエリに null 以外の ConnectContext があり、コマンドがCOM_STMT_EXECUTEでないか、セッション変数isAuditExecuteStmt()が true の場合にのみ出力されます。これらのメッセージはすべてのクエリライフサイクルイベントに対して書き込まれるため 、この機能を有効にすると、ログのボリュームが大きくなり、高並行環境ではスループットのボトルネックになる可能性があります。デバッグまたは監査のために有効にし、ロギングのオーバーヘッドを減らしてパフォーマンスを向上させるために無効にします。 - 導入時期:v3.3.0, v3.4.0, v3.5.0
log_roll_size_mb
- デフォルト:1024
- タイプ:Int
- 単位:MB
- 変更可能:No
- 説明:システムログファイルまたは監査ログファイルの最大サイズ。
- 導入時期:-
proc_profile_file_retained_days
- デフォルト:1
- タイプ:Int
- 単位:Days
- 変更可能:Yes
- 説明:
sys_log_dir/proc_profile以下に生成されたプロセスプロファイリングファイル (CPU およびメモリ) の保持日数。ProcProfileCollector は、現在時刻からproc_profile_file_retained_days日を差し引いて (yyyyMMdd-HHmmss 形式で) カットオフを計算し、タイムスタンプ部分がそのカットオフよりも辞書順で早いプロファイルファイル (timePart.compareTo(timeToDelete) < 0の場合) を削除します。ファイル削除は、proc_profile_file_retained_size_bytesによって制御されるサイズベースのカットオフも尊重します。プロファイルファイルはcpu-profile-とmem-profile-というプレフィックスを使用し、収集後に圧縮されます。 - 導入時期:v3.2.12
proc_profile_file_retained_size_bytes
- デフォルト:2L * 1024 * 1024 * 1024 (2147483648)
- タイプ:Long
- 単位:Bytes
- 変更可能:Yes
- 説明:プロファイルディレクトリ下に保持される、収集された CPU およびメモリプロファイルファイル (
cpu-profile-およびmem-profile-というプレフィックスを持つファイル) の合計バイト数の最大値。有効なプロファイルファイルの合計がproc_profile_file_retained_size_bytesを超えると、コレクターは、残りの合計サイズがproc_profile_file_retained_size_bytes以下になるまで、最も古いプロファイルファイルを削除します。proc_profile_file_retained_daysよりも古いファイルもサイズに関係なく削除されます。この設定はプロファイルアーカイブのディスク使用量を制御し、proc_profile_file_retained_daysと相互作用して削除順序と保持を決定します。 - 導入時期:v3.2.12
profile_log_delete_age
- デフォルト:1d
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:FE プロファイルログファイルが削除対象となるまでの保持期間を制御します。この値は Log4j の
<IfLastModified age="..."/>ポリシー (Log4jConfig経由) に注入され、profile_log_roll_intervalやprofile_log_roll_numなどのローテーション設定と組み合わせて適用されます。サポートされる接尾辞:d(日)、h(時間)、m(分)、s(秒)。例:7d(7 日間)、10h(10 時間)、60m(60 分)、120s(120 秒)。 - 導入時期:v3.2.5
profile_log_dir
- デフォルト:
Config.STARROCKS_HOME_DIR+ "/log" - タイプ:String
- 単位:-
- 変更可能:No
- 説明:FE プロファイルログが書き込まれるディレクトリ。Log4jConfig はこの値を使用して、プロファイル関連のアペンダーを配置します (このディレクトリの下に
fe.profile.logやfe.features.logのようなファイルを作成します)。これらのファイルのローテーションと保持は、profile_log_roll_size_mb、profile_log_roll_num、profile_log_delete_ageによって管理されます。タイムスタンプのサフィックス形式はprofile_log_roll_interval(DAY または HOUR をサポート) によって制御されます。デフォルトのディレクトリはSTARROCKS_HOME_DIRの下にあるため、FE プロセスがこのディレクトリへの書き込みおよびローテーション/削除の権限を持っていることを確認してください。 - 導入時期:v3.2.5
profile_log_latency_threshold_ms
- デフォルト:0
- タイプ:Long
- 単位:Milliseconds
- 変更可能:Yes
- 説明:
fe.profile.logに書き込むクエリの最小レイテンシ(ミリ秒)。実行時間がこの値以上の場合にのみ profile を記録します。0 に設定するとすべての profile を記録します(しきい値なし)。正の値に設定すると、遅いクエリのみを記録してログ量を削減できます。 - 導入時期:-
profile_log_roll_interval
- デフォルト:DAY
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:プロファイルログファイル名の日付部分を生成するために使用される時間粒度を制御します。有効な値 (大文字と小文字を区別しない) は
HOURとDAYです。HOURは"%d{yyyyMMddHH}"(時間ごとの時間バケット) のパターンを生成し、DAYは"%d{yyyyMMdd}"(日ごとの時間バケット) を生成します。この値は Log4j 設定でprofile_file_patternを計算する際に使用され、ロールオーバーファイル名の時間ベースのコンポーネントのみに影響します。サイズベースのロールオーバーはprofile_log_roll_size_mbによって引き続き制御され、保持はprofile_log_roll_num/profile_log_delete_ageによって制御されます。無効な値は、ロギング初期化中に IOException を引き起こします (エラーメッセージ:"profile_log_roll_interval config error: <value>")。高ボリュームプロファイリングの場合はHOURを選択して 1 時間あたりのファイルサイズを制限するか、日次集計の場合はDAYを選択します。 - 導入時期:v3.2.5
profile_log_roll_num
- デフォルト:5
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:プロファイルロガーの Log4j DefaultRolloverStrategy が保持するローテーションされたプロファイルログファイルの最大数を指定します。この値は、ロギング XML に
${profile_log_roll_num}として注入されます (例:<DefaultRolloverStrategy max="${profile_log_roll_num}" fileIndex="min">)。ローテーションはprofile_log_roll_size_mbまたはprofile_log_roll_intervalによってトリガーされます。ローテーションが発生すると、Log4j は最大でこれらのインデックス付きファイルを保持し、古いインデックスファイルは削除対象となります。ディスク上での実際の保持は、profile_log_delete_ageとprofile_log_dirの場所にも影響されます。値が小さいとディスク使用量が減りますが、保持される履歴が制限されます。値が大きいと、より多くの履歴プロファイルログが保持されます。 - 導入時期:v3.2.5
profile_log_roll_size_mb
- デフォルト:1024
- タイプ:Int
- 単位:MB
- 変更可能:No
- 説明:FE プロファイルログファイルのサイズベースのロールオーバーをトリガーするサイズしきい値 (メガバイト単位) を設定します。この値は、
ProfileFileアペンダーの Log4j RollingFile SizeBasedTriggeringPolicy によって使用されます。プロファイルログがprofile_log_roll_size_mbを超えると、ローテーションされます。ローテーションは、profile_log_roll_intervalに達したときに時間によっても発生する可能性があります。いずれかの条件がロールオーバーをトリガーします。profile_log_roll_numとprofile_log_delete_ageと組み合わせることで、この項目は保持される履歴プロファイルファイルの数と古いファイルの削除時期を制御します。ローテーションされたファイルの圧縮はenable_profile_log_compressによって制御されます。 - 導入時期:v3.2.5
qe_slow_log_ms
- デフォルト:5000
- タイプ:Long
- 単位:Milliseconds
- 変更可能:Yes
- 説明:クエリが遅いクエリかどうかを判断するために使用されるしきい値。クエリの応答時間がこのしきい値を超えると、fe.audit.log に遅いクエリとして記録されます。
- 導入時期:-
slow_lock_log_l2_info_interval_ms
- デフォルト:3000L
- タイプ:Long
- 単位:Milliseconds
- 変更可能:Yes
- エイリアス:
slow_lock_log_every_ms(元の名前。後方互換性のため保持されており、両方の名前は同じパラメータを指します)。 - 説明:L2 低速ロックログ層(スタックを含まない完全なロック情報 JSON 行)の最小間隔。低速ロックログは 3 つの層に段階的に低下し、コストの高い順に厳しく絞られます:L1 = 完全情報 + スタック(
slow_lock_log_l1_stack_interval_ms)、L2 = 完全情報、スタックなし(本パラメータ)、L3 = プレーンテキストの簡易情報(slow_lock_log_l3_brief_interval_ms)。1 回の低速ロックイベントでは、現在スロットルが許可する最も詳細な層が出力されます。上位層を選ぶと下位層のウィンドウも消費されるため、総ログ量が最も緩い許可層のレートを超えることはありません。スコープは発信層によって異なります:LockManager.logSlowLockTraceではグローバル(すべての rid に対する一つの静的ゲート)、QueryableReentrantReadWriteLockではper-instance(各ロックオブジェクト——例えば各RoutineLoadJob——が独自のゲートを持つ)、レガシーLockUtils経路ではper-Database。0(または負の値)に設定すると L2 ゲートが無効になります(常に許可)。長期的な競合中にログ量を減らすには値を大きく、完全情報の診断頻度を上げるには小さく設定します。 - 導入時期:v3.2.0(
slow_lock_log_every_msとして)。v4.1 でslow_lock_log_l2_info_interval_msに改名。
slow_lock_print_stack
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:低速ロック警告で所有スレッド/現在スレッドのスタックトレースをキャプチャするかどうかのマスタースイッチ。
LockManager.logSlowLockTrace(所有者ごとの"stack"フィールド)とQueryableReentrantReadWriteLock.getLockInfoToJson(レガシー db ロック経路およびRoutineLoadJobの per-job ロックで使われる、所有者/最古 reader/現在スレッドの"stack"フィールド)の両方に適用されます。有効にするとロックを保持する正確なスレッドスタックを提供してデバッグに役立ち、無効にすると高並列環境におけるスタックトレースのキャプチャとシリアライズによるログ量・CPU/メモリオーバーヘッドを削減できます。有効時、キャプチャ頻度はさらにslow_lock_log_l1_stack_interval_msによってレート制限されます。 - 導入時期:v3.3.16, v3.4.5, v3.5.1
slow_lock_log_l1_stack_interval_ms
- デフォルト:30000
- タイプ:Long
- 単位:Milliseconds
- 変更可能:Yes
- 説明:低速ロックログイベント間でのスタックトレースキャプチャの最小間隔。
slow_lock_print_stackがtrueの場合のみ適用されます。スコープは層によって異なります:LockManager.logSlowLockTraceではグローバル(すべての rid に対する一つの静的ゲート)、QueryableReentrantReadWriteLock.getLockInfoToJsonではper-instance(各ロックオブジェクトが独自のゲートを持つ)。スイッチはオンだが前回のキャ プチャからこの間隔が経過していない場合、"stack"フィールドは LockManager 経路では"throttled"マーカーに置き換えられ、QueryableReentrantReadWriteLock 経路では省略されます。warn ログの残り(rid、owners、waiters、queryId、タイミング情報など)は外側のイベントゲート(slow_lock_log_l2_info_interval_ms)が許可する限り通常どおり出力されます。0(または負の値)に設定するとレート制限が無効になり、すべての低速ロックイベントでスタックをキャプチャする以前の動作に戻ります。Thread.getStackTraceは JVM safepoint を発動し、低速ロックイベントが頻発する大規模クラスタではコストが大きくなります — このゲートは診断ログ自体を抑制せずにそのコストを抑えます。 - 導入時期:v4.1
slow_lock_max_waiter_count_to_log
- デフォルト:30
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:単一の低速ロックログイベントでシリアライズされる waiter エントリの最大数。
LockManager.logSlowLockTrace("waiter"配列)とQueryableReentrantReadWriteLock.getLockInfoToJson(レガシー db ロック経路およびRoutineLoadJobの per-job ロックで使われる"queuedReaders"/"queuedWriters"配列)の両方に適用されます。実際の waiter 数がこの上限を超えると、最初の N 個の waiter のみが個別に列挙され、残りは配列の末尾に追加される単一のトレーラ{"omitted": "remain M waiters omitted"}で集約されます。極度の競合シナリオで Gson シリアライゼーションコストとログ行サイズを抑制しつつ、waiter 総数の診断情報を保持します。0(または負の値)に設定すると上限を無効化し、すべての waiter をシリアライズします。 - 導入時期:v4.1
slow_lock_log_l3_brief_interval_ms
- デフォルト:1000
- タイプ:Long
- 単位:Milliseconds
- 変更可能:Yes
- 説明:L3 低速ロックログ層(より詳細な層 — L1 の
slow_lock_log_l1_stack_interval_ms、L2 のslow_lock_log_l2_info_interval_ms— がスロットルされたときに出力される、単一のプレーンテキスト warn 行。JSON もスタックもなし)の最小間隔。3 層の中で最も緩い層です。簡易情報はこの間隔ごとに最大 1 回出力されます:L3 ゲートがまだ閉じているウィンドウ内に到着した低速ロックイベントは抑制されます(行なし)。イベントごとに 1 行を保証するものではなく、持続的な競合下での最大の無音時間を 1 簡易情報間隔以内に抑えるだけです。他の 2 つより小さく設定してください:slow_lock_log_l3_brief_interval_ms < slow_lock_log_l2_info_interval_ms < slow_lock_log_l1_stack_interval_ms。0(または負の値)に設定すると簡易情報は無制限になり、スロットルされたすべてのイベントが行を残します(オーバーヘッドは予測可能ですが、ストーム時には毎秒多数になる可能性があります)。スコープ規則は他の低速ロックスロットルと同じです(LockManagerはグローバル、QueryableReentrantReadWriteLockは per-instance)。 - 導入時期:v4.1
slow_lock_threshold_ms
- デフォルト:3000L
- タイプ:long
- 単位:Milliseconds
- 変更可能:Yes
- 説明:ロック操作または保持されているロックを「遅い」と分類するために使用されるしきい値 (ミリ秒)。ロックの経過待機時間または保持時間がこの値を超えると、StarRocks は (コンテキストに応じて) 診断ログを出力し、スタックトレースまたは待機者/所有者情報を含め、LockManager ではこの遅延後にデッドロック検出を開始します。これは LockUtils (低速ロックロギング)、QueryableReentrantReadWriteLock (低速リーダーのフィルタリング)、LockManager (デッドロック検出遅延と低速ロックトレース)、LockChecker (定期的な低速ロック検出)、およびその他の呼び出し元 (例: DiskAndTabletLoadReBalancer ロギング) によって使用されます。値を下げると感度とロギング/診断のオーバーヘッドが増加します。0 または負の数に設定すると、初期の待機ベースのデッドロック検出 遅延動作が無効になります。
slow_lock_log_l2_info_interval_ms、slow_lock_print_stack、およびslow_lock_stack_trace_reserve_levelsと一緒に調整します。 - 導入時期:3.2.0
sys_log_delete_age
- デフォルト:7d
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:システムログファイルの保持期間。デフォルト値
7dは、各システムログファイルが 7 日間保持できることを指定します。StarRocks は各システムログファイルをチェックし、7 日以上前に生成されたファイルを削除します。 - 導入時期:-
sys_log_dir
- デフォルト:
StarRocksFE.STARROCKS_HOME_DIR+ "/log" - タイプ:String
- 単位:-
- 変更可能:No
- 説明:システムログファイルを格納するディレクトリ。
- 導入時期:-
sys_log_enable_compress
- デフォルト:false
- タイプ:boolean
- 単位:-
- 変更可能:No
- 説明:この項目が
trueに設定されている場合、システムはローテーションされたシステムログファイル名に ".gz" 接尾辞を追加し、Log4j が gzip 圧縮されたローテーションされた FE システムログ (例: fe.log.*) を生成するようにします。この値は Log4j 設定生成時 (Log4jConfig.initLogging / generateActiveLog4jXmlConfig) に読み取られ、RollingFile の filePattern で使用されるsys_file_postfixプロパティを制御します。この機能を有効にすると、保持されるログのディスク使用量は減少しますが、ロールオーバー時の CPU と I/O が増加し、ログファイル名が変更されるため、ログを読み取るツールやスクリプトは .gz ファイルを処理できる必要があります。監査ログは圧縮に別の設定 (audit_log_enable_compress) を使用することに注意してください。 - 導入時期:v3.2.12
sys_log_format
- デフォルト:"plaintext"
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:FE ログに使用される Log4j レイアウトを選択します。有効な値:
"plaintext"(デフォルト) と"json"。値は大文字と小文字を区別しません。"plaintext"は、人間が読めるタイムスタンプ、レベル、スレッド、class.method:line、および WARN/ERROR のスタックトレースを持つ PatternLayout を構成し ます。"json"は JsonTemplateLayout を構成し、ログアグリゲーター (ELK、Splunk) に適した構造化 JSON イベント (UTC タイムスタンプ、レベル、スレッド ID/名、ソースファイル/メソッド/行、メッセージ、例外スタックトレース) を出力します。JSON 出力は、sys_log_json_max_string_lengthおよびsys_log_json_profile_max_string_lengthの最大文字列長に準拠します。 - 導入時期:v3.2.10
sys_log_json_max_string_length
- デフォルト:1048576
- タイプ:Int
- 単位:Bytes
- 変更可能:No
- 説明:JSON 形式のシステムログに使用される JsonTemplateLayout の "maxStringLength" 値を設定します。
sys_log_formatが"json"に設定されている場合、文字列値のフィールド (たとえば "message" や文字列化された例外スタックトレース) は、長さがこの制限を超えると切り捨てられます。この値は、生成された Log4j XML (Log4jConfig.generateActiveLog4jXmlConfig()内) に注入され、デフォルト、警告、監査、ダンプ、および大容量クエリレイアウトに適用されます。プロファイルレイアウトは別の設定 (sys_log_json_profile_max_string_length) を使用します。この値を小さくするとログサイズは減りますが、有用な情報が切り捨てられる可能性があります。 - 導入時期:3.2.11
sys_log_json_profile_max_string_length
- デフォルト:104857600 (100 MB)
- タイプ:Int
- 単位:Bytes
- 変更可能:No
- 説明:
sys_log_formatが "json" の場合、プロファイル (および関連機能) ログアペンダーの JsonTemplateLayout の maxStringLength を設定します。JSON 形式のプロファイルログ内の文字列フィールド値は、このバイト長に切り捨てられます。非文字列フィールドは影響を受けません。この項目は Log4jConfig のJsonTemplateLayout maxStringLengthに適用され、プレーンテキストロギングが使用されている場合は無視されます。必要な完全なメッセージに対して十分な大きさに保ちますが、値が大きいとログサイズと I/O が増加することに注意してください。 - 導入時期:v3.2.11
sys_log_level
- デフォルト:INFO
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:システムログエントリが分類される重大度レベル。有効な値:
INFO、WARN、ERROR、およびFATAL。 - 導入時期:-
sys_log_roll_interval
- デフォルト:DAY
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:StarRocks がシステムログエントリをローテーションする時間間隔。有効な値:
DAYとHOUR。- このパラメーターが
DAYに設定されている場合、システムログファイル名にyyyyMMdd形式のサフィックスが追加されます。 - このパラメーターが
HOURに設定されている場合、システムログファイル名にyyyyMMddHH形式のサフィックスが追加されます。
- このパラメーターが
- 導入時期:-
sys_log_roll_num
- デフォルト:10
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:
sys_log_roll_intervalパラメーターで指定された各保持期間内に保持できるシステムログファイルの最大数。 - 導入時期:-
sys_log_to_console
- デフォルト:false (unless the environment variable
SYS_LOG_TO_CONSOLEis set to "1") - タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:この項目が
trueに設定されている場合、システムは Log4j を設定して、すべてのログをファイルベースのアペンダーではなくコンソール (ConsoleErr アペンダー) に送信します。この値はアクティブな Log4j XML 設定を生成する際に読み取られ (ルートロガーおよびモジュールごとのロガーアペンダーの選択に影響します)、プロセス起動時にSYS_LOG_TO_CONSOLE環境変数から取得されます。実行時に変更しても効果はありません。この設定は、stdout/stderr ログ収集がログファイルの書き込みよりも優先されるコンテナ化された環境や CI 環境で一般的に使用されます。 - 導入時期:v3.2.0
sys_log_verbose_modules
- デフォルト:Empty string
- タイプ:String[]
- 単位:-
- 変更可能:No
- 説明:StarRocks がシステムログを生成するモジュール。このパラメーターが
org.apache.starrocks.catalogに設定されている場合、StarRocks はカタログモジュールのみのシステムログを生成します。モジュール名をコンマ (,) とスペースで区切ります。 - 導入時期:-
sys_log_warn_modules
- デフォルト:
- タイプ:String[]
- 単位:-
- 変更可能:No
- 説明:システムが起動時に WARN レベルのロガーとして設定し、警告アペンダー (SysWF) (
fe.warn.logファイル) にルーティングするロガー名またはパッケージプレフィックスのリスト。エントリは生成された Log4j 設定 (org.apache.kafka、org.apache.hudi、org.apache.hadoop.io.compress などの組み込み警告モジュールとともに) に挿入され、<Logger name="... " level="WARN"><AppenderRef ref="SysWF"/></Logger>のようなロガー要素を生成します。完全修飾パッケージおよびクラスプレフィックス (例: "com.example.lib") は、通常のログへのノイズの多い INFO/DEBUG 出力を抑制し、警告を個別にキャプチャできるようにするために推奨されます。 - 導入時期:v3.2.13
サーバー
enable_auth_check
- デフォルト: true
- タイプ: Boolean
- 単位: -
- 変更可能: いいえ
- 説明: 認証チェック機能を有効にするかどうかを指定します。有効な値:
TRUEおよびFALSE。TRUEはこの機能を有効に することを指定し、FALSEはこの機能を無効にすることを指定します。 - 導入バージョン: -
brpc_idle_wait_max_time
- デフォルト:10000
- タイプ:Int
- 単位:ms
- 変更可能:No
- 説明:bRPC クライアントがアイドル状態で待機する最大時間。
- 導入時期:-
brpc_inner_reuse_pool
- デフォルト:true
- タイプ:boolean
- 単位:-
- 変更可能:No
- 説明:下層の BRPC クライアントが接続/チャネルに内部共有再利用プールを使用するかどうかを制御します。StarRocks は BrpcProxy で RpcClientOptions を構築するときに
brpc_inner_reuse_poolを読み取ります (rpcOptions.setInnerResuePool(...)経由)。有効な場合 (true)、RPC クライアントは内部プールを再利用して、呼び出しごとの接続作成を減らし、FE-to-BE / LakeService RPC の接続チャーン、メモリ、ファイルディスクリプタの使用量を削減します。無効な場合 (false)、クライアントはより多くの分離されたプールを作成する可能性があります (リソース使用量が増える代わりに並行性分離を向上させます)。この値を変更す るには、プロセスを再起動して有効にする必要があります。 - 導入時期:v3.3.11, v3.4.1, v3.5.0
brpc_min_evictable_idle_time_ms
- デフォルト:120000
- タイプ:Int
- 単位:Milliseconds
- 変更可能:No
- 説明:アイドル状態の BRPC 接続が、接続プールで立ち退きの対象になるまでに残っている必要のある時間 (ミリ秒単位)。
BrpcProxyが使用する RpcClientOptions に適用されます (RpcClientOptions.setMinEvictableIdleTime 経由)。この値を上げるとアイドル接続を長く保持でき (再接続のチャーンを減らす)、下げると未使用のソケットをより速く解放できます (リソース使用量を減らす)。接続の再利用、プールの成長、立ち退きの動作のバランスを取るために、brpc_connection_pool_sizeおよびbrpc_idle_wait_max_timeとともに調整します。 - 導入時期:v3.3.11, v3.4.1, v3.5.0
brpc_reuse_addr
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:true の場合、StarRocks は、brpc RpcClient によって作成されたクライアントソケットにローカルアドレスの再利用を許 可するソケットオプションを設定します (RpcClientOptions.setReuseAddress 経由)。これを有効にすると、バインドの失敗が減り、ソケットが閉じられた後にローカルポートの再バインドが高速化され、高レートの接続チャーンや迅速な再起動に役立ちます。false の場合、アドレス/ポートの再利用は無効になり、意図しないポート共有の可能性を減らすことができますが、一時的なバインドエラーが増加する可能性があります。このオプションは、
brpc_connection_pool_sizeおよびbrpc_short_connectionによって設定される接続動作と相互作用します。これは、クライアントソケットを再バインドして再利用できる速度に影響するためです。 - 導入時期:v3.3.11, v3.4.1, v3.5.0
brpc_connection_pool_retry_wait_time_ms
- デフォルト: 10
- タイプ: Int
- 単位: ms
- 変更可能: Yes
- 説明: bRPC 接続プール例外(例: TCP ハンドシェイク時の SYN パケットロス)が発生した場合のリトライ待機時間。
ChannelPool.getChannel()がNoSuchElementException(直接、またはRuntimeExceptionでラップされた形で)をスローした場合、リトライロジックはこの時間だけスリープしてから再接続を試みます。 - 導入時期: -
cluster_name
- デフォルト:StarRocks Cluster
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:FE が属する StarRocks クラスターの名前。クラスター名は Web ページの
Titleに表示されます。 - 導入時期:-
dns_cache_ttl_seconds
- デフォルト:60
- タイプ:Int
- 単位:Seconds
- 変更可能:No
- 説明:成功した DNS ルックアップの DNS キャッシュ TTL (Time-To-Live) (秒単位)。これにより、JVM が成功した DNS ルックアップをキャッシュする期間を制御する Java セキュリティプロパティ
networkaddress.cache.ttlが設定されます。システムが常に情報をキャッシュできるようにするにはこの項目を-1に設定し、キャッシュを無効にするには0に設定します。これは、Kubernetes デプロイメントや動的 DNS が使用されている場合など、IP アドレスが頻繁に変更される環境で特に役立ちます。 - 導入時期:v3.5.11, v4.0.4
enable_http_async_handler
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:システムが HTTP リクエストを非同期で処理することを許可するかどうか。この機能が有効になっている場合、Netty ワーカー スレッドによって受信された HTTP リクエストは、HTTP サーバーのブロックを避けるために、サービスロジック処理のために別のスレッドプールに送信されます。無効になっている場合、Netty ワーカーがサービスロジックを処理します。
- 導入時期:4.0.0
enable_http_validate_headers
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:Netty の HttpServerCodec が厳密な HTTP ヘッダー検証を実行するかどうかを制御します。この値は、HttpServer の HTTP パイプラインが初期化されるときに HttpServerCodec に渡されます (UseLocations を参照)。新しい Netty バージョンではより厳密なヘッダー規則が適用されるため (https://github.com/netty/netty/pull/12760)、下位互換性のためにデフォルトは false です。RFC 準拠のヘッダーチェックを強制するには true に設定します。そうすると、レガシークライアントやプロ キシからの不正な形式の要求や非準拠の要求が拒否される可能性があります。変更を有効にするには HTTP サーバーの再起動が必要です。
- 導入時期:v3.3.0, v3.4.0, v3.5.0
enable_https
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:FE ノードで HTTP サーバーと HTTPS サーバーを同時に有効にするかどうか。
- 導入時期:v4.0
frontend_address
- デフォルト:0.0.0.0
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:FE ノードの IP アドレス。
- 導入時期:-
http_async_threads_num
- デフォルト:4096
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:非同期 HTTP リクエスト処理用のスレッドプールのサイズ。エイリアスは
max_http_sql_service_task_threads_numです。 - 導入時期:4.0.0
http_backlog_num
- デフォルト:1024
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:FE ノードの HTTP サーバーが保持するバックログキューの長さ。
- 導入時期:-
http_max_chunk_size
- デフォルト:8192
- タイプ:Int
- 単位:Bytes
- 変更可能:No
- 説明:FE HTTP サーバーの Netty の HttpServerCodec によって処理される単一の HTTP チャンクの最大許容サイズ (バイト単位) を設定します。これは HttpServerCodec に 3 番目の引数として渡され、チャンク転送またはストリーミング要求/応答中のチャンクの長さを制限します。受信チャンクがこの値を超えると、Netty はフレームが大きすぎるエラー (TooLongFrameException など) を発生させ、要求が拒否される可能性があります。正当な大規模チャンクアップロードの場合はこれを増やし、メモリ圧力を減らしたり、DoS 攻撃の攻撃対象領域を減らしたりするために小さく保ちます。この設定は、
http_max_initial_line_length、http_max_header_size、およびenable_http_validate_headersとともに使用されます。 - 導入時期:v3.2.0
http_max_header_size
- デフォルト:32768
- タイプ:Int
- 単位:Bytes
- 変更可能:No
- 説明:Netty の
HttpServerCodecによって解析される HTTP 要求ヘッダーブロックの最大許容サイズ (バイト単位)。StarRocks はこの値をHttpServerCodecに渡します (Config.http_max_header_size経由)。受信要求のヘッダー (名前と値の組み合わせ) がこの制限を超えると、コーデックは要求を拒否し (デコーダー例外)、接続/要求は失敗します。クライアントが非常に大きなヘッダー (大きな Cookie または多くのカスタムヘッダー) を正当に送信する場合にのみ増やしてください。値が大きいほど、接続ごとのメモリ使用量が増加します。http_max_initial_line_lengthおよびhttp_max_chunk_sizeと合わせて調整してください。変更には FE の再起動が必要です。 - 導入時期:v3.2.0
http_max_initial_line_length
- デフォルト:4096
- タイプ:Int
- 単位:Bytes
- 変更可能:No
- 説明:HttpServer で使用される Netty
HttpServerCodecが受け入れる HTTP 初期リクエスト行 (メソッド + リクエストターゲット + HTTP バージョン) の 最大許容長 (バイト単位) を設定します。この値は Netty のデコーダーに渡され、この長さよりも長い初期行を持つリクエストは拒否されます (TooLongFrameException)。非常に長いリクエスト URI をサポートする必要がある場合にのみ、これを増やしてください。値が大きいほどメモリ使用量が増加し、不正な形式の/リクエスト乱用のリスクが高まる可能性があります。http_max_header_sizeおよびhttp_max_chunk_sizeと合わせて調整してください。 - 導入時期:v3.2.0
http_port
- デフォルト:8030
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:FE ノードの HTTP サーバーがリッスンするポート。
- 導入時期:-
enable_http_auth
-
デフォルト:false
-
タイプ:Boolean
-
単位:-
-
変更可能:No
-
導入時期:v4.2.0
-
説明:true の場合、ほとんどの外部 FE HTTP エンドポイントで HTTP Basic 認証が必要になります。資格情報は
AuthenticationHandler.authenticate()を介してユーザーストアと照合されるため、LDAP / security integration による認証も MySQL プロトコルと同様に HTTP 経路で機能します。次のエンドポイントは常に除外されます:- 公開プローブ / 可観測性:
/api/bootstrap、/api/oauth2。 - ハンドラ内で IP ホワイトリストまたはトークンで認証する FE 間 / コントロールプレーン経路:
/image、/check、/journal_id、/info、/role、/dump、/dump_starmgr、/service_id、/static、/api/_meta_replay_state、/api/get_small_file。
特権エンドポイントでは追加でセッション内に有効化された SYSTEM レベル RBAC 権限(
OPERATE/NODE)が必要です。付与済みでデフォルトに設定されていないロールを使う場合はSET DEFAULT ROLE <roles> TO <user>;を実行するか、グローバル変数activate_all_roles_on_login=trueを設定してログイン時に有効化してください。LDAP / security integration のグループ → ロールマッピングは自動的に有効化されます。 - 公開プローブ / 可観測性:
http_web_page_display_hardware
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:true の場合、HTTP インデックスページ (/index) に oshi ライブラリ (CPU、メモリ、プロセス、ディスク、ファイルシステム、ネットワークなど) を介して入力されたハードウェア情報セクションが含まれます。oshi は、システムユーティリティを呼び出したり、間接的にシステムファイルを読み取ったりする場合があります (たとえば、
getent passwdなどのコマンドを実行する可能性があります)。これにより、機密性の高いシステムデータが表面化する可能性があります。より厳格なセキュリティが必要な場合、またはホストでこれらの間接コマンドの実行を回避したい場合は、この設定を false にして、Web UI でのハードウェア詳細の収集と表示を無効にします。 - 導入時期:v3.2.0
http_worker_threads_num
- デフォルト:0
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:HTTP リクエストを処理する HTTP サーバーのワーカー スレッドの数。負の値または 0 の場合、スレッド数は CPU コア数の 2 倍になります。
- 導入時期:v2.5.18, v3.0.10, v3.1.7, v3.2.2
https_port
- デフォルト:8443
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:FE ノードの HTTPS サーバーがリッスンするポート。
- 導入時期:v4.0
max_mysql_service_task_threads_num
- デフォルト:4096
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:FE ノードの MySQL サーバーがタスクを処理するために実行できる最大スレッド数。
- 導入時期:-
max_task_runs_threads_num
- デフォルト:512
- タイプ:Int
- 単位:Threads
- 変更可能:No
- 説明:タスク実行エグゼキュータースレッドプールの最大スレッド数を制御します。この値は同時タスク実行の上限であり、増やすと並行性が高まりますが、CPU、メモリ、ネットワーク使用量も増加し、減らすとタスク実行のバックログと待ち時間が長くなる可能性があります。この値は、予想される同時スケジュールジョブと利用可能なシステムリソースに応じて調整してください。
- 導入時期:v3.2.0
memory_tracker_enable
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:FE メモリートラッカーサブシステムを有効にします。
memory_tracker_enableがtrueに設定されている場合、MemoryUsageTrackerは定期的に登録されたメタデータモジュールをスキャンし、メモリ内のMemoryUsageTracker.MEMORY_USAGEマップを更新し、合計をログに記録し、MetricRepoがメモリー使用量とオブジェクト数ゲージをメトリック出力に公開するようにします。サンプリング間隔を制御するにはmemory_tracker_interval_secondsを使用します。この機能を有効にすると、メモリー消費の監視とデバッグに役立ちますが、CPU と I/O のオーバーヘッド、および追加のメトリックカーディナリティが発生します。 - 導入時期:v3.2.4
memory_tracker_interval_seconds
- デフォルト:60
- タイプ:Int
- 単位:Seconds
- 変更可能:Yes
- 説明:FE の
MemoryUsageTrackerデーモンが FE プロセスと登録されたMemoryTrackableモジュールのメモリ使用量をポーリングして記録する間隔 (秒単位)。memory_tracker_enableがtrueに設定されている場合、トラッカーはこの周期で実行され、MEMORY_USAGEを更新し、集計された JVM および追跡対象モジュールの使用状況をログに記録します。 - 導入時期:v3.2.4
mysql_nio_backlog_num
- デフォルト:1024
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:FE ノードの MySQL サーバーが保持するバックログキューの長さ。
- 導入時期:-
mysql_send_packet_timeout_ms
- デフォルト:60000
- タイプ:Long
- 単位:Milliseconds
- 変更可能:Yes
- 説明:MySQL プロトコルチャネルにおけるパケット単位の書き込みタイムアウト。結果行を送信する際、低速クライアントの TCP 受信バッファが空くまで FE ワーカーが待つ時間を制限します。これを設けないと、ワーカーが
Selector.select()で無期限にブロックし、クエリがKILL QUERYで終了できなくなります。0に設定するとタイムアウトを無効化します(従来の無期限待機の動作)。 - 導入時期:v4.1
mysql_server_version
- デフォルト:8.0.33
- タイプ:String
- 単位:-
- 変更可能:Yes
- 説明:クライアントに返される MySQL サーバーバージョン。このパラメーターを変更すると、以下の状況でバージョン情報に影響します。
select version();- ハンドシェイクパケットバージョン
- グローバル変数
versionの値 (show variables like 'version';)
- 導入時期:-
mysql_service_io_threads_num
- デフォルト:4
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:FE ノードの MySQL サーバーが I/O イベントを処理するために実行できる最大スレッド数。
- 導入時期:-
mysql_service_kill_after_disconnect
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:MySQL TCP 接続が閉じられたと検出された場合 (読み取りで EOF) のサーバーによるセッションの処理方法を制御します。
trueに設定されている場合、サーバーはその接続で実行中のクエリを直ちに停止し 、即座にクリーンアップを実行します。falseの場合、サーバーは切断時に実行中のクエリを停止せず、保留中の要求タスクがない場合にのみクリーンアップを実行し、クライアントが切断された後も長時間実行中のクエリを続行できるようにします。注: TCP キープアライブを示唆する簡単なコメントにもかかわらず、このパラメーターは特に切断後の停止動作を管理し、孤立したクエリを終了させるか (信頼性の低い/負荷分散されたクライアントの背後で推奨)、完了させるかを希望するかどうかに応じて設定する必要があります。 - 導入時期:-
mysql_service_nio_enable_keep_alive
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:No
- 説明:MySQL 接続で TCP Keep-Alive を有効にします。ロードバランサーの背後にある長時間アイドル状態の接続に役立ちます。
- 導入時期:-
net_use_ipv6_when_priority_networks_empty
- デフォルト:false
- タイプ:Boolean
- 単位:-
- 変更 可能:No
- 説明:
priority_networksが指定されていない場合に IPv6 アドレスを優先的に使用するかどうかを制御するブール値。trueは、ノードをホストするサーバーに IPv4 と IPv6 アドレスの両方があり、priority_networksが指定されていない場合に、システムが IPv6 アドレスを優先的に使用することを許可することを示します。 - 導入時期:v3.3.0
priority_networks
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:複数の IP アドレスを持つサーバーの選択戦略を宣言します。このパラメーターで指定されたリストと一致する IP アドレスは最大 1 つである必要があることに注意してください。このパラメーターの値は、CIDR 表記でセミコロン (;) で区切られたエントリ (例: 10.10.10.0/24) で構成されるリストです。このリストのエントリに一致する IP アドレスがない場合、サーバーの使用可能な IP アドレスがランダムに選択されます。v3.3.0 から、StarRocks は IPv6 に基づくデプロイメントをサポートしています。サーバーに IPv4 と IPv6 アドレスの両方があり、このパラメーターが指定されていない場合、システムはデフォルトで IPv4 アドレスを使用します。
net_use_ipv6_when_priority_networks_emptyをtrueに設定することで、この動作を変更できます。 - 導入時期:-
proc_profile_cpu_enable
- デフォルト:true
- タイプ:Boolean
- 単位:-
- 変更可能:Yes
- 説明:この項目が
trueに設定されている場合、バックグラウンドのProcProfileCollectorはAsyncProfilerを使用して CPU プロファイルを収集し、HTML レポートをsys_log_dir/proc_profileに書き込みます。各収集実行では、proc_profile_collect_time_sで設定された期間 CPU スタックを記録し、Java スタック深度にproc_profile_jstack_depthを使用します。生成されたプロファイルは圧縮され、古いファイルはproc_profile_file_retained_daysおよびproc_profile_file_retained_size_bytesに従ってパージされます。AsyncProfilerにはネイティブライブラリ (libasyncProfiler.so) が必要です。/tmpの noexec 問題を回避するためにone.profiler.extractPathはSTARROCKS_HOME_DIR/binに設定されています。 - 導入時期:v3.2.12
qe_max_connection
- デフォルト:4096
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:FE ノードへのすべてのユーザーが確立できる最大接続数。v3.1.12 および v3.2.7 以降、デフォルト値が
1024から4096に変更されました。 - 導入時期:-
query_port
- デフォルト:9030
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:FE ノードの MySQL サーバーがリッスンするポート。
- 導入時期:-
rpc_port
- デフォルト:9020
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:FE ノードの Thrift サーバーがリッスンするポート。
- 導入時期:-
slow_lock_stack_trace_reserve_levels
- デフォルト:15
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:StarRocks が遅いロックまたは保持されているロックのロックデバッグ情報をダンプする際に、いくつのスタックトレースフレームをキャプチャして出力するかを制御します。この値は、排他ロック所有者、現在のスレッド、 および最古/共有リーダーの JSON を生成する際に
QueryableReentrantReadWriteLockによってLogUtil.getStackTraceToJsonArrayに渡されます。この値を増やすと、遅いロックまたはデッドロックの問題の診断に役立つより多くのコンテキストが得られますが、JSON ペイロードが大きくなり、スタックキャプチャの CPU/メモリがわずかに増加します。減らすとオーバーヘッドが減少します。注: この上限はQueryableReentrantReadWriteLockのスタックダンプ経路にのみ適用されます。LockManagerの低速ロック経路は完全なスタック深度をキャプチャし、この値による制限を受けません。リーダーエントリは、低速ロックのみをログに記録する場合、slow_lock_threshold_msによってフィルタリングできます。 - 導入時期:v3.4.0, v3.5.0
ssl_cipher_blacklist
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:IANA 名で SSL 暗号スイートをブラックリストに登録するための、正規表現をサポートするコンマ区切りリスト。ホワイトリストとブラックリストの両方が設定されている場合、ブラックリストが優先されます。
- 導入時期:v4.0
ssl_cipher_whitelist
- デフォルト:Empty string
- タイプ:String
- 単位:-
- 変更可能:No
- 説明:IANA 名で SSL 暗号スイートをホワイトリストに登録するための、正規表現をサポートするコンマ区切りリスト。ホワイトリストとブラックリストの両方が設定されている場合、ブラックリストが優先されます。
- 導入時期:v4.0
task_runs_concurrency
- デフォルト:4
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:同時に実行される TaskRun インスタンスのグローバル制限。
TaskRunSchedulerは、現在の実行数がtask_runs_concurrency以上の場合、新しい実行のスケジュールを停止するため、この値はスケジューラー全体で並行 TaskRun 実行を制限します。これはMVPCTRefreshPartitionerによって TaskRun ごとのパーティション更新粒度を計算するためにも使用されます。値を増やすと並行性とリソース使用量が増加し、減らすと並行性が減少し、実行ごとのパーティション更新が大きくなります。意図的にスケジューリングを無効にする場合を除き、0 または負の値に設定しないでください。0 (または負の値) は、TaskRunSchedulerによる新しい TaskRun のスケジューリングを事実上妨げます。 - 導入時期:v3.2.0
task_runs_queue_length
- デフォルト:500
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:保留中のキューに保持される保留中の TaskRun 項目の最大数を制限します。
TaskRunManagerは現在の保留中の数をチェックし、有効な保留中の TaskRun の数がtask_runs_queue_length以上の場合、新しい送信を拒否します。マージ/承認された TaskRun が追加される前に同じ制限が再チェックされます。メモリとスケジューリングのバックログのバランスをとるためにこの値を調整します。拒否を回避するために、大規模でバースト性の高いワークロードの場合は高く設定し、メモリを制限して保留中のバックログを減らす場合は低く設定します。 - 導入時期:v3.2.0
thrift_backlog_num
- デフォルト:1024
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:FE ノードの Thrift サーバーが保持するバックログキューの長さ。
- 導入時期:-
thrift_client_timeout_ms
- デフォルト:5000
- タイプ:Int
- 単位:Milliseconds
- 変更可能:No
- 説明:アイドル状態のクライアント接続がタイムアウトするまでの時間。
- 導入時期:-
thrift_rpc_max_body_size
- デフォルト:-1
- タイプ:Int
- 単位:Bytes
- 変更可能:No
- 説明:サーバーの Thrift プロトコルを構築するときに使用される Thrift RPC メッセージ本文の最大許容サイズ (バイト単位) を制御します (
ThriftServerの TBinaryProtocol.Factory に渡されます)。値が-1の場合、制限が無効になります (無制限)。正の値を設定すると、上限が適用され、これより大きいメッセージは Thrift レイヤーによって拒否され、メモリ使用量を制限し、サイズ超過の要求や DoS のリスクを軽減するのに役立ちます。正当な要求の拒否を避けるために、予想されるペイロード (大きな構造体やバッチデータ) に十分な大きさに設定してください。 - 導入時期:v3.2.0
thrift_server_max_worker_threads
- デフォルト:4096
- タイプ:Int
- 単位:-
- 変更可能:Yes
- 説明:FE ノードの Thrift サーバーがサポートするワーカー スレッドの最大数。
- 導入時期:-
thrift_server_queue_size
- デフォルト:4096
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:要求が保留されているキューの長さ。Thrift サーバーで処理されているスレッドの数が
thrift_server_max_worker_threadsで指定された値を超えると、新しい要求が保留中のキューに追加されます。 - 導入時期:-
メタデータとクラスター管理
alter_max_worker_queue_size
- デフォルト:4096
- タイプ:Int
- 単位:Tasks
- 変更可能:No
- 説明:alter サブシステムで使用される内部ワーカー スレッド プー ル キューの容量を制御します。これは
AlterHandlerでThreadPoolManager.newDaemonCacheThreadPoolにalter_max_worker_threadsとともに渡されます。保留中の alter タスクの数がalter_max_worker_queue_sizeを超えると、新しい送信は拒否され、RejectedExecutionExceptionがスローされる可能性があります (AlterHandler.handleFinishAlterTaskを参照)。この値を調整して、メモリ使用量と、同時 alter タスクに対して許可するバックログの量のバランスを取ります。 - 導入時期:v3.2.0
alter_max_worker_threads
- デフォルト:4
- タイプ:Int
- 単位:Threads
- 変更可能:No
- 説明:AlterHandler のスレッドプールの最大ワーカー スレッド数を設定します。AlterHandler はこの値を使用してエクゼキューターを構築し、alter 関連のタスクを実行および完了します (例: handleFinishAlterTask 経由で
AlterReplicaTaskを送信)。この値は alter 操作の同時実行を制限します。値を上げると並行性とリソース使用量が増加し、下げると同時 alter が制限され、ボトルネックになる可能性があります。エクゼキューターはalter_max_worker_queue_sizeとともに作成され、ハンドラーのスケジューリングはalter_scheduler_interval_millisecondを使用します。 - 導入時期:v3.2.0
automated_cluster_snapshot_interval_seconds
- デフォルト:600
- タイプ:Int
- 単位:Seconds
- 変更可能:Yes
- 説明:自動クラスター スナップショット タスクがトリガーされる間隔。
- 導入時期:v3.4.2
background_refresh_metadata_interval_millis
- デフォルト:600000
- タイプ:Int
- 単位:Milliseconds
- 変更可能:Yes
- 説明:連続する 2 回の Hive メタデータ キャッシュ更新の間隔。
- 導入時期:v2.5.5
background_refresh_metadata_time_secs_since_last_access_secs
- デフォルト:3600 * 24
- タイプ:Long
- 単位:Seconds
- 変更可能:Yes
- 説明:Hive メタデータキャッシュ更新タスクの有効期限。アクセスされた Hive カタログの場合、指定された時間以上アクセスされていない場合、StarRocks はそのキャッシュされたメタデータの更新を停止します。アクセスされていない Hive カタログの場合、StarRocks はそのキャッシュされたメタデータを更新しません。
- 導入時期:v2.5.5
bdbje_cleaner_threads
- デフォルト:1
- タイプ:Int
- 単位:-
- 変更可能:No
- 説明:StarRocks ジャーナルで使用される Berkeley DB Java Edition (JE) 環境のバックグラウンドクリーナースレッドの数。この値は
BDBEnvironment.initConfigsで環境初期化中に読み取られ、Config.bdbje_cleaner_threadsを使用してEnvironmentConfig.CLEANER_THREADSに適用されます。これは JE ログクリーニングとスペース再利用の並行性を制御します。値を増やすとクリーニングが高速化される可能性がありますが、追加の CPU とフォアグラウンド操作との I/O 干渉が発生する可能性があります。変更は BDB 環境が (再) 初期化された場合にのみ有効になるため、新しい値を適用するにはフロントエンドの再起動が必要です。 - 導入時期:v3.2.0