I continue to recieve "is this a Memcached bucket?" when opening a memcache bucket with the SDK

I am using Server version 4.1 and the latest .Net SDK. When I call cluster.OpenBucket(“bucketname”) I recieve the error “is this a Memcached bucket?”

This will happen 2 or 3 times then eventually the bucket opens and works fine.

I’ve looked in the source for the SDK and it seems to happen when an Unknown error is returned from the server while retrieving the bucket config.

@dpupek -

It is expected behavior to see this in the logs. Let me explain, when the SDK bootstrap’s it doesn’t know if you are connecting to a Memcached or a Couchbase bucket. The SDK will first try to bootstrap using a protocol (CCCP) that only supports Couchbase buckets - its a faster, more efficient protocol than streaming HTTP. Since Memcached buckets don’t support CCCP, it will log that it doesn’t and then try streaming HTTP. If the credentials are correct and the bucket exists, then the client will bootstrap successfully.

-Jeff

It’s not just logging it. It actually throws and exception and doesn’t try again. Look in the CarrierPublicationProvider when it receives an unknown response.

@dpupek -

This would be a change in behavior and perhaps a bug then. I’ll look into it; if you can file a Jira ticket that would be helpful.

Thanks,

Jeff

I don’t have a jira login.

@dpupek -

Here is the ticket: https://issues.couchbase.com/browse/NCBC-1208

Can you provide the exception and stacktrace?

-Jeff

----> System.AggregateException : Could not bootstrap - check inner exceptions for details.
  ----> Couchbase.Configuration.ConfigException :  is this a Memcached bucket?
--AggregateException
   at Couchbase.Core.ClusterController.CreateBucket(String bucketName, String password)
   at Couchbase.Core.ClusterController.CreateBucket(String bucketName)
   at NHibernate.Caches.Couchbase.CouchbaseCacheProvider.BuildCache(String regionName, IDictionary`2 properties) in c:\sandbox\Nexport\NexPort.Models\NHibernate.Caches\CouchbaseCacheProvider.cs:line 71
--ConfigException
   at Couchbase.Configuration.Server.Providers.CarrierPublication.CarrierPublicationProvider.GetConfig(String bucketName, String password)
   at Couchbase.Core.ClusterController.CreateBucket(String bucketName, String password)

Here is the line of code in GITHUB that throws the error:

@dpupek -

That code is correct. The exception is caught in ClusterController.CreateBucket(string, string) and the next provider in the list (which is always HttpStreamingProvider) tries to bootstrap and will succeed if the credentials are correct. If not, the aggregate exception will be thrown and within the AggregateException, you will see the first exception that was thrown.

I suspect something else is going on here to keep the HttpStreamingProvider from succeeding if indeed the AggregateException is being thrown at the application level (and thus the client is not bootstrapping).

Can you post the entire AggregateException if there is more? As a note, if you are running a HTTP debugger such as Fiddler or Charles, this may interfere with the HttpStreamingProvider and cause it to fail.

-Jeff

I don’t believe it’s correct. It throws immediately if it’s a config exception while all other exceptions just add themselves to the list of exceptions.

@dpupek -

It’s caught and re-thrown and then caught and added to the exceptions list in ClusterController.CreateBucket(…), which will then throw the AggregateException if the client cannot bootstrap. The whole point is that many things can go wrong bootstrapping and we want to try each provider at least once before throwing an app-level exception.

Additionally, I created a 4.1.0 cluster with a single node and a Memcached bucket and it bootstrapped successfully…I did this in a loop 10 times:

 [Test]
    public void Test_OpenBucket()
    {
        for (int i = 0; i < 10; i++)
        {
            using (var bucket = _cluster.OpenBucket("memcached"))
            {
                Assert.IsNotNull(bucket);
            }
        }
    }

This worked as expected…no exceptions were thrown at the application level. Here are the logs (condensed):

2016-09-28 18:15:14,968 [Worker#STA_NP] DEBUG Couchbase.Core.ClusterController - Trying to bootstrap with   > Couchbase.Configuration.Server.Providers.CarrierPublication.CarrierPublicationProvider.
> 2016-09-28 18:15:14,969 [Worker#STA_NP] DEBUG Couchbase.Configuration.Server.Providers.ConfigProviderBase - Getting config for bucket memcached
> 2016-09-28 18:15:14,971 [Worker#STA_NP] DEBUG Couchbase.Configuration.Server.Providers.ConfigProviderBase - Bootstrapping with 10.142.150.101:11210
> 2016-09-28 18:15:15,078 [Worker#STA_NP] DEBUG Couchbase.Configuration.Server.Providers.ConfigProviderBase - Bootstrapping with 10.142.150.101:11210 failed.
> 2016-09-28 18:15:15,080 [Worker#STA_NP] WARN Couchbase.Core.ClusterController - Couchbase.Configuration.ConfigException:  is this a Memcached bucket?
>    at Couchbase.Configuration.Server.Providers.CarrierPublication.CarrierPublicationProvider.GetConfig(String bucketName, String password) in C:\Users\jmorris\repos\couchbase-net-client\Src\Couchbase\Configuration\Server\Providers\CarrierPublication\CarrierPublicationProvider.cs:line 162
>    at Couchbase.Core.ClusterController.CreateBucket(String bucketName, String password) in C:\Users\jmorris\repos\couchbase-net-client\Src\Couchbase\Core\ClusterController.cs:line 149
> 2016-09-28 18:15:15,082 [Worker#STA_NP] DEBUG Couchbase.Core.ClusterController - Trying to bootstrap with Couchbase.Configuration.Server.Providers.Streaming.HttpStreamingProvider.
> 2016-09-28 18:15:15,090 [Worker#STA_NP] INFO Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig - Bootstrapping from http://10.142.150.101:8091/pools
> 2016-09-28 18:15:15,282 [Worker#STA_NP] INFO Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig - Bootstrapped from http://10.142.150.101:8091/pools
> 2016-09-28 18:15:15,282 [Worker#STA_NP] DEBUG Couchbase.Configuration.Server.Providers.ConfigProviderBase - Starting provider on main thread: 11
> -b176-9c2ebca63e01 on 10.142.150.101:11210 - 761c3b25-446b-45a8-9776-d8bfde7d2c9d
> 2016-09-28 18:15:15,393 [stmconfig] INFO Couchbase.Configuration.Server.Providers.Streaming.ConfigThreadState - Listening to http://10.142.150.101:8091/pools/default/bs/memcached
> 2016-09-28 18:15:15,427 [stmconfig] INFO Couchbase.Configuration.Server.Providers.Streaming.ConfigThreadState - configuration changed count: 0
> 2016-09-28 18:15:15,428 [stmconfig] INFO Couchbase.Configuration.Server.Providers.Streaming.ConfigThreadState - Worker Thread: 20
> 2016-09-28 18:15:15,428 [stmconfig] DEBUG Couchbase.Configuration.Server.Providers.Streaming.ConfigThreadState - {"rev":19,"name":"memcached"....}
> 2016-09-28 18:15:15,439 [stmconfig] INFO Couchbase.Configuration.Server.Providers.ConfigProviderBase - Config changed new Rev#19 | old Rev#19 HTTP: {"name":"memcached"...}
> 2016-09-28 18:15:15,447 [stmconfig] INFO Couchbase.MemcachedBucket - Config updated old/new: 0, 19
> 2016-09-28 18:15:15,451 [Worker#STA_NP] INFO Couchbase.MemcachedBucket - Config updated old/new: 19, 19

You can see that the client tries to bootstrap with CCCP and fails, then it tries Http Streaming and succeeds. In your case it sounds like you cannot bootstrap using HTTP streaming, so the client throws the AggregateException.

If you would like, you can add a project to the Jira ticket I created along with your logs so I can take a deeper look on what is going on in your environment.

-Jeff

Here are the logs from mine:
[INFO ] 2016-09-29 10:13:41,484 Couchbase.Cluster
Message: Version: 2.3.7.0
Exception:

       -----------------------
             [INFO ] 2016-09-29 10:13:41,883 Couchbase.Cluster
        Message: Configuration: {"VBucketRetrySleepTime":100,"QueryFailedThreshold":2,"QueryRequestTimeout":75000,"EnableQueryTiming":false,"SearchRequestTimeout":75000,"NodeAvailableCheckInterval":1000,"EnableTcpKeepAlives":false,"TcpKeepAliveTime":7200000,"TcpKeepAliveInterval":1000,"IOErrorThreshold":10,"IOErrorCheckInterval":500,"UseSsl":false,"SslPort":11207,"ApiPort":8092,"MgmtPort":8091,"DirectPort":11210,"HttpsMgmtPort":18091,"HttpsApiPort":18092,"ObserveTimeout":500,"ObserveInterval":10,"MaxViewRetries":2,"ViewHardTimeout":30000,"Servers":["http://localhost:8091/pools","http://unstablenex01:8091/pools","http://unstablenex01:11211/pools"],"SerializationSettings":{"ReferenceLoopHandling":0,"MissingMemberHandling":0,"ObjectCreationHandling":0,"NullValueHandling":0,"DefaultValueHandling":0,"Converters":[],"PreserveReferencesHandling":0,"TypeNameHandling":0,"MetadataPropertyHandling":0,"TypeNameAssemblyFormat":0,"ConstructorHandling":0,"ContractResolver":{"DynamicCodeGeneration":true,"DefaultMembersSearchFlags":20,"SerializeCompilerGeneratedMembers":false,"IgnoreSerializableInterface":false,"IgnoreSerializableAttribute":true,"NamingStrategy":{"ProcessDictionaryKeys":true,"OverrideSpecifiedNames":true}},"EqualityComparer":null,"ReferenceResolver":null,"ReferenceResolverProvider":null,"TraceWriter":null,"Binder":null,"Error":null,"Context":{"Context":null,"State":0},"DateFormatString":"yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK","MaxDepth":null,"Formatting":0,"DateFormatHandling":0,"DateTimeZoneHandling":3,"DateParseHandling":1,"FloatFormatHandling":0,"FloatParseHandling":0,"StringEscapeHandling":0,"Culture":"(Default)","CheckAdditionalContent":false},"DeserializationSettings":{"ReferenceLoopHandling":0,"MissingMemberHandling":0,"ObjectCreationHandling":0,"NullValueHandling":0,"DefaultValueHandling":0,"Converters":[],"PreserveReferencesHandling":0,"TypeNameHandling":0,"MetadataPropertyHandling":0,"TypeNameAssemblyFormat":0,"ConstructorHandling":0,"ContractResolver":{"DynamicCodeGeneration":true,"DefaultMembersSearchFlags":20,"SerializeCompilerGeneratedMembers":false,"IgnoreSerializableInterface":false,"IgnoreSerializableAttribute":true,"NamingStrategy":{"ProcessDictionaryKeys":true,"OverrideSpecifiedNames":true}},"EqualityComparer":null,"ReferenceResolver":null,"ReferenceResolverProvider":null,"TraceWriter":null,"Binder":null,"Error":null,"Context":{"Context":null,"State":0},"DateFormatString":"yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK","MaxDepth":null,"Formatting":0,"DateFormatHandling":0,"DateTimeZoneHandling":3,"DateParseHandling":1,"FloatFormatHandling":0,"FloatParseHandling":0,"StringEscapeHandling":0,"Culture":"(Default)","CheckAdditionalContent":false},"BucketConfigs":{"dev-pupek":{"UseEnhancedDurability":true,"UseSsl":false,"Servers":["http://localhost:8091/pools","http://unstablenex01:8091/pools","http://unstablenex01:11211/pools"],"Port":11210,"BucketName":"dev-pupek","Password":"","Username":"","PoolConfiguration":{"EnableTcpKeepAlives":true,"TcpKeepAliveTime":7200000,"TcpKeepAliveInterval":1000,"MaxSize":2,"MinSize":1,"WaitTimeout":2500,"MaxAcquireIterationCount":5,"RecieveTimeout":2500,"ShutdownTimeout":10000,"OperationTimeout":2500,"UseSsl":false,"SendTimeout":15000,"ConnectTimeout":10000,"MaxCloseAttempts":5,"CloseAttemptInterval":100,"EnableOperationTiming":false,"BufferSize":16384,"Uri":null,"LockAttributes":[],"LockAllAttributesExcept":[],"LockElements":[],"LockAllElementsExcept":[],"LockItem":false,"ElementInformation":{"Properties":[],"IsPresent":false,"IsLocked":false,"IsCollection":false,"Source":null,"LineNumber":0,"Type":"Couchbase.Configuration.Client.PoolConfiguration, Couchbase.NetClient, Version=2.3.7.0, Culture=neutral, PublicKeyToken=05e9c6b5a9ec94c2","Validator":{},"Errors":[]},"CurrentConfiguration":null},"ObserveTimeout":500,"ObserveInterval":10,"DefaultOperationLifespan":2500}},"PoolConfiguration":{"EnableTcpKeepAlives":false,"TcpKeepAliveTime":7200000,"TcpKeepAliveInterval":1000,"MaxSize":2,"MinSize":1,"WaitTimeout":2500,"MaxAcquireIterationCount":5,"RecieveTimeout":2500,"ShutdownTimeout":10000,"OperationTimeout":2500,"UseSsl":false,"SendTimeout":15000,"ConnectTimeout":10000,"MaxCloseAttempts":5,"CloseAttemptInterval":100,"EnableOperationTiming":false,"BufferSize":16384,"Uri":null,"LockAttributes":[],"LockAllAttributesExcept":[],"LockElements":[],"LockAllElementsExcept":[],"LockItem":false,"ElementInformation":{"Properties":[],"IsPresent":false,"IsLocked":false,"IsCollection":false,"Source":null,"LineNumber":0,"Type":"Couchbase.Configuration.Client.PoolConfiguration, Couchbase.NetClient, Version=2.3.7.0, Culture=neutral, PublicKeyToken=05e9c6b5a9ec94c2","Validator":{},"Errors":[]},"CurrentConfiguration":null},"HeartbeatConfigInterval":10000.0,"ViewRequestTimeout":75000,"DefaultConnectionLimit":5,"MaxServicePointIdleTime":100,"Expect100Continue":false,"EnableConfigHeartBeat":true,"EnableOperationTiming":false,"BufferSize":16384,"DefaultOperationLifespan":2500}
  Exception: 


       -----------------------
             [INFO ] 2016-09-29 10:13:42,138 Couchbase.IO.ConnectionPool`1[[Couchbase.IO.IConnection, Couchbase.NetClient, Version=2.3.7.0, Culture=neutral, PublicKeyToken=05e9c6b5a9ec94c2]]
        Message: Initializing connection on [127.0.0.1:11210 | 1f247101-58dc-44a2-b6d2-8a28a287b5d8] - 5aa24467-f84b-438d-87af-d1cd7811072e - Disposed: False
  Exception: 


       -----------------------
             [INFO ] 2016-09-29 10:13:42,202 Couchbase.IO.ConnectionBase
        Message: System.ObjectDisposedException: Cannot access a disposed object.

Object name: ‘System.Net.Sockets.SocketAsyncEventArgs’.
at System.Net.Sockets.SocketAsyncEventArgs.StartConfiguring()
at System.Net.Sockets.SocketAsyncEventArgs.SetBufferInternal(Byte[] buffer, Int32 offset, Int32 count)
at Couchbase.IO.BufferAllocator.ReleaseBuffer(SocketAsyncEventArgs eventArgs)
at Couchbase.IO.Connection.Dispose()
Exception:

       -----------------------
             [WARN ] 2016-09-29 10:13:42,211 Couchbase.Core.ClusterController
        Message: Couchbase.Configuration.ConfigException:  is this a Memcached bucket?

at Couchbase.Configuration.Server.Providers.CarrierPublication.CarrierPublicationProvider.GetConfig(String bucketName, String password)
at Couchbase.Core.ClusterController.CreateBucket(String bucketName, String password)
Exception:

       -----------------------
             [INFO ] 2016-09-29 10:13:42,250 Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig
        Message: Bootstrapping from http://unstablenex01:11211/pools
  Exception: 


       -----------------------
             [ERROR] 2016-09-29 10:13:42,524 Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig
        Message: Bootstrapping failed from http://unstablenex01:11211/pools: System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine

at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
— End of inner exception stack trace —
— End of inner exception stack trace —
at Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig.DownloadString(Uri uri)
at Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig.DownLoadConfig[T](Uri uri)
at Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig.DownloadConfigs(Uri server)
Exception:

       -----------------------
             [WARN ] 2016-09-29 10:13:42,528 Couchbase.Core.ClusterController
        Message: System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine

at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
— End of inner exception stack trace —
— End of inner exception stack trace —
at Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig.DownloadString(Uri uri)
at Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig.DownLoadConfig[T](Uri uri)
at Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig.DownloadConfigs(Uri server)
at System.Linq.Enumerable.Any[TSource](IEnumerable1 source, Func2 predicate)
at Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig.Initialize()
at Couchbase.Configuration.Server.Providers.Streaming.HttpStreamingProvider.StartProvider(String username, String password)
at Couchbase.Configuration.Server.Providers.Streaming.HttpStreamingProvider.GetConfig(String bucketName, String password)
at Couchbase.Core.ClusterController.CreateBucket(String bucketName, String password)
Exception:

       -----------------------
             [INFO ] 2016-09-29 10:13:42,546 Couchbase.IO.ConnectionPool`1[[Couchbase.IO.IConnection, Couchbase.NetClient, Version=2.3.7.0, Culture=neutral, PublicKeyToken=05e9c6b5a9ec94c2]]
        Message: Initializing connection on [192.168.71.199:11210 | e3c653de-762e-4aca-8541-7db243682f11] - c7d1b0cd-ca35-4042-bcf7-337270af7445 - Disposed: False
  Exception: 


       -----------------------
             [INFO ] 2016-09-29 10:13:42,561 Couchbase.IO.ConnectionBase
        Message: System.ObjectDisposedException: Cannot access a disposed object.

Object name: ‘System.Net.Sockets.SocketAsyncEventArgs’.
at System.Net.Sockets.SocketAsyncEventArgs.StartConfiguring()
at System.Net.Sockets.SocketAsyncEventArgs.SetBufferInternal(Byte[] buffer, Int32 offset, Int32 count)
at Couchbase.IO.BufferAllocator.ReleaseBuffer(SocketAsyncEventArgs eventArgs)
at Couchbase.IO.Connection.Dispose()
Exception:

       -----------------------
             [WARN ] 2016-09-29 10:13:42,562 Couchbase.Core.ClusterController
        Message: Couchbase.Configuration.ConfigException:  is this a Memcached bucket?

at Couchbase.Configuration.Server.Providers.CarrierPublication.CarrierPublicationProvider.GetConfig(String bucketName, String password)
at Couchbase.Core.ClusterController.CreateBucket(String bucketName, String password)
Exception:

       -----------------------
             [INFO ] 2016-09-29 10:13:42,563 Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig
        Message: Bootstrapping from http://unstablenex01:8091/pools
  Exception: 


       -----------------------
             [INFO ] 2016-09-29 10:13:43,383 Couchbase.Configuration.Server.Providers.Streaming.HttpServerConfig
        Message: Bootstrapped from http://unstablenex01:8091/pools
  Exception: 


       -----------------------
             [INFO ] 2016-09-29 10:13:43,442 Couchbase.IO.ConnectionPool`1[[Couchbase.IO.IConnection, Couchbase.NetClient, Version=2.3.7.0, Culture=neutral, PublicKeyToken=05e9c6b5a9ec94c2]]
        Message: Initializing connection on [192.168.71.199:11210 | 82e49bf4-9359-486d-a7a2-870e6cac685a] - 3c771346-efc9-472f-b684-50ea1ff807db - Disposed: False
  Exception: 


       -----------------------
             [INFO ] 2016-09-29 10:13:43,451 Couchbase.Core.Server
        Message: Initialization succeeded for node 192.168.71.199:11210
  Exception: 


       -----------------------
             [INFO ] 2016-09-29 10:13:43,488 Couchbase.Configuration.Server.Providers.Streaming.ConfigThreadState
        Message: Listening to http://192.168.71.199:8091/pools/default/bs/dev-pupek
  Exception: 


       -----------------------
             [INFO ] 2016-09-29 10:13:43,535 Couchbase.Configuration.Server.Providers.Streaming.ConfigThreadState
        Message: configuration changed count: 0
  Exception: 


       -----------------------
             [INFO ] 2016-09-29 10:13:43,536 Couchbase.Configuration.Server.Providers.Streaming.ConfigThreadState
        Message: Worker Thread: 15
  Exception: 


       -----------------------
             [INFO ] 2016-09-29 10:13:43,538 Couchbase.Configuration.Server.Providers.ConfigProviderBase
        Message: Config changed new Rev#28 | old Rev#28 HTTP: {"name":"dev-pupek","bucketType":null,"authType":null,"saslPassword":null,"proxyPort":0,"replicaIndex":false,"uri":"/pools/default/buckets/dev-pupek?bucket_uuid=4517f3dc7c65e582638f5e58ef75866a","streamingUri":"/pools/default/bucketsStreaming/dev-pupek?bucket_uuid=4517f3dc7c65e582638f5e58ef75866a","terseBucketsBase":null,"terseStreamingBucketsBase":null,"localRandomKeyUri":null,"controllers":null,"nodes":[{"couchApiBase":"http://192.168.71.199:8092/dev-pupek%2B4517f3dc7c65e582638f5e58ef75866a","couchApiBaseHTTPS":"https://$HOST:18092/default","replication":0.0,"clusterMembership":null,"status":null,"thisNode":false,"hostname":"192.168.71.199:8091","clusterCompatibility":0,"version":null,"os":null,"otpNode":null,"ports":{"proxy":11211,"direct":11210,"sslDirect":11207,"httpsCAPI":18092,"httpsMgmt":18091},"services":null}],"nodesExt":[{"services":{"fts":0,"mgmt":8091,"moxi":11211,"kv":11210,"capi":8092,"kvSSL":0,"capiSSL":0,"mgmtSSL":0,"projector":9999,"indexAdmin":9100,"indexScan":9101,"indexHttp":9102,"indexStreamInit":9103,"indexStreamCatchup":9104,"indexStreamMaint":9105,"n1ql":8093,"n1qlSSL":0},"hostname":null}],"stats":null,"ddocs":null,"nodeLocator":"ketama","uuid":"4517f3dc7c65e582638f5e58ef75866a","vBucketServerMap":{"hashAlgorithm":"","numReplicas":0,"serverList":[],"vBucketMap":[],"vBucketMapForward":[]},"replicaNumber":0,"threadsNumber":0,"quota":null,"basicStats":null,"bucketCapabilitiesVer":"","bucketCapabilities":["cbhello","nodesExt"],"rev":28,"UseSsl":false,"SurrogateHost":"192.168.71.199","Password":""}
  Exception: 


       -----------------------
             [INFO ] 2016-09-29 10:13:43,564 Couchbase.MemcachedBucket
        Message: Config updated old/new: 0, 28
  Exception: 


       -----------------------
             [INFO ] 2016-09-29 10:13:43,566 Couchbase.MemcachedBucket
        Message: Config updated old/new: 28, 28
  Exception: 


       -----------------------

Notice at one point it says: The server committed a protocol violation. Section=ResponseStatusLine

Yes, that is the issue.

Why is it trying to bootstrap from port 11211? Your bootstrap port should be 8091, unless you used a custom port mapping.

-Jeff

I believe I have fixed it. I had Wireshark and WinPcap installed and I believe they were doing something to the responses. After uninstalling them the “The server committed a protocol violation” errors seem to have gone away

1 Like