我一直遇到的问题始于1.3.3的更新。当我尝试初始化构造函数时,它几乎一直挂起。我创建了一个简单的测试应用程序来测试它,并验证了我设置的两个测试集群(每个测试集群有2个节点)。
我从github下载了Couchbase .NET SDK源代码并向其添加了一个测试项目,以尝试跟踪问题发生的位置,看起来它位于Couchbase.BucketConfigListener.Start()
。
reset.WaitOne()
永远不会回来。
深入挖掘,我发现问题出在Couchbase.MessageStreamListener.ReadMessages(Uri heartBeatUrl, Uri configUrl)
。它似乎是this.response = this.request.GetResponse();
(第395行)悬挂,然后超时,并抛出异常。
我用小提琴手看着流量,看起来(对我来说)一切都还好:
请求:
GET http://:8091 / pools / default / bucketsStreaming / syncpuppylocal?bucket_uuid = HTTP / 1.1 缓存控制:无缓存 授权:基本 主持人:8091 连接:关闭
响应:
HTTP / 1.1 200好的 转移编码:分块 服务器:Couchbase服务器 Pragma:没有缓存 日期:太阳,2007年12月16日21:49:24 GMT Content-Type:application / json;字符集= utf-8的 缓存控制:无缓存
测试集群正在运行最新版本的Couchbase服务器版本:2.5.0企业版(build-1059-rel)
任何帮助将不胜感激!
由于
答案 0 :(得分:2)
我终于弄清楚了。我正在运行fiddler2来检查Web请求/响应的内容。但是,这干扰了bucketsStreaming URI。
一旦我关闭fiddler2并确保没有其他代理,它就可以正常工作。在尝试初始化构造函数之前,我还可以通过重新启动fiddler2来按需重现问题。
希望这有助于其他有此问题的人!