facebook / facebook/rocksdb

Regression in DBTest.PurgeInfoLogs

Open
#10,512 1 comment 0 reactions 0 assignees View on GitHub
regression up-for-grabs
Dominant language
C++
Stars
32.1k
Forks
6.9k
Avg merge
32m
Merged PRs (30d)
1

Description

Running the following command shows a test failure:
./db_test --gtest_filter=DBTest.Pu*

Note: Google Test filter = DBTest.Pu*
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from DBTest
[ RUN ] DBTest.PutSingleDeleteGet
[ OK ] DBTest.PutSingleDeleteGet (455 ms)
[ RUN ] DBTest.PurgeInfoLogs
db/db_test.cc:2574: Failure
Value of: env_->GetChildren(dbname_, &db_files).IsNotFound()
Actual: false
Expected: true
[ FAILED ] DBTest.PurgeInfoLogs (33 ms)
[----------] 2 tests from DBTest (488 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test case ran. (488 ms total)
[ PASSED ] 1 test.
[ FAILED ] 1 test, listed below:
[ FAILED ] DBTest.PurgeInfoLogs

1 FAILED TEST

Running the PurgeInfoLogs alone works fine. I think the problem is that the "db_log_dir" is introduced and never cleaned up.

I have tracked this down to be introduced by the change for #9984. I have not tracked down the solution.

Contributor guide

Open the contributing guide

Research direction

Start by running ./db_test --gtest_filter=DBTest.Pu* and inspect db/db_test.cc around line 2574, especially the PurgeInfoLogs test. Compare the setup and cleanup introduced by #9984, focusing on the db_log_dir mentioned in the report. Done means the filtered tests pass together while PurgeInfoLogs still passes when run alone.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.