-
Improvement
-
Resolution: Fixed
-
None
-
High
-
Add support of block overflow error from t5memory, now memory part stays writable in case block overflow error occurs.
-
Emptyshow more show less
Problem
If the block of a TM is full and t5memory returns code 5037, we create a new splitted part.
Yet it might be, that the TM-part with the full block is still quite small. This would lead to a TM with many splitted parts, which gets unefficient.
Solution
Example: We have a TM with partsĀ
- TM-XYZ.tmd (read only)
- TM-XYZ_next1.tmd (writeable)
Code 5037 is returned, when saving to TM-XYZ_next1.tmd
Now:
- Trigger a new splitted part TM-XYZ_next2.tmd and save the segment in question there
- Save other segments still in TM-XYZ_next1.tmd
- Only save a new segment to TM-XYZ_next2.tmd, if
- code 5037 is returned again by TM-XYZ_next1.tmd
- or if another code is returned, that triggers TM-split
Regarding TM-part status this may lead to the following situation
- TM-XYZ.tmd (read only)
- TM-XYZ_next1.tmd (writeable)
- TM-XYZ_next2.tmd (reserved)
- TM-XYZ_next3.tmd (reserved)
- TM-XYZ_next4.tmd (reserved)
- TM-XYZ_next5.tmd (reserved)
If now a code is returned, that triggers TM split other then 5037, when writing in TM-XYZ_next1.tmd, it should be written to TM-XYZ_next2.tmd and the TM-part status should change to
- TM-XYZ.tmd (read only)
- TM-XYZ_next1.tmd (read only)
- TM-XYZ_next2.tmd (writeable)
- TM-XYZ_next3.tmd (reserved)
- TM-XYZ_next4.tmd (reserved)
- TM-XYZ_next5.tmd (reserved)