-
Type:
Improvement
-
Resolution: Unresolved
-
None
-
Affects Version/s: None
-
Component/s: t5memory
-
Critical
-
Emptyshow more show less
During writing to a memory, the t5memory engine can reply with an error which means that the desired memory is overflowing the maximum size (5034,5035,6044). Also, there can be an error which means the block is overflowing (5037). This can happen when saving a lot of segments with the same source text.
If we get an overflow error from t5memory we mark that memory internally (on the language resource level) as not writable anymore, create a new empty memory, and start writing to the new one.
The problem:
Currently, both errors (whole memory overflow and block overflow) are handled the same way so we may have a situation when memory is not overflown and is small in size, but there is a block overflow error and the whole memory is marked as not writable.
The solution:
We should handle block owerflow error differently and do the following:
- create a new empty memory so the segment can be saved
- do not mark previous memory as overflown so the next update can be sent to that memory
- modify the code behind always to try to send updates to the writable memory with the lowest number (memories are named with next-1, next-2 ... suffixes) and only in case it is really overflown mark it as readonly.