8kib page size is not working
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 732
- Forks
- 67
- PR merge metrics
- No merged PRs in 30d
Description
I changed the page size from 4kin to 8kib by modifying this line here:
https://github.com/vmware/splinterdb/blob/fdac74b9a08da73d78e2e747f3431842f80d2297/src/config.c#L13
With this change only, ./test failed with the error message below:
+ bin/unit_test
Running 2 CTests, suite name 'all', test case 'all'.
TEST 1/13 kvstore_basic_stress:test_random_inserts_serial unit_test: src/rc_allocator.c:226: rc_allocator_init_meta_page: Assertion `(1 + (30)) * al->cfg->page_size <= al->cfg->extent_size' failed.
./test.sh: line 12: 25143 Aborted (core dumped) "$UNIT_TEST_DRIVER"
To resolve the above problem, I also doubled the size of extent size in config.c.
This time ./test ran longer than the previous try. But it still failed with the error message below:
+ bin/driver_test splinter_test --functionality 1000000 100 --seed 135
bin/driver_test: splinterdb_build_version 03441c2a-dirty
Dispatch test splinter_test
fingerprint_size: 27
Running splinter_test with 1 caches
Functional test started with 1 tables
Round i= 0, op= 0, nummsgs = 103605, minkey=11047433, maxkey=58702707, mindelta = 262144, maxdelta= 262148
./test.sh: line 25: 26351 Segmentation fault (core dumped) "$DRIVER" splinter_test --functionality 1000000 100 --seed "$SEED"
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the page-size setting and extent-size configuration in src/config.c, then run ./test to reproduce the allocator assertion at src/rc_allocator.c:226. Next, reproduce the later failure with bin/driver_test using the splinter_test command shown in the issue. Done means the 8 KiB page-size configuration completes both test stages without an assertion or segmentation fault.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100