github-actions[bot] commented on code in PR #40226:
URL: https://github.com/apache/doris/pull/40226#discussion_r1744142012
##########
be/test/io/cache/block_file_cache_test.cpp:
##########
@@ -4644,5 +4642,105 @@ TEST_F(BlockFileCacheTest, load_cache2) {
key1.to_string() + "_0/" +
std::to_string(offset));
}
}
+*/
+
+TEST_F(BlockFileCacheTest, test_load) {
Review Comment:
warning: function 'TEST_F' exceeds recommended size/complexity thresholds
[readability-function-size]
```cpp
*/
^
```
<details>
<summary>Additional context</summary>
**be/test/io/cache/block_file_cache_test.cpp:4646:** 97 lines including
whitespace and comments (threshold 80)
```cpp
*/
^
```
</details>
##########
be/src/io/cache/fs_file_cache_storage.cpp:
##########
@@ -227,7 +289,7 @@ std::string
FSFileCacheStorage::get_path_in_local_cache(const UInt128Wrapper& va
}
}
-Status FSFileCacheStorage::rebuild_data_structure() const {
+Status FSFileCacheStorage::upgrade_cache_dir_if_necessary() const {
Review Comment:
warning: function 'upgrade_cache_dir_if_necessary' has cognitive complexity
of 119 (threshold 50) [readability-function-cognitive-complexity]
```cpp
Status FSFileCacheStorage::upgrade_cache_dir_if_necessary() const {
^
```
<details>
<summary>Additional context</summary>
**be/src/io/cache/fs_file_cache_storage.cpp:295:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
RETURN_IF_ERROR(read_file_cache_version(&version));
^
```
**be/src/common/status.h:628:** expanded from macro 'RETURN_IF_ERROR'
```cpp
do { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:295:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
RETURN_IF_ERROR(read_file_cache_version(&version));
^
```
**be/src/common/status.h:630:** expanded from macro 'RETURN_IF_ERROR'
```cpp
if (UNLIKELY(!_status_.ok())) { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:296:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if (USE_CACHE_VERSION2 && version != "2.0") {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:296:** +1
```cpp
if (USE_CACHE_VERSION2 && version != "2.0") {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:300:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (ec) {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:304:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
for (; key_it != std::filesystem::directory_iterator(); ++key_it) {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:305:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
if (key_it->is_directory()) {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:307:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
if (cache_key.size() > KEY_PREFIX_LENGTH) {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:311:** +5, including nesting
penalty of 4, nesting level increased to 5
```cpp
RETURN_IF_ERROR(fs->exists(key_prefix, &exists));
^
```
**be/src/common/status.h:628:** expanded from macro 'RETURN_IF_ERROR'
```cpp
do { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:311:** +6, including nesting
penalty of 5, nesting level increased to 6
```cpp
RETURN_IF_ERROR(fs->exists(key_prefix, &exists));
^
```
**be/src/common/status.h:630:** expanded from macro 'RETURN_IF_ERROR'
```cpp
if (UNLIKELY(!_status_.ok())) { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:312:** +5, including nesting
penalty of 4, nesting level increased to 5
```cpp
if (!exists) {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:313:** +6, including nesting
penalty of 5, nesting level increased to 6
```cpp
RETURN_IF_ERROR(fs->create_directory(key_prefix));
^
```
**be/src/common/status.h:628:** expanded from macro 'RETURN_IF_ERROR'
```cpp
do { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:313:** +7, including nesting
penalty of 6, nesting level increased to 7
```cpp
RETURN_IF_ERROR(fs->create_directory(key_prefix));
^
```
**be/src/common/status.h:630:** expanded from macro 'RETURN_IF_ERROR'
```cpp
if (UNLIKELY(!_status_.ok())) { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:315:** +5, including nesting
penalty of 4, nesting level increased to 5
```cpp
RETURN_IF_ERROR(fs->rename(key_it->path(), key_prefix /
cache_key));
^
```
**be/src/common/status.h:628:** expanded from macro 'RETURN_IF_ERROR'
```cpp
do { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:315:** +6, including nesting
penalty of 5, nesting level increased to 6
```cpp
RETURN_IF_ERROR(fs->rename(key_it->path(), key_prefix /
cache_key));
^
```
**be/src/common/status.h:630:** expanded from macro 'RETURN_IF_ERROR'
```cpp
if (UNLIKELY(!_status_.ok())) { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:319:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (!write_file_cache_version().ok()) {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:324:** nesting level increased
to 1
```cpp
auto rebuild_dir = [&](std::filesystem::directory_iterator&
upgrade_key_it) -> Status {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:325:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
for (; upgrade_key_it != std::filesystem::directory_iterator();
++upgrade_key_it) {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:326:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
if (upgrade_key_it->path().filename().native().find('_') ==
std::string::npos) {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:327:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
RETURN_IF_ERROR(fs->delete_directory(upgrade_key_it->path().native() + "_0"));
^
```
**be/src/common/status.h:628:** expanded from macro 'RETURN_IF_ERROR'
```cpp
do { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:327:** +5, including nesting
penalty of 4, nesting level increased to 5
```cpp
RETURN_IF_ERROR(fs->delete_directory(upgrade_key_it->path().native() + "_0"));
^
```
**be/src/common/status.h:630:** expanded from macro 'RETURN_IF_ERROR'
```cpp
if (UNLIKELY(!_status_.ok())) { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:328:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
RETURN_IF_ERROR(
^
```
**be/src/common/status.h:628:** expanded from macro 'RETURN_IF_ERROR'
```cpp
do { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:328:** +5, including nesting
penalty of 4, nesting level increased to 5
```cpp
RETURN_IF_ERROR(
^
```
**be/src/common/status.h:630:** expanded from macro 'RETURN_IF_ERROR'
```cpp
if (UNLIKELY(!_status_.ok())) { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:335:** +1, including nesting
penalty of 0, nesting level increased to 1
```cpp
if constexpr (USE_CACHE_VERSION2) {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:337:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (ec) [[unlikely]] {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:341:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
for (; key_prefix_it != std::filesystem::directory_iterator();
++key_prefix_it) {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:342:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
if (!key_prefix_it->is_directory()) {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:346:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
if (key_prefix_it->path().filename().native().size() !=
KEY_PREFIX_LENGTH) {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:349:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
RETURN_IF_ERROR(fs->delete_directory(key_prefix_it->path()));
^
```
**be/src/common/status.h:628:** expanded from macro 'RETURN_IF_ERROR'
```cpp
do { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:349:** +5, including nesting
penalty of 4, nesting level increased to 5
```cpp
RETURN_IF_ERROR(fs->delete_directory(key_prefix_it->path()));
^
```
**be/src/common/status.h:630:** expanded from macro 'RETURN_IF_ERROR'
```cpp
if (UNLIKELY(!_status_.ok())) { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:352:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
if (ec) [[unlikely]] {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:355:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
RETURN_IF_ERROR(rebuild_dir(key_it));
^
```
**be/src/common/status.h:628:** expanded from macro 'RETURN_IF_ERROR'
```cpp
do { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:355:** +4, including nesting
penalty of 3, nesting level increased to 4
```cpp
RETURN_IF_ERROR(rebuild_dir(key_it));
^
```
**be/src/common/status.h:630:** expanded from macro 'RETURN_IF_ERROR'
```cpp
if (UNLIKELY(!_status_.ok())) { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:357:** +1, nesting level
increased to 1
```cpp
} else {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:359:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
if (ec) [[unlikely]] {
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:362:** +2, including nesting
penalty of 1, nesting level increased to 2
```cpp
RETURN_IF_ERROR(rebuild_dir(key_it));
^
```
**be/src/common/status.h:628:** expanded from macro 'RETURN_IF_ERROR'
```cpp
do { \
^
```
**be/src/io/cache/fs_file_cache_storage.cpp:362:** +3, including nesting
penalty of 2, nesting level increased to 3
```cpp
RETURN_IF_ERROR(rebuild_dir(key_it));
^
```
**be/src/common/status.h:630:** expanded from macro 'RETURN_IF_ERROR'
```cpp
if (UNLIKELY(!_status_.ok())) { \
^
```
</details>
##########
be/test/io/cache/block_file_cache_test.cpp:
##########
@@ -4644,5 +4642,105 @@
key1.to_string() + "_0/" +
std::to_string(offset));
}
}
+*/
+
+TEST_F(BlockFileCacheTest, test_load) {
+ // test both path formats when loading file cache into memory
+ // old file path format, [hash]_[expiration]/[offset]_ttl
+ // new file path format, [hash]_[expiration]/[offset]
+ const int64_t expiration = 1987654321;
+ if (fs::exists(cache_base_path)) {
+ fs::remove_all(cache_base_path);
+ }
+ fs::create_directories(cache_base_path);
+ auto sp = SyncPoint::get_instance();
Review Comment:
warning: 'auto sp' can be declared as 'auto *sp' [readability-qualified-auto]
```suggestion
h);auto *
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]