-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO
51 lines (37 loc) · 1.37 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
- compaction
- fast : rewrite old pages and discard old partition files
- basic impl. done
- slow : rewrite every entries
- not yet impl.
- !!! compaction can only be done when other thrs are not reading old pages
- TODO: how to ensure this
- need refactoring:
- Page::updateLinks_ depend on mod_info_t, which is deprecated
- workdir may change while run by lib user
- PartitionedPageIO have to handle that
- documentation: add warnings to TableOffCache
- can be reused across transactions, but can't be shared by two or more concurrent transactions.
- ptnk_bindump seems to be broken
- Leaf::update may invoke doSplit but may cause no split
- update from large val -> small val fragments leaf
- this fragmentation is invisible from sizeFree
- doSplit when there is space left
POSSIBLE FIX: allow doSplit without split
-> fixed / but no test
- DupKeyLeaf::curUpdate impl.
mysql storage engine known bugs:
- entire db is lost at unknown timing
ptnk known issues list:
VERY CRITICAL
- DupKey-tree compaction is not implemented! (may result in record-loss)
- Read set
CRITICAL
- version number may exceed 64-bit
- pgid may exceed 64-bit
- handle part id > PTNK_MAX_PARTID
FIXLATER
- remove x86_64 dependency
- remove gcc dependency
- make mmap optional
PERFORMANCE ISSUES
- PartitionedPageIO impl. is very inefficient (especially PartitionedPageIO::readPage)