20260803 死repo传输层黑名单+daemon健康检查摘除(#141)

This commit is contained in:
2026-08-03 21:17:19 +08:00
parent f37fe8c4cb
commit e98eb6d68f
16 changed files with 1990 additions and 38 deletions

View File

@@ -66,6 +66,14 @@ PERIODIC_SNAPSHOT_MAX_DELTAS=100
# 每隔多少轮执行一次 db_stats --exact。设置为空或 0 表示关闭 exact 统计。
DB_STATS_EXACT_EVERY=3
# 死 repo 传输层黑名单(#141,默认关)。设置状态文件路径即开启:
# 连续 N 轮传输层抓取失败的 repo 会被拉黑并在后续轮次跳过其传输尝试;
# daemon 会按间隔对黑名单条目做健康探针,恢复后自动摘除。
# 留空表示完全关闭(行为与旧版本一致)。
#DEAD_REPO_BLACKLIST_PATH=/var/lib/ours-rp/state/dead-repo-blacklist.json
#DEAD_REPO_BLACKLIST_FAIL_THRESHOLD=3
#DEAD_REPO_HEALTH_CHECK_INTERVAL_SECS=600
# 是否开启 ours RP progress log。1 表示开启。
RPKI_PROGRESS_LOG=1

View File

@@ -1331,6 +1331,17 @@ run_one_round() {
daemon_args+=(--db-stats-exact-every "$DB_STATS_EXACT_EVERY")
fi
fi
# Dead-repo transport blacklist (#141): opt-in via env; the daemon forwards
# the enable flag and threshold to the child unless already present there.
if [[ -n "${DEAD_REPO_BLACKLIST_PATH:-}" ]]; then
daemon_args+=(--dead-repo-blacklist "$DEAD_REPO_BLACKLIST_PATH")
if [[ -n "${DEAD_REPO_BLACKLIST_FAIL_THRESHOLD:-}" ]]; then
daemon_args+=(--dead-repo-blacklist-fail-threshold "$DEAD_REPO_BLACKLIST_FAIL_THRESHOLD")
fi
if [[ -n "${DEAD_REPO_HEALTH_CHECK_INTERVAL_SECS:-}" ]]; then
daemon_args+=(--dead-repo-health-check-interval-secs "$DEAD_REPO_HEALTH_CHECK_INTERVAL_SECS")
fi
fi
set +e
env \