Skip to content

Commit 9080c6f

Browse files
committed
Draft 0.3.1 release notes
1 parent b0652d6 commit 9080c6f

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

RELEASE_NOTES.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,29 @@
11

2+
# Release Notes - v0.3.1
3+
4+
## Improvements
5+
6+
- **B-Tree concurrency and critical logic**:
7+
- Fixed severe logic errors in `findNext`, `findNearest`, and `scanNode` affecting navigation and ascending order consistency.
8+
- Added `std::shared_mutex` to `BTreeBase` for enabling concurrent reader access while maintaining exclusive writer access.
9+
- Corrected node split/insertion logic in `insertNonFull`.
10+
- Now uses `pwrite` and `pread` to avoid conflicts with other threads accessing the same file. Improves multithreaded performance.
11+
- **FdHandle positional I/O**:
12+
- Added thread-safe positional `pread` and `pwrite` methods for concurrent I/O operations without modifying the seek cursor.
13+
- Replaced `FdHandleData::mutex` with `std::recursive_mutex` to eliminate deadlocks in complex transactions.
14+
- **Concurrency & Stability**:
15+
- Fixed `FreeSpaceFile` SEGV/double-lock crashes under heavy `ThreadPool` contention.
16+
- **Other**:
17+
- Added `sp<T>::numReferences()` to simplify reference count checks.
18+
- Added copy assignment operator to `FdHandle`.
19+
- Enhanced MmapHandle/FdHandle interaction.
20+
21+
## Testing
22+
23+
- Added comprehensive regression tests for BTree concurrency, including a new `BTreeFindNext` suite.
24+
- Added 9 new concurrency/safety tests for `FdHandle::pread`/`pwrite` in `FdHandleTest` suite, covering cross-thread safety, positional consistency, and queueWrite interaction.
25+
- Added regression test for `FreeSpaceFile` concurrent allocation and free.
26+
227
# Release Notes - v0.3.0
328

429
## New Features

0 commit comments

Comments
 (0)