Uploaded image for project: 'translate5'
  1. translate5
  2. TRANSLATE-4357

Splitted TMs: Save segments in part with lowest number and still space

XMLWordPrintable

    • High
    • Add support of block overflow error from t5memory, now memory part stays writable in case block overflow error occurs.

      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)

            leonkiz Leon Kiz
            marcmittag Marc Mittag [Administrator]
            Sanya Mikhliaiev
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: