Sync Problem on Android. #198
-
Hi Adrian, Any idea's? |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 14 replies
-
Turn on logging and take a look at the requests going out and what data is coming back. At the end of the day, we are processing a series of HTTP requests to the remote service. Something is happening there. Given its not a complete failure, I suspect something is wrong with the data coming back. |
Beta Was this translation helpful? Give feedback.
-
This feels like a missing ‘/‘ on the end of the URI. I try to accommodate that, but apparently not working in your case.
Take a look at the URI you are passing in; does it have a trailing ‘/‘ - if not, add one.
…Sent from my iPad
On Jan 27, 2025, at 7:58 AM, atexinspect ***@***.***> wrote:
Hi Adrian,
I have tried logging and occasionally are getting - StatusCode: 414, ReasonPhrase: 'URI Too Long' when pulling from my local SQL database. I have tried changing the PageSize and MaxTop in my Web App but it doesn't seem to make any difference.
Any help appreciated.
Thanks
Paul.
Request: Method: GET, RequestUri: 'https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?$orderby=updatedAt&$count=true&__includedeleted=true&$skip=219<https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/tables/asset?https://localhost:56557/ta>', Version: 1.1, Content: , Headers:
{
User-Agent: Datasync/8.0.5.0 (lang=Managed;os=Microsoft Windows 10.0.26100/Microsoft Windows NT 10.0.26100.0;arch=X64;version=8.0.5.0)
ZUMO-API-VERSION: 3.0.0
XMid: xxxxxxxxxxxxx
Accept-Encoding: gzip
Accept-Encoding: deflate
Accept-Encoding: br
}
Response: StatusCode: 414, ReasonPhrase: 'URI Too Long', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
Connection: close
Date: Mon, 27 Jan 2025 15:26:47 GMT
Server: Kestrel
Content-Length: 0
}, Trailing Headers:
—
Reply to this email directly, view it on GitHub<#198 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AALLUOPL65KMRXKJV6MHYHT2MZJRDAVCNFSM6AAAAABVFSQKUWVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTCOJXGE4DMNI>.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I believe I have found the source of your error. The problem is in the way the nextLink is generated, and how that is processed by the client. There isn't a quick fix (right now), but I'm working on it within the 9.x work. |
Beta Was this translation helpful? Give feedback.
-
Thanks Adrian, very much appreciated. Paul. |
Beta Was this translation helpful? Give feedback.
-
Hi Adrian, Thanks |
Beta Was this translation helpful? Give feedback.
-
So - this is the relevant problem: https://github.com/CommunityToolkit/Datasync/blob/main/src/CommunityToolkit.Datasync.Client/Offline/Operations/PullOperationManager.cs#L105C1-L109C1 if (!string.IsNullOrEmpty(page.NextLink))
{
requestUri = new UriBuilder(endpoint) { Query = page.NextLink }.Uri;
} Basically, the pull operation is expecting the page.NextLink to be the query alone - not the full URL. The relevant code on the server side is here: https://github.com/CommunityToolkit/Datasync/blob/8.x/src/CommunityToolkit.Datasync.Server/Controllers/TableController.Query.cs#L163C5-L196C1 internal static string CreateNextLink(HttpRequest request, int skip = 0, int top = 0)
=> CreateNextLink(new UriBuilder(request.GetDisplayUrl()).Query, skip, top);
internal static string CreateNextLink(string queryString, int skip = 0, int top = 0)
{
List<string> query = (queryString ?? "").TrimStart('?')
.Split('&')
.Where(q => !q.StartsWith($"{SkipParameterName}=") && !q.StartsWith($"{TopParameterName}="))
.ToList();
if (skip > 0)
{
query.Add($"{SkipParameterName}={skip}");
}
if (top > 0)
{
query.Add($"{TopParameterName}={top}");
}
return string.Join('&', query).TrimStart('&');
} You will note that it generates the nextLink based on the query string as well. That means one of a few possible things:
|
Beta Was this translation helpful? Give feedback.
Hi Adrian,
You are correct, my server was using a pre-community toolkit version. I have updated using the sample code and the pull operation is now working as expected. Thank you very much for the support it is very much appreciated.
Paul.