This is a migrated thread and some comments may be shown as answers.

Template for WP Azure project - timeout issues

1 Answer 47 Views
CloudDataSync
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Andrés
Top achievements
Rank 1
Andrés asked on 18 May 2014, 11:08 PM
Hi all, 

Sorry for the brevity but I just lost an extremely detailed version of the post due to some "backspace made the page navigate away" issue and honestly, I'm not going to repeat all that I wrote in the past hour.

Following on a post by Mohamed a couple of months ago (http://www.telerik.com/forums/azure-sync-template-issu).

Yesterday I installed and followed the procedures to create my first Azure Mobile Services Telerik sync App. Instructions at: http://www.telerik.com/help/windows-phone/radcontrols-cloud-synchronization-gettingstarted-azure.html.   There was a couple of hurdles resolving referenced assemblies, easily understandable, somehow easy to fix and clearly explained on the post mentioned above.  However, the last item on that post was some timeout problem and concluded on a support thread (which is not visible).

So here is the problem:
Create the solution. Create the mobile service (including modifying the scripts). Build and run the solution. Everythings works ok.   However, once the app tries to contact the Azure M S however, an exception is raised. 

The outer exception is: 'Telerik.Windows.Cloud.SynchronizationException' and message is "Error: The request has timed out."; digging deep down all the innerException properties, one reaches an Azure client exception: "Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException" which comes from "Microsoft.WindowsAzure.Mobile" and that is where the timeout message comes from.

Digging using Fiddler, it turns out that the timeout happens on the server, inside Azure Mobile Services itself.  This is an entry from the azure log once a read connection is attempted:

Error
The request 'GET /tables/Person?__systemproperties=__createdAt%2C__updatedAt&$filter=(__updatedAt%20gt%20datetime'0001-01-01T05:11:11.000Z')%20and%20(SynchronizationId%20ne%20'be5a7012-ec6e-4def-b6b7-dfa54ebe8a9b')' has timed out. This could be caused by a script that fails to write to the response, or otherwise fails to return from an asynchronous call in a timely manner. At this point in time, the table is empty, configured just as the instructions say.

Note the URI sent from the phone to the Azure M S server.

So, on my original post -which I should have written on a word processor and pasted here so it wouldn't be lost- I presented very clearly how I traced (using Fiddler) this exception to the arguments __createdAt%2C__updatedAt in the query above.  Sending the web request with the URI above (and with the required HTTP headers of course) throws this exception on the server and therefore on the phone.  Note that looking at fiddler, it takes about 3-5 seconds for the server to send the response (so it IS a timeout).

If the request is sent without the parameter above using Fiddler, the call comes back with an HTTP 200 (OK) response.

The stack trace where that call (with these arguments) come from originate on a Telerik library:


at Telerik.Windows.Cloud.SynchronizationContext`1.<SynchronizeAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Telerik.Windows.Cloud.SynchronizationContext`1.<SynchronizeAsync>d__d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Telerik_WP_Azure_1.MainPage.<MainPage_Loaded>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__3(Object state)


Have you seen this before?

thanks,  






  

1 Answer, 1 is accepted

Sort by
0
Deyan
Telerik team
answered on 22 May 2014, 07:35 AM
Hi Andres,

Thanks for writing and for your detailed explanations.

There are a couple of upgrades that Microsoft did with Azure Mobile Services which make the modification of the backend scripts unnecessary.

Additionally, we have observed that if you do not have any items in your Azure Tables, an exception might be thrown if you make a get request for these items.

Let us know if you continue experiencing issues when removing the backend script updates from your tables.

Regards,
Deyan
Telerik
 

Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

 
Tags
CloudDataSync
Asked by
Andrés
Top achievements
Rank 1
Answers by
Deyan
Telerik team
Share this question
or