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

Change direct saving to tm to queue

    XMLWordPrintable

Details

    • Low
    • If enabled segments in TMs will be updated asynchronously via queued worker (runtimeOptions.LanguageResources.tmQueuedUpdate)

    Description

      t5memory has a feature called reorganization, whose purpose is to fix opened memory in case it is corrupted. The reorganization process can take some time and it depends on memory size.

      The problem:
      When a segment is saved t5 within the same HTTP request (PUT) tries to save it in all memories that support updating data.
      While reorganization is happening t5memory can not save anything to the memory that is being reorganized (version 4.x is completely inoperable at that moment).
      So at that moment, t5 can not save the segment to the memory because it is inoperable. Users can edit and save several segments until memory becomes operable again. And all those segments won't be saved to the memory.

      The solution:
      We need to split saving segment to t5 DB and saving segments to t5memory (and others). Need to do next: when a segment is saved with PUT - an event should be published to something like AMQP. The event should be processed in the background and the segment should be pushed to all needed memories and if memory is unreachable - republish the message for further processing or wait until it's reachable.

      Attachments

        Issue Links

          Activity

            People

              sanya@mittagqi.com Sanya Mikhliaiev
              leonkiz Leon Kiz
              Leon Kiz
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: