Skip to content
Snippets Groups Projects
  1. Sep 18, 2017
  2. Sep 15, 2017
  3. Sep 14, 2017
  4. Sep 13, 2017
  5. Sep 12, 2017
  6. Sep 11, 2017
    • Georgy Kirichenko's avatar
      replication: reconnect applier on cfg error · 52268eda
      Georgy Kirichenko authored
      Sometimes old relay instance couldn't be deleted yet before new
      slave subscribe is there. For this case an invalid cfg error is
      returned, and applier should reconnect after timeout.
      
      Fixes #2277
      52268eda
    • Georgy Kirichenko's avatar
      replication: add a test case for timeouts · 7bf7a0d1
      Georgy Kirichenko authored
      Fixes #2707
      7bf7a0d1
    • Georgy Kirichenko's avatar
      Configure applier timeouts via box.cfg · 42f8d9d8
      Georgy Kirichenko authored
      Set applier reconnect delay and ack interval (hearthbeat interval) via
      box.cfg replication_timeout parameter. Relay timeout (time interval
      without hearthbeat messages) is four times bigger than replication_timeout,
      so up to three hearthbeat messages can be skipped until connection to close.
      Fixed #2708
      42f8d9d8
    • Vladimir Davydov's avatar
      vinyl: fix read iterator restoration to a newer version of the same key · 61ffe793
      Vladimir Davydov authored
      After the read iterator selects the minimal key across all available
      sources, it checks mutable sources for new statements using ->restore()
      callback. If there is a new statement in a source, it uses it as the min
      key provided it is *strictly* less than the current min key. If they are
      equal, the min key isn't changed, but this is wrong, because the new
      statement may be newer than the statement selected previously. If we
      don't select it, we might end up with stale data in the cache. Fix this.
      61ffe793
    • Vladimir Davydov's avatar
      vinyl: simplify cache iterator restore · 557b4026
      Vladimir Davydov authored
      Since ->restore() is not used by the read iterator to start iteration
      any more, we can remove the corresponding code from the cache iterator
      ->restore() callback. Although it might be tempting to simplify it even
      more by doing a full lookup every time the cache version changes, as we
      already do in case of memory and txw iterators, it doesn't seem to be a
      sound idea, because the read iterator itself can change the cache
      version on each iteration by inserting new elements into the cache, even
      if there were no disk accesses.
      557b4026
    • Vladimir Davydov's avatar
      vinyl: simplify txw iterator restore · d7342aa5
      Vladimir Davydov authored
      We don't need to handle iterator restart in the ->restore() callback, so
      we can remove the corresponding code. Also, let's reuse the start
      iteration function for restoration, because the two cases are in fact
      equivalent.
      d7342aa5
Loading