Couchbase: ошибка при записи объекта в корзину

У меня есть веб-приложение, в котором ведро Couchbase удаляется, а затем воссоздается при очистке кеша (поскольку сброс не помог сценарию). Я использую REST API с типом аутентификации sasl и прокси-портом 11211 для создания. Переменная _mcache повторно инициализируется информацией в файле конфигурации после воссоздания корзины.

Я получил ошибку при попытке кэшировать объект после воссоздания... Думал о проблеме со временем, добавил сон после воссоздания, что тоже не помогло. Вот фрагмент файла журнала.

Я знаю, что я что-то здесь отстаю, прошу совета.

2012-11-30 11:27:19 [DEBUG] 5 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - Releasing socket 99103fd0-e03d-4fb8-b2b3-089ce27fc241
2012-11-30 11:27:19 [DEBUG] 5 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - Are we alive? True
2012-11-30 11:27:19 [DEBUG] 5 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - Acquiring stream from pool. 192.168.70.156:11210
2012-11-30 11:27:19 [DEBUG] 5 Enyim.Caching.Memcached.PooledSocket - Socket 99103fd0-e03d-4fb8-b2b3-089ce27fc241 was reset
2012-11-30 11:27:19 [DEBUG] 5 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - Socket was reset. 99103fd0-e03d-4fb8-b2b3-089ce27fc241
2012-11-30 11:27:19 [DEBUG] 5 Couchbase.VBucketAwareOperationFactory.VBGet - Key egfWeo2Xrr1enrI/0gxiqvsNXOe2vHkfNCoh4Lq6UFv0uqAwg+MAvcTYrGMeCBf0KTPL/wEFA7iQqbCWWYbWTw== was mapped to 124
2012-11-30 11:27:19 [DEBUG] 5 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - Releasing socket 99103fd0-e03d-4fb8-b2b3-089ce27fc241
2012-11-30 11:27:19 [DEBUG] 5 Enyim.Caching.Memcached.MemcachedNode.InternalPoolImpl - Are we alive? True
2012-11-30 11:27:20 [ERROR] 6 Couchbase.MessageStreamListener - The infinite loop just finished, probably the server closed the connection without errors. (?)
2012-11-30 11:27:20 [DEBUG] 6 Couchbase.MessageStreamListener - ReadMessage failed with exception: - System.IO.IOException: Remote host closed the streaming connection
   at Couchbase.MessageStreamListener.ReadMessages(Uri heartBeatUrl, Uri configUrl)
   at Couchbase.MessageStreamListener.ProcessPool()
2012-11-30 11:27:20 [DEBUG] 6 Couchbase.MessageStreamListener - Reached the retry limit, rethrowing. - System.IO.IOException: Remote host closed the streaming connection
   at Couchbase.MessageStreamListener.ReadMessages(Uri heartBeatUrl, Uri configUrl)
   at Couchbase.MessageStreamListener.ProcessPool()

person prasuangelo    schedule 30.11.2012    source источник
comment
Можете ли вы дать нам больше информации? - Какую версию Couchbase вы используете? - как вы создаете/сбрасываете свое ведро? Используете ли вы couchbase.com/docs /couchbase-manual-2.0/ ? - Как ваше веб-приложение получает доступ к вашим данным? Не могли бы вы подтвердить, что используете клиентский SDK для доступа к базе данных. (обычно разработчикам не приходится напрямую использовать протокол memcached)   -  person Tug Grall    schedule 03.12.2012


Ответы (1)


Без дополнительной информации трудно дать полный ответ, но вот некоторые идеи.

Как вы сказали, это может быть связано с тем, что ведро/узел еще не вернулись в оперативный режим после удаления/восстановления ведра. Пробовали ли вы хотя бы для тестирования ждать "подольше"? (Я знаю, что это неэффективный обходной путь, но он помогает определить источник проблемы.)

Я думаю, важно понять, почему flush не работает, так как это правильный подход к тому, что вам нужно.

Еще раз, было бы здорово, если бы вы могли предоставить больше информации, а также убедиться, что вы используете последнюю версию клиентской библиотеки.

person Tug Grall    schedule 03.12.2012