Timeout error while debugging



Every time that I stop the server for debugging the code and then resume, CouchBase calls returns with "OperationTimeout - The operation has timed out."
This occurs both for existing calls and new calls so every time I need to stop debugging and restart.

I’m using VS2013, latest .net sdk and community server.
Is there a flag somewhere that can fix this ?



@itay -

This is supposed to be configurable, but it doesn’t look like it is. I created a ticket: https://issues.couchbase.com/browse/NCBC-811

I scheduled it for 2.0.3/2.1.0; 2.0.2 is almost out the door.




I understand that existing calls are timed out while process hangs in debug. I also assume that any retry mechanism should later succeed.
What I don’t understand is why new calls, that are initiated after execution resume fail.



Hi @jmorris,

Not being able to continue while debugging because the communication with CB server can only be restored by restarting the program prevents me from developing.

Is there another way to reset CB communication while debugging in VS 2013 ?



These are likely queued up when you pause to debug, thus timing out, but once you resume i (and they are cleared) operations should succeed.

I’ll try to get the NCBC-811 out soon so you can verify.



I am not sure I understand 100% what you mean here. I think what you want is to simply remove the operation timeout so that you can debug without a timeout occurring, correct?




I understand that calls to CB can timeout while debugging but what I’m experiencing is different.
While debugging, executing fresh CB queries might fail and I don’t refer to calls that are executed from a different thread.
Once a call fails, all subsequent calls (same or different) fail (with OperationTimeout) and nothing helps, not even retries.
The only way to continue is to restart all over again.

I’m using a cluster of one node, in Azure, behind a VPN, from a local machine, latest .Net SDK. and community server.


@itay -

I see - I am guessing it’s something environment related. Do you think you enable logging and attach the logs to the ticket? Here is the documentation for setting up logging: http://docs.couchbase.com/developer/dotnet-2.0/setting-up-logging.html.




I found it !
And I bet this is not what you thought. It is not even what I thought.

Apparently, timeout works as expected where the current operation times out while debugging, yet consecutive operations DO succeed when continuing with the debugger.

I’m using my own DataTips using the ToString() method.
This means that whenever I hover my objects while debugging, a ToString() method jumps into play. This method calls additional CBDB calls. For example, if I hover over a Beer A, then the ToString() method queries the database of the brewery to return “Beer A from City B”. This works great with a different DB and it is very important.

This results in a meltdown of the system where every further call returns ServiceUnavailable and only a restart of the program restores operation.


@itay -

Interesting. Would you call this a SDK bug, a DataTips bug, or an application bug? If it’s an SDK bug, then I would like to create a ticket and for you to perhaps add the “steps to reproduce” and perhaps a sample project.



Since it happens only in VS I guess it is a .net bug, but you know best which component hangs the communication.

Things are much more stable for me now yet I still have other issues that forces me to restart the app for comm to resume :frowning:
I hope i’ll be able to find and isolate them

To reproduce, you just need to call CBDB from a ToString() that is called when DataTip tries to resolve the additional information when creating the string to display in the Tip