Skip to content

*: update rocksdb to downgrade log-level of some noisy logs (#440) - #860

Merged
ti-chi-bot[bot] merged 1 commit into
tikv:masterfrom
LykxSassinator:upgrade_rocksdb
Aug 24, 2026
Merged

ti-chi-bot[bot] merged 1 commit into
tikv:masterfrom
LykxSassinator:upgrade_rocksdb

Conversation

@LykxSassinator

@LykxSassinator LykxSassinator commented Aug 24, 2026

Copy link
Copy Markdown

Descriptions

Ref tikv/rocksdb#439

Downgrade the log-level of noisy logs when calling PrefetchTail where the inner updates of rocksdb can be reviewed in tikv/rocksdb#440

Summary by CodeRabbit

  • Maintenance
    • Updated the embedded storage engine component to a newer revision.
    • No user-facing features or behavior changes were introduced.

Signed-off-by: lucasliang <nkcs_lykx@hotmail.com>
@ti-chi-bot ti-chi-bot Bot added the dco-signoff: yes Indicates the PR's author has signed the dco. label Aug 24, 2026
@ti-chi-bot ti-chi-bot Bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Aug 24, 2026
@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The pull request updates the librocksdb_sys/rocksdb submodule reference from one RocksDB commit to another. No exported or public declarations change.

Changes

RocksDB submodule update

Layer / File(s) Summary
Update RocksDB reference
librocksdb_sys/rocksdb
The submodule reference changes from 0da2397eeb4b40b534ed586c13fb0b795438b2ce to 37ab6137347bb125d17723a180fde4d1e1e0c3d4.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: 🟡 Moderate · up to 3b0e1

This change reduces default visibility into PrefetchTail behavior without adding the proposed replacement statistics, which could make tail-prefetch issues harder to diagnose in production. The PR should not merge until the replacement metrics are added or the observability tradeoff is explicitly accepted.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the RocksDB update and its purpose of lowering noisy log levels.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ti-chi-bot ti-chi-bot Bot added the lgtm label Aug 24, 2026
@ti-chi-bot

ti-chi-bot Bot commented Aug 24, 2026

Copy link
Copy Markdown

[LGTM Timeline notifier]

Timeline:

  • 2026-08-24 04:16:44.430088755 +0000 UTC m=+475239.601182859: ☑️ agreed by overvenus.

@ti-chi-bot ti-chi-bot Bot added the approved label Aug 24, 2026
@ti-chi-bot

ti-chi-bot Bot commented Aug 24, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: glorv, overvenus

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: aa78fbc7-6a8b-412a-9539-a9872495352e

📥 Commits

Reviewing files that changed from the base of the PR and between 64a092f and 3b0e10a.

📒 Files selected for processing (1)
  • librocksdb_sys/rocksdb

Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review.

Comment thread librocksdb_sys/rocksdb
@@ -1 +1 @@
Subproject commit 0da2397eeb4b40b534ed586c13fb0b795438b2ce
Subproject commit 37ab6137347bb125d17723a180fde4d1e1e0c3d4

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 Stability & Availability | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

rocksdb=librocksdb_sys/rocksdb
commit=37ab6137347bb125d17723a180fde4d1e1e0c3d4

git -C "$rocksdb" cat-file -e "${commit}^{commit}"
git -C "$rocksdb" show --format= "$commit" -- \
  table/block_based/block_based_table_reader.cc

if ! git -C "$rocksdb" grep -nE \
  'TAIL_PREFETCH_SIZE_(FROM_MANIFEST|FROM_STATS|FROM_HEURISTICS)' \
  "$commit" -- \
  include/rocksdb/statistics.h \
  table/block_based/block_based_table_reader.cc; then
  echo "Replacement tail-prefetch tickers are missing"
  exit 1
fi

Repository: tikv/rust-rocksdb

Length of output: 331


🏁 Script executed:

#!/usr/bin/env bash
set -u

rocksdb=librocksdb_sys/rocksdb
commit=37ab6137347bb125d17723a180fde4d1e1e0c3d4

printf '%s\n' '== submodule state =='
git submodule status -- "$rocksdb" || true
git -C "$rocksdb" rev-parse HEAD 2>&1 || true
git -C "$rocksdb" cat-file -t "$commit" 2>&1 || true
git -C "$rocksdb" show-ref | grep -E '37ab6137347bb125d17723a180fde4d1e1e0c3d4|refs/(heads|remotes|tags)' | head -40 || true

printf '%s\n' '== GitHub commit API =='
curl -LfsS --max-time 20 \
  -H 'Accept: application/vnd.github+json' \
  'https://api.github.com/repos/tikv/rocksdb/commits/37ab6137347bb125d17723a180fde4d1e1e0c3d4' |
  python3 -c '
import json, sys
try:
    d=json.load(sys.stdin)
    print(json.dumps({
        "sha": d.get("sha"),
        "message": d.get("commit", {}).get("message"),
        "files": [
            {"filename": f.get("filename"), "patch": f.get("patch")}
            for f in d.get("files", [])
            if f.get("filename") in {
                "table/block_based/block_based_table_reader.cc",
                "include/rocksdb/statistics.h"
            }
        ]
    }, indent=2))
except Exception as e:
    print(e)
    sys.exit(1)
' 2>&1 || true

Repository: tikv/rust-rocksdb

Length of output: 1703


🏁 Script executed:

#!/usr/bin/env bash
set -u

owner=tikv
repo=rocksdb
commit=37ab6137347bb125d17723a180fde4d1e1e0c3d4

printf '%s\n' '== commit files =='
curl -LfsS --max-time 30 \
  -H 'Accept: application/vnd.github+json' \
  "https://api.github.com/repos/$owner/$repo/commits/$commit" |
  python3 -c '
import json, sys
d=json.load(sys.stdin)
print("sha:", d.get("sha"))
for f in d.get("files", []):
    print(f["filename"])
' 2>&1 || true

printf '%s\n' '== matching tree paths =='
curl -LfsS --max-time 30 \
  -H 'Accept: application/vnd.github+json' \
  "https://api.github.com/repos/$owner/$repo/git/trees/$commit?recursive=1" |
  python3 -c '
import json, sys
d=json.load(sys.stdin)
for x in d.get("tree", []):
    p=x.get("path","")
    if any(s in p.lower() for s in ("statistics", "block_based_table_reader")):
        print(p)
' 2>&1 || true

printf '%s\n' '== issue 439 =='
curl -LfsS --max-time 30 \
  -H 'Accept: application/vnd.github+json' \
  "https://api.github.com/repos/$owner/$repo/issues/439" |
  python3 -c '
import json, sys
d=json.load(sys.stdin)
print("title:", d.get("title"))
print("state:", d.get("state"))
print(d.get("body") or "")
' 2>&1 || true

printf '%s\n' '== source identifiers at commit =='
for path in \
  include/rocksdb/statistics.h \
  table/block_based/block_based_table_reader.cc \
  include/rocksdb/statistics.h.in \
  monitoring/statistics.h
do
  printf '%s\n' "--- $path ---"
  curl -LfsS --max-time 30 \
    "https://raw.githubusercontent.com/$owner/$repo/$commit/$path" |
    grep -nE 'TAIL_PREFETCH|Tail prefetch|PrefetchTail|ROCKS_LOG_(WARN|DEBUG)' || true
done

Repository: tikv/rust-rocksdb

Length of output: 7026


Preserve the tail-prefetch signal in Statistics before demoting these logs.

The commit demotes the heuristic and TailPrefetchStats messages to ROCKS_LOG_DEBUG, so the default INFO_LEVEL no longer exposes this diagnostic signal. Issue #439 proposes TAIL_PREFETCH_SIZE_FROM_MANIFEST, TAIL_PREFETCH_SIZE_FROM_STATS, and TAIL_PREFETCH_SIZE_FROM_HEURISTICS, but this commit defines or increments none. Add and increment all three tickers, or land the replacement separately before this submodule update.

Source: MCP tools

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this logging is not helpful for the performance diagnosis or debugging bugs, we've determined to downgrade the logging level in warning level directly.

@ti-chi-bot
ti-chi-bot Bot merged commit 797c014 into tikv:master Aug 24, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved dco-signoff: yes Indicates the PR's author has signed the dco. lgtm size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants