@pkramer -
I couldn’t reproduce this on a two node cluster using the following code:
static void Main(string[] args)
{
ClusterHelper.Initialize(new ClientConfiguration
{
Servers = new List<Uri>
{
new Uri("http://localhost:8091")
}
});
var threads = new List<Thread>();
for (var i = 0; i < 50; i++)
{
threads.Add(new Thread(DoWork));
}
foreach (var thread in threads)
{
thread.Start();
thread.Join();
}
Console.Read();
}
public static void DoWork()
{
Task.Run(async () =>
{
for (var i = 0; i < 10; i++)
{
var result = await QueryLastProcessed();
Console.WriteLine(result.Status);
}
});
}
private static Task<IQueryResult<JObject>> QueryLastProcessed()
{
var bucket = ClusterHelper.GetBucket("default");
var queryRequest = new QueryRequest().Statement("SELECT * FROM `default`");
return bucket.QueryAsync<JObject>(queryRequest);
}
Perhaps you could enable logging and see what’s going on under the hood?
-Jeff