Skip to content

EmbeddedRocksDB: Path must be inside user_files#87109

Merged
Algunenano merged 5 commits intoClickHouse:masterfrom
Algunenano:rock_path
Sep 16, 2025
Merged

EmbeddedRocksDB: Path must be inside user_files#87109
Algunenano merged 5 commits intoClickHouse:masterfrom
Algunenano:rock_path

Conversation

@Algunenano
Copy link
Copy Markdown
Member

@Algunenano Algunenano commented Sep 14, 2025

Changelog category (leave one):

  • Critical Bug Fix (crash, data loss, RBAC) or LOGICAL_ERROR

Changelog entry (a user-readable short description of the changes that goes into CHANGELOG.md):

EmbeddedRocksDB: Path must be inside user_files.

If you were using the default path before (under databases), tables will keep working but new tables will be created under user_files. If you were using different paths you will need to move them inside user_paths and adapt the table metadata, as not having this check was a security vulnerability allowing CH clients to access any file the user running the binary had access to.

Documentation entry for user-facing changes

  • Documentation is written (mandatory for new features)

@clickhouse-gh
Copy link
Copy Markdown
Contributor

clickhouse-gh bot commented Sep 14, 2025

Workflow [PR], commit [31f020f]

Summary:

job_name test_name status info comment
Integration tests (arm_binary, distributed plan, 1/4) failure
test_disks_app_interactive/test.py::test_disks_app_interactive_test_move_and_write FAIL
test_disks_app_interactive/test.py::test_disks_app_interactive_list_directories_default FAIL
Integration tests (amd_tsan, 1/6) failure
test_fetch_partition_with_outdated_parts/test.py::test_fetch_partition_with_outdated_parts FAIL
Integration tests (amd_tsan, 2/6) failure
test_fetch_partition_from_auxiliary_zookeeper/test.py::test_fetch_part_from_allowed_zookeeper[PARTITION-2020-08-27-2020-08-27] FAIL
Integration tests (amd_asan, flaky check) failure
test_rocksdb_read_only/test.py::test_read_only[1-3] FAIL
test_rocksdb_read_only/test.py::test_dirctory_missing_after_stop[1-3] FAIL
test_rocksdb_read_only/test.py::test_dirctory_missing_after_stop[2-3] FAIL
test_rocksdb_read_only/test.py::test_read_only[2-3] FAIL
test_rocksdb_options/test.py::test_valid_options[3-3] FAIL
test_rocksdb_options/test.py::test_valid_options[1-3] FAIL

@clickhouse-gh clickhouse-gh bot added pr-critical-bugfix pr-must-backport Pull request should be backported intentionally. Use this label with great care! pr-must-backport-cloud labels Sep 14, 2025
@bharatnc bharatnc self-assigned this Sep 14, 2025
@Algunenano
Copy link
Copy Markdown
Member Author

The stateless failure for ReplicatedDatabase comes from the fact that the CI shares the same user_files for all replicas. Since we now enforce that the data must be put inside user_files this means that all 3 replicas try to use the same path for the RocksDB database, which is not ok. I'll disable those tests for replicated database

@Algunenano
Copy link
Copy Markdown
Member Author

Failures:

@Algunenano Algunenano added this pull request to the merge queue Sep 16, 2025
Merged via the queue into ClickHouse:master with commit 274c28c Sep 16, 2025
116 of 122 checks passed
@Algunenano Algunenano deleted the rock_path branch September 16, 2025 15:13
@robot-ch-test-poll4 robot-ch-test-poll4 added the pr-synced-to-cloud The PR is synced to the cloud repo label Sep 16, 2025
robot-ch-test-poll4 added a commit that referenced this pull request Sep 16, 2025
Cherry pick #87109 to 25.8: EmbeddedRocksDB: Path must be inside user_files
@robot-ch-test-poll robot-ch-test-poll added pr-backports-created-cloud deprecated label, NOOP pr-must-backport-synced The `*-must-backport` labels are synced into the cloud Sync PR labels Sep 16, 2025
clickhouse-gh bot added a commit that referenced this pull request Sep 16, 2025
Backport #87109 to 25.8: EmbeddedRocksDB: Path must be inside user_files
@Algunenano Algunenano mentioned this pull request Sep 22, 2025
1 task
robot-ch-test-poll added a commit that referenced this pull request Sep 22, 2025
Cherry pick #87109 to 25.6: EmbeddedRocksDB: Path must be inside user_files
robot-ch-test-poll added a commit that referenced this pull request Sep 22, 2025
Cherry pick #87109 to 25.7: EmbeddedRocksDB: Path must be inside user_files
robot-clickhouse added a commit that referenced this pull request Sep 22, 2025
Cherry pick #87109 to 25.3: EmbeddedRocksDB: Path must be inside user_files
@robot-ch-test-poll3 robot-ch-test-poll3 added the pr-backports-created Backport PRs are successfully created, it won't be processed by CI script anymore label Sep 22, 2025
clickhouse-gh bot added a commit that referenced this pull request Sep 22, 2025
Backport #87109 to 25.7: EmbeddedRocksDB: Path must be inside user_files
clickhouse-gh bot added a commit that referenced this pull request Sep 22, 2025
Backport #87109 to 25.6: EmbeddedRocksDB: Path must be inside user_files
Algunenano added a commit that referenced this pull request Sep 23, 2025
Backport #87109 to 25.3: EmbeddedRocksDB: Path must be inside user_files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-backports-created Backport PRs are successfully created, it won't be processed by CI script anymore pr-backports-created-cloud deprecated label, NOOP pr-critical-bugfix pr-must-backport Pull request should be backported intentionally. Use this label with great care! pr-must-backport-synced The `*-must-backport` labels are synced into the cloud Sync PR pr-synced-to-cloud The PR is synced to the cloud repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants