Бөлісу құралы:


RetryLater (NoWriteQuorum)

В этом разделе описывается исключение DataCacheException с кодом ошибки RetryLater и подсостоянием NoWriteQuorum. Эта ошибка указывает на то, что кэш предназначен только для чтения, так как количество узлов недостаточно для соответствия требованиями высокого уровня доступности. Дополнительные сведения о высоком уровне доступности см. в разделе Высокий уровень доступности.

Например, предположим, что кэш Cache1 использует высокий уровень доступности. Если в кластере существует три узла кэша, то постоянно должны работать минимум два узла. Если работает только один узел, то Cache1 будет иметь только основное расположение без дополнительных копий. В этом случае при попытке записи в кэш будет создана эта ошибка.

Ошибка также может возникать даже при доступности узлов для дополнительных копий. При завершении работы узла кэше кластер преобразует дополнительные копии кэша в основные. Затем на другом узле создается новая дополнительная копия кэшированных данных. В момент создания новой дополнительной копии приложение может вызвать ошибку NoWriteQuorum. Обратите внимание на то, что в зависимости от размера кэша и скорости сети этот период может составлять от нескольких секунд до нескольких минут. Если подозревается именно эта причина, то существует способ увеличения скорости переноса данных. Данный процесс описан ниже.

  1. Откройте файл DistributedCacheService.exe.config из каталога ".\Program Files\Windows Server AppFabric" в текстовом редакторе.

  2. Для параметра CopyQueueCapacity замените значение 2 на более высокое значение. Этот параметр должен иметь одно из следующих значений: 2, 4, 8 или 16.

Примечание

При увеличении этого значения может быть уменьшен период задержки, но повысится степень использования ЦП и сети. Влияние этих параметров можно протестировать в ходе моделирования для определения оптимального значения CopyQueueCapacity.

См. также

Основные понятия

Исключения приложений

  2012-03-05