Tarundeep Singh
11/04/2026, 10:44 AMRocky
11/04/2026, 10:44 AMautoResumeLock and the restriction to REPLICA_FEW_ERR are hardcoded safety mechanisms.
However, you can influence the behavior via global FE configurations:
* max_tolerable_backend_down_num: Increasing this (default 0) allows the FE to attempt auto-resumption even if some BEs are offline.
* period_of_auto_resume_min: This defines the interval (default 5 minutes) at which the FE checks for jobs that need rescheduling.
2. Safety of Raising max_tolerable_backend_down_num
It is generally safe to raise max_tolerable_backend_down_num to 1 if your replication factor is 3.
* Quorum Integrity: With 3 replicas, StarRocks only needs a majority (2 replicas) to remain available for writes to succeed. Losing one BE does not jeopardize data consistency or availability.
* The "Lock" configuration: There are currently no public configuration parameters to change the "3-retry" limit or the specific autoResumeLock behavior. These are internal FE scheduler rules designed to protect the cluster from infinite loops on permanent failures (like table deletion or schema mismatch).
3. Recommendations for Unattended Production Operation
To keep Routine Loads running through intermittent infrastructure or Kafka blips, consider the following configuration strategy:
FE Configurations
* Set max_tolerable_backend_down_num = 1 (or higher depending on cluster size). This ensures that a single BE restart doesn't permanently stall your ingestion.
* Monitor starrocks_fe_routine_load_paused: Use this Prometheus metric to trigger alerts. Since the system has a hard stop after 3 failed auto-resumes, external monitoring is required for high-availability production environments.
Job-Specific Properties
* max_error_number / max_filter_ratio: Avoid leaving max_error_number at 0. If Kafka occasionally receives a malformed message, a setting of 0 will pause the job immediately. Set a threshold that reflects your acceptable data quality loss.
* pause_on_fatal_parse_error: If you are on v3.3.12+ or v3.4.2+, ensure this is false (default) if you prefer to skip unparseable messages rather than pausing the job.
Connectivity Settings
* routine_load_kafka_timeout_second: (Available since v3.2.0) If you experience network "blips" or slow Kafka brokers, increase this BE configuration (default 10s) to prevent tasks from timing out and triggering a pause.
Automation
For a truly "unattended" setup, many production users employ a sidecar script or a cron job that periodically runs:
sql
-- Resumes all paused jobs in a database
RESUME ROUTINE LOAD ALL;
This bypasses the internal autoResumeLock and is the standard way to handle jobs that have exhausted their internal retry budget due to transient environmental issues.
References
• administration/management/FE_configuration.md
• administration/management/BE_configuration.md