2014-10-29 5 views
3

получение «Тайм-аут выполнения SCAN, inst: 0, mgr: ExecuteSelect, queue: 1, qu = 1, qs = 0, qc = 0, wr = 0/1, in = 0/0" при запросе для ключей на redisТайм-аут, выполняющий SCAN

Не знаю, почему это происходит?

public void DeleteKeys(string pattern) 
{ 
    try 
    { 
     EndPoint[] endPoints = m_connectionMultiplexer.GetEndPoints(); 
     foreach (EndPoint endPoint in endPoints) 
     { 
      IServer server = m_connectionMultiplexer.GetServer(endPoint); 
      RedisValue redisValue = pattern; 
      IEnumerable<RedisKey> redisKeys = server.Keys(0, redisValue); 
      foreach (RedisKey redisKey in redisKeys) 
      { 
       m_connectionMultiplexer.GetDatabase().KeyDelete(redisKey); 
      } 
     } 

    } 
    catch (Exception ex) 
    { 
     m_logger.Exception(ex); 
    } 
} 
+0

Я получаю точно такое же сообщение '' Тайм-аут, выполняющий SCAN, inst: 1, mgr: ExecuteSelect, queue: 7, qu = 0, qs = 7, qc = 0, wr = 0/0, in = 0/0'' – Vitalik

+0

@Vitalik, похоже, что Марк на нем. Я делаю FlushAll, так как мой вариант использования - это повторная инициализация проекта, а не удаление определенного шаблона ключей YET. – eugeneK

+0

Не уверен, что это имеет значение, но числа, измененные сегодня: «Таймаут, выполняющий SCAN, inst: 1, mgr: ExecuteSelect, queue: 15, qu = 0, qs = 15, qc = 0, wr = 0/0, in = 0/0'' – Vitalik

ответ

1

Это частности комбинация флагов состояния говорит мне, что одна команда (а именно: scan) застрял в неотправленной очереди, и в то время как он знает, нужен писатель, ни один писатель не активен. У вас есть полный репродукция? Вероятно, это лучше, чем ошибка.

+0

Это происходит все время, как я собираю журналы для ошибки? – eugeneK

+0

@eugene хорошо, то, что вы уже опубликовали, уже очень полезно, поскольку я могу сузить его до активации записи. Если бы у вас был, скажем, консольный exe, который надежно воспроизвел его, что было бы потрясающе. Однако это не то, что я видел. Вы используете vLatest? –

+0

Я использую Win redis port 2.8.12 в последней версии 1.0.333, хотя как-то DLL появляется как 1.0.316.0, возможно, неправильный пакет для 1.0.333 nuget? Если вы не найдете проблему, я могу отправить вам какое-то базовое решение, но вы не получили мою последнюю почту (возможно, из-за какого-то спам-фильтра) – eugeneK