MobileServicePushFailedException  returning zero errors in PushResults

I have created a Xamarin.Android application that uses Azure Mobile Services. I am receiving a MobileServicePushFailedException with zero errors after calling PullAsync().
Why is this happening and how can I fix it?  Can I ignore the exception if there are no errors within the PushResults collection?  If so, why is the error being thrown in the first place?

Hi @gonzobrains
Thanks for getting in touch!
This is a possible situation, in which case you should also check the InnerException property.
I guess there you will find information about why this is happening. If not then please provide details about the specific error (message, stacktrace) and the reproduction steps.
Best,
Ivan

Hi, we haven't heard from you in a while so I'm closing this issue. Please reopen/comment if you have more questions or run into this again.

Hi again Ivan,
I never have any problems with tables except for one.  I get several of the
following messages:
ExecuteTableOperationAsync - Executing operation Update for table
Microsoft.WindowsAzure.MobileServices.MobileServiceTable State=Attempted
09-06 16:03:50.025 I/mono-stdout( 3750): ExecuteTableOperationAsync -
Executing operation Update for table
Microsoft.WindowsAzure.MobileServices.MobileServiceTable State=Attempted
ExecuteTableOperationAsync - Executing operation Insert for table
Microsoft.WindowsAzure.MobileServices.MobileServiceTable
State=Attempted09-06 16:03:50.359 I/mono-stdout( 3750):
ExecuteTableOperationAsync - Executing operation Insert for table
Microsoft.WindowsAzure.MobileServices.MobileServiceTable State=Attempted
ExecuteTableOperationAsync - Executing operation Update for table
Microsoft.WindowsAzure.MobileServices.MobileServiceTable
State=Attempted09-06 16:03:50.742 I/mono-stdout( 3750):
ExecuteTableOperationAsync - Executing operation Update for table
Microsoft.WindowsAzure.MobileServices.MobileServiceTable State=Attempted
The first sync reports success, but I only see one row added on this
update.  When I try to sync a second time, sometimes the rest show up but
other times I get an exception.  The InnerException says this:
Push operation has failed. See the PushResult for details.
The PushResult just shows which rows were problematic but doesn't provide
any additional status information.
I notice this usually happens if I add data to rows that are related to
this one.  I don't seem to get this problem if i just add rows to this
table and not other related ones.
How can I troubleshoot this if no useful error information is provided in
the PushResult objects?
Thanks,
Jeff
On Thu, Sep 6, 2018 at 6:46 AM, Ivan Matkov<EMAIL_ADDRESS>wrote:

Hi, we haven't heard from you in a while so I'm closing this issue. Please
reopen/comment if you have more questions or run into this again.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-mobile-apps-net-client/issues/438#issuecomment-419049681,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWOphdEJZx_Z2CacFPXbv6KPOvloHLCks5uYPz1gaJpZM4UySEr
.

Hi Ivan,
Sorry for all the messages but it appears we are on different time zones so
I'd like to get you all the information I can before I finish up for the
day.
It seems like every time I try to sync the first try returns no errors but
not all rows are getting populated.  A subsequent sync will send more data
but report errors.  Here is all the error data I could gather (see below).
Thanks again,
Jeff
BaseException:Microsoft.WindowsAzure.MobileServices.Sync.MobileServicePushFailedException:
Push operation has failed. See the PushResult for details.
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__34.MoveNext
() [0x00090] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__33.MoveNext
() [0x00143] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__40.MoveNext
() [0x000f2] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.TableAction+d__29.MoveNext
() [0x00081] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__34.MoveNext
() [0x00090] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__30.MoveNext
() [0x00371] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at TempAssure.Data.DataAccess+d__53.MoveNext () [0x00bcc] in
C:\Users\jeff.gonzales\Documents\TempAssureDev\TempQC\Data\DataAccess.cs:429
InnerException:  Exception Message:Push operation has failed. See the
PushResult for details.  Stacktrace:  at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__34.MoveNext
() [0x00090] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__33.MoveNext
() [0x00143] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__40.MoveNext
() [0x000f2] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.TableAction+d__29.MoveNext
() [0x00081] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__34.MoveNext
() [0x00090] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__30.MoveNext
() [0x00371] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at TempAssure.Data.DataAccess+d__53.MoveNext () [0x00bcc] in
C:\Users\jeff.gonzales\Documents\TempAssureDev\TempQC\Data\DataAccess.cs:429
Exception Source:mscorlib  PushResults:PushResult Status:
Complete///RawResult:  OperationKind:Update  TableName:TempQcPo  Status:
Handled:False  Result:  Item:{
"id": "45bf0427f6ae4c0796b7f7841edb2179",
"tempqcid": "dbbe1339fc764f12a4288c13b1bf1a61",
"ponumber": "ii3",
"sitevendorid": "{010E2011-E1DA-4BFE-94DB-7A22DCA6F099}",
"isrejected": false,
"tempqcproductid": "CF676680-F3F2-42EB-A975-D36776F1D55C",
"tempqcacceptovertempreasonid": null,
"tempqcpartnersupervisorid": null,
"partnersupervisoroverridetimestamp": null,
"createdby"<EMAIL_ADDRESS>"createddeviceid": "SERIAL:17200522502152",
"modifiedby"<EMAIL_ADDRESS>"modifieddeviceid": "SERIAL:17200522502152"
}+++  Exception
string:Microsoft.WindowsAzure.MobileServices.Sync.MobileServicePushFailedException:
Push operation has failed. See the PushResult for details.
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__34.MoveNext
() [0x00090] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__33.MoveNext
() [0x00143] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__40.MoveNext
() [0x000f2] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.TableAction+d__29.MoveNext
() [0x00081] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__34.MoveNext
() [0x00090] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at
Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__30.MoveNext
() [0x00371] in <24dbefba60fd49f4b193cdf58abf3290>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
(System.Threading.Tasks.Task task) [0x0003e] in
<43dbbdc147f2482093d8409abb04c233>:0
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
(System.Threading.Tasks.Task task) [0x00028] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd
(System.Threading.Tasks.Task task) [0x00008] in
<43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in
<43dbbdc147f2482093d8409abb04c233>:0
at TempAssure.Data.DataAccess+d__53.MoveNext () [0x00bcc] in
C:\Users\jeff.gonzales\Documents\TempAssureDev\TempQC\Data\DataAccess.cs:429
On Thu, Sep 6, 2018 at 6:46 AM, Ivan Matkov<EMAIL_ADDRESS>wrote:

Closed #438
https://github.com/Azure/azure-mobile-apps-net-client/issues/438.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-mobile-apps-net-client/issues/438#event-1830069237,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWOphdEJZx_Z2CacFPXbv6KPOvloHLCks5uYPz1gaJpZM4UySEr
.

When I try to sync a second time, sometimes the rest show up but
other times I get an exception.

It might be some find of conflict. Here are articles describe how to deal with it:

Handling Conflict Resolution
Conflict Resolution

How can I troubleshoot this if no useful error information is provided in
the PushResult objects?

You can put the additional logs into the network (HttpMessageHandler) and sync (IMobileServiceSyncHandler) handlers. Also the server logs can be useful to monitor what's happening on other side.
If you think if it's the SDK bug could you please provide reproduction steps or minimal reproduction sample?

I will try your suggestions.  But why would there be a conflict on new
records?  Why would they actually get synced but throw an error on the
second try, with the first try not reporting an error at all?
On Fri, Sep 7, 2018 at 4:44 AM, Ivan Matkov<EMAIL_ADDRESS>wrote:

When I try to sync a second time, sometimes the rest show up but
other times I get an exception.
It might be some find of conflict. Here are articles describe how to deal
with it:

Handling Conflict Resolution
https://adrianhall.gitlab.io/develop-mobile-apps-with-csharp-and-azure/chapter3/client/#handling-conflict-resolution
Conflict Resolution
https://shellmonger.com/2016/04/25/30-days-of-zumo-v2-azure-mobile-apps-day-12-conflict-resolution/

How can I troubleshoot this if no useful error information is provided in
the PushResult objects?
You can put the additional logs into the network (HttpMessageHandler) and
sync (IMobileServiceSyncHandler) handlers. Also the server logs can be
useful to monitor what's happening on other side.
If you think if it's the SDK bug could you please provide reproduction
steps or minimal reproduction sample?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-mobile-apps-net-client/issues/438#issuecomment-419368394,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWOpjtagWdN_O_fFzwPU2dvAyE8GHqnks5uYjHpgaJpZM4UySEr
.

Since I can't reproduce this locally, this is just an assumption about the possible cause of these errors. Please let me know if if my assumptions aren't correct or you'll have some new details about it.
Reproduction sample or steps are always welcome :smile:

I will try to follow the suggestions you provided previously to see if I
can find any more error output.  Right now I am stuck since I don't see any
obvious explanation for this behavior.
On Fri, Sep 7, 2018 at 10:43 AM, Ivan Matkov<EMAIL_ADDRESS>wrote:

Since I can't reproduce this locally, this is just an assumption about the
possible cause of these errors. Please let me know if if my assumptions
aren't correct or you'll have some new details about it.
Reproduction sample or steps are always welcome 😄
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-mobile-apps-net-client/issues/438#issuecomment-419461567,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWOplgER8dyk12gzpUjuBdZK2TlzyCDks5uYoX5gaJpZM4UySEr
.

@MatkovIvan   Thanks again for your input.  I have been able to get the "coffee cups" demo set up.  Oddly enough, I don't recall having to define any columns on the table.  Does the Azure Mobile Client library do this for me based on the class used when calling Client.GetSyncTable()?

Not exactly. The cause of this isn't the client library. With Easy Tables, the table schema is actually dynamically created as data is added. This means appropriate data columns do not have to be manually set up.

I am not having any success at all troubleshooting this.  I even created a support ticket in the azure portal but the support engineer is unable to figure this out.  What else can I try doing to figure out exactly what is going on?

Is the problem still original (exception returning zero errors and you don't know why)?
As far as I remember, you build the SDK from the source code to debug. Didn't that help?
Please provide reproduction steps or sample (I see that you already created separate demo app for tests), I will be happy to look at it.

I was able to dig deeper into the PushResult stuff to find out what was
going on.  Apparently, there are some records that just get "stuck" for
some reason.  They are reported as duplicates and violate a database
constraint at a result.  How do you suppose this happened?  How would I get
duplicate records pulled down from the server?  My app never modified these
records so I don't know how a duplicate could have existed in the first
place.  If I call PurgeAsync(true) on the problematic tables my error goes
away.  However, this will remove all local data from that table, right?
When I get a PushResult with an error, how can I selective delete just the
one offending record?  Assuming I can get the record's ID and put it in a
query for PurgeAsync(), how do I determine the table? Is there a dynamic
way to call PushAsync()?  I don't want to perform a switch on all the
tables to get to the write one based on a string passed back in the
PushResult.
On Thu, Oct 18, 2018 at 4:12 AM Ivan Matkov<EMAIL_ADDRESS>wrote:

Is the problem still original (exception returning zero errors and you
don't know why)?
As far as I remember, you build the SDK from the source code to debug.
Didn't that help?
Please provide reproduction steps or sample (I see that you already
created separate demo app for tests), I will be happy to look at it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-mobile-apps-net-client/issues/438#issuecomment-430916578,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWOpm0y5lEL2GtVq2-JRk0Lb_0q3iZ5ks5umDfqgaJpZM4UySEr
.

How do you suppose this happened? How would I get duplicate records pulled down from the server?

It's hard to say without reproduction.

how can I selective delete just the one offending record? Assuming I can get the record's ID and put it in a query for PurgeAsync(), how do I determine the table?

The snippet shows how to get this data:
catch (MobileServicePushFailedException e)
{
    foreach (var error in e.PushResult.Errors)
    {
        string tableName = error.TableName;
        string itemId = error.Item.Value<string>(MobileServiceSystemColumns.Id);

        ...
    }
}

You can add the necessary conditions and actions to make it applicable to your case.

Ivan,
Thank you very much for the snippet.  I currently iterate though the errors
but didn't know how to get the itemId so thank you for that.  Once I have
the tablename, what is the best way to get the actual sync table object
from that tableName string?  Is there a cleaner way than using a switch
statement?
Jeff
On Fri, Oct 19, 2018 at 9:44 AM Ivan Matkov<EMAIL_ADDRESS>wrote:

How do you suppose this happened? How would I get duplicate records pulled
down from the server?
It's hard to say without reproduction.
how can I selective delete just the one offending record? Assuming I can
get the record's ID and put it in a query for PurgeAsync(), how do I
determine the table?
The snippet shows how to get this data:
catch (MobileServicePushFailedException e)
{
foreach (var error in e.PushResult.Errors)
{
string tableName = error.TableName;
string itemId = error.Item.Value(MobileServiceSystemColumns.Id);
    ...
}

}
You can add the necessary conditions and actions to make it applicable to
your case.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-mobile-apps-net-client/issues/438#issuecomment-431367792,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWOpvYO-rgqH-oZsqPodJOEAi8Tv2yuks5umdcmgaJpZM4UySEr
.

https://github.com/Azure/azure-mobile-apps-net-client/blob/70d79ce835881d62a8a5a9399aa1175f1457bd85/src/Microsoft.Azure.Mobile.Client/IMobileServiceClient.cs#L70-L76

Thanks for your reply, Ivan.  Can I do something like this in order to
remove problematic records that don't get synced?
                foreach (var error in pfEx.PushResult.Errors)
                {
                    string tableName = error.TableName;
                    string itemId =

error.Item.Value(MobileServiceSystemColumns.Id);
                    await this.PurgeTableAsync(tableName, itemId);
                }

protected async Task PurgeTableAsync(string tableName, string id)
{
var table = client.GetSyncTable(tableName);
IMobileServiceTableQuery myQuery = table.CreateQuery().Where(x
=> x.Id == id);
await table.PurgeAsync(myQuery);
}
On Mon, Oct 22, 2018 at 6:21 AM Ivan Matkov<EMAIL_ADDRESS>wrote:

https://github.com/Azure/azure-mobile-apps-net-client/blob/70d79ce835881d62a8a5a9399aa1175f1457bd85/src/Microsoft.Azure.Mobile.Client/IMobileServiceClient.cs#L70-L76
var table = client.GetSyncTable(tableName);
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-mobile-apps-net-client/issues/438#issuecomment-431785033,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWOplXi2LZJrKDvKrxWR-BNSoOsV1t_ks5unZw-gaJpZM4UySEr
.

GetSyncTable(tableName) returns non-generic variant so you cannot perform linq here. Also, you can use LookupAsync to get the item by id instead of query.
But overall, it can be done mush easier. Sorry I didn't get this before and just gave you direct answers as some explicit actions can be performed. If you want to just delete the item that is mentioned in the error you can use CancelAndDiscardItemAsync function (it's mentioned in the Conflict Resolution article, which was linked above).
So, here is updated snippet:
try
{
    await client.SyncContext.PushAsync();
    await client.GetSyncTable<MyTableItem>().PullAsync("uniqueue-query-id", table.CreateQuery());
}
catch (MobileServicePushFailedException e)
{
    foreach (var error in e.PushResult?.Errors ?? Enumerable.Empty<MobileServiceTableOperationError>())
    {
        if (true/*the error is problematic*/)
        {
            // Cancels the table operation and discards the local instance of the item.
            await error.CancelAndDiscardItemAsync();
        }
    }
}

Please let me know it works for you.

Okay, I haven't seen any conflicts yet so I can't report on that yet, but the original problem still exists where a call to PushAsync() returns with no errors but only uploads one record instead of all records that were created within our app.  The user thinks the sync completed but it did not.  A second sync will produce a MobileServicePushFailedException (see below), but all records get synced.  A third sync completes quickly and with no errors.
Why does it require three syncs just to get all new data uploaded?  Why is an error not provided upon completion of the first sync?  I have been struggling with this problem for months now and still no resolution.

Microsoft.WindowsAzure.MobileServices.Sync.MobileServicePushFailedException: Push operation has failed. See the PushResult for details.
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <43dbbdc147f2482093d8409abb04c233>:0
at Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__34.MoveNext () [0x00090] in :0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <43dbbdc147f2482093d8409abb04c233>:0
at Microsoft.WindowsAzure.MobileServices.Sync.MobileServiceSyncContext+d__33.MoveNext () [0x0013b] in :0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <43dbbdc147f2482093d8409abb04c233>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <43dbbdc147f2482093d8409abb04c233>:0
at myapp +d__53.MoveNext () [0x00db0] in <711ba96cb91c4ba2aa332de71fe8ec7a>:0

I have a theory.  On the second sync, I get four errors and they are all table operation errors for updates.  These are newly created records, however.  Is it possible that they aren't actually getting inserted on the first sync so when the application tries to update them a conflict exists because they were never inserted so an update can't be performed?

Okay, I have an update.  I have been working with a server-side Azure support engineer.  We used Fiddler to inspect the logs.  Here is what is happening:
First sync:  One record makes it, the rest time out.  We can re-issue the requests in Fiddler and they work fine.  I can see a network time-out error caught in the AMA client library but since it is not reported in the MobileServicePushFailedException my try-catch doesn't see it.
Is it possible the client is updating the local store to report success despite the network time-out not actually allowing the records to go up to the server?
Second sync:  failures show up in MobileServicePushFailedException because the client is apparently tried to update non-existent records.  But all the records actually make it to the server this time.
Is it possible that the errors are left over from the first sync?
Third sync:  Sync completes quickly with no errors, presumably because no new data is being sent.
I'm having difficulty figuring out what breakpoints to set in your client library code to troubleshoot this further.  Any advice?  Thanks.

Good place for a breakpoint - https://github.com/Azure/azure-mobile-apps-net-client/blob/98692e1bbb8b02c6ed541b3b6122cff11068f93f/src/Microsoft.Azure.Mobile.Client/Table/Sync/Queue/Actions/PushAction.cs#L184
Also, there is a PR (#458) that I did a while ago and wrote you about it (https://github.com/Azure/azure-mobile-apps-net-client/issues/437#issuecomment-419368376). It haven't merged yet, but since you use the sources of the library, could you please try this change? If it's really a network timeout it might help.

I have more information regarding this problem.  Sometimes I will get a TaskCanceledException and this isn't handled by TryAbortBatch().  Would it be better to implement TryAbortBatch() in a way that aborts the batch on all errors except for a select list of exceptions that may pass through?
Also, can you point to me where in the code individual records are marked as having been successfully sent to the server?  I suspect that when I get this exception and/or other timeout-related exceptions are occur records are being marked as having been sent, and then when a subsequent sync occurs I get new errors because updates are being sent instead of inserts because the first sync failed but the client library doesn't think so.
What do you think?

I though I updated your codebase already.  I saw a check inserted for
network errors.  I put a check in myself for the TaskCanceledException.
Even with this in TryAbortBatch(), I want to make sure the records aren't
marked as having been successfully sent so as to avoid the update vs insert
issue I mentioned previously.
Which file(s) did you update so I can verify I pulled the changes?  Thanks
again.
On Tue, Oct 30, 2018, 4:24 AM Ivan Matkov<EMAIL_ADDRESS>wrote:

TaskCanceledException is a timeout. It looks like that's what my PR
fixes. Did you try it?
Also, can you point to me where in the code individual records are marked
as having been successfully sent to the server?
https://github.com/Azure/azure-mobile-apps-net-client/blob/98692e1bbb8b02c6ed541b3b6122cff11068f93f/src/Microsoft.Azure.Mobile.Client/Table/Sync/Queue/Actions/PushAction.cs#L147
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-mobile-apps-net-client/issues/438#issuecomment-434211612,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWOpphdwofads8v1Y6imSyiI9fC3ZJCks5uqAzDgaJpZM4UySEr
.

It's listed in #458/files:

src/Microsoft.Azure.Mobile.Client/Extensions/ExceptionExtensions.cs
src/Microsoft.Azure.Mobile.Client/Http/MobileServiceHttpClient.cs
unittest/Microsoft.WindowsAzure.MobileServices.Test.Unit/Extensions/ExceptionExtensions.Test.cs

I will check it out.  Thanks again.  Is it possible to extend the time
before the task cancels?
On Tue, Oct 30, 2018, 6:17 AM Ivan Matkov<EMAIL_ADDRESS>wrote:

It's listed in #458/files
https://github.com/Azure/azure-mobile-apps-net-client/pull/458/files:

src/Microsoft.Azure.Mobile.Client/Extensions/ExceptionExtensions.cs
src/Microsoft.Azure.Mobile.Client/Http/MobileServiceHttpClient.cs

unittest/Microsoft.WindowsAzure.MobileServices.Test.Unit/Extensions/ExceptionExtensions.Test.cs
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-mobile-apps-net-client/issues/438#issuecomment-434244559,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWOpi5D38jspc2DQHtLa-hb3eqLmAs2ks5uqCc2gaJpZM4UySEr
.

I will check it out.  Thanks.
On Tue, Oct 30, 2018, 6:24 AM Ivan Matkov<EMAIL_ADDRESS>wrote:

There is no public API for that, but you can set timeout properties to
this HttpClient object:
https://github.com/Azure/azure-mobile-apps-net-client/blob/98692e1bbb8b02c6ed541b3b6122cff11068f93f/src/Microsoft.Azure.Mobile.Client/Http/MobileServiceHttpClient.cs#L85-L92
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-mobile-apps-net-client/issues/438#issuecomment-434246554,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWOpj6-eXUolYrN7l0W2x3YcSfQMJzCks5uqCjKgaJpZM4UySEr
.

@MatkovIvan
It looks like I already got the #458  update.  Please see the attached image for the additional checks I added.  It seems that in certain cases something else on the client side is timing out that causes the TaskCanceledException that isn't caught by your IsNetworkError() check.  I also added a NullReferenceException() check.
May I kindly suggest revising this method in such a way as to make use of a whitelist approach instead of a blacklist approach?  I can imagine many other exceptions that may occur that should cause the batch to be aborted.  Thanks again.

TaskCanceledException is a timeout. It looks like that's what my PR fixes. Did you try it?

Also, can you point to me where in the code individual records are marked as having been successfully sent to the server?

azure-mobile-apps-net-client/src/Microsoft.Azure.Mobile.Client/Table/Sync/Queue/Actions/PushAction.cs
Line 147 in 98692e1
await this.OperationQueue.DeleteAsync(operation.Id, operation.Version);

I see that this deletes the operation, but what I am after is the point where a record is marked in the local store as already having been sent to the server.  My goal is to prove/disprove my theory that a failed sync still ends up marking records as already having been inserted, which causes the second sync to fail because the client is now trying to perform updates instead of inserts.  Thanks again.

Please see the attached image for the additional checks I added.

Aborting with CancelledByToken is already handled in CancellationToken callback.

It seems that in certain cases something else on the client side is timing out that causes the TaskCanceledException that isn't caught by your IsNetworkError() check.

Could you please provide stacktrace or any other details to analyze\reproduce?

I can imagine many other exceptions that may occur that should cause the batch to be aborted.

I disagree that NPE should abort the batch. This shouldn't have an impact on other valid operations.

what I am after is the point where a record is marked in the local store as already having been sent to the server.

This is it.

If I can reproduce the TaskCanceledException I will send a stack trace.  I
don't think it is happening by virtue of a token; I just used that reason
for lack of a better one to use.
On Tue, Oct 30, 2018, 10:07 AM Ivan Matkov<EMAIL_ADDRESS>wrote:

Please see the attached image for the additional checks I added.
Aborting with CancelledByToken is already handled in CancellationToken
callback.
It seems that in certain cases something else on the client side is timing
out that causes the TaskCanceledException that isn't caught by your
IsNetworkError() check.
Could you please provide stacktrace or any other details to
analyze\reproduce?
I can imagine many other exceptions that may occur that should cause the
batch to be aborted.
I disagree that NPE should abort the batch. This shouldn't have an impact
on other valid operations.
what I am after is the point where a record is marked in the local store
as already having been sent to the server.
This is it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-mobile-apps-net-client/issues/438#issuecomment-434314760,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAWOpnwhR7MvmqlqLPrMJ7Uh4m7mqCb-ks5uqF0lgaJpZM4UySEr
.

Ivan,
Okay, so here is what we've found.  We tried adding an InsertAsync() in our service because the client is always sending PATCH instead of POST.  Unfortunately, the InsertAsync() seems to be what is timing out.
Please see the image below:

What I still don't understand is why the Azure client library still continues to sent PATCH requests for new records.  It only does this for one specific table.  We tried the workaround above but it isn't working out for us.  Here is what we get now with the InsertAsync() code removed:
message=No HTTP resource was found that matches the request URI 'https://ourappnameapi-dev.azurewebsites.net/tables/OURTABLENAME/b80f91ff866c45af9e68ef315d8d8bb2'.
I am really starting to lose my mind with this.  Three Microsoft Azure support engineers have tried to help me with this so far to no avail and now I'm virtually back to square one.  What can I do to figure out why the client library is trying to update instead of insert???  What could possibly cause this behavior?  If I can't fix it on the client side is there something I can do in the service controller to treat these updates as inserts?

Let's collect all known info in one description. There are a lot of messages\issues from you already and I'm not sure what is actual and what isn't.
Also please add logging for all client requests. Use this code snippet:
class LogHttpHandler : DelegatingHandler
{
    protected async override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        Debug.WriteLine("  >>> {0} {1}\n{2}\n{3}\n\n", request.Method, request.RequestUri, request.Headers, request.Content?.ReadAsStringAsync().Result);
        var response = await base.SendAsync(request, cancellationToken);
        Debug.WriteLine("  <<< {0} {1}\n{2}\n{3}\n\n", (int)response.StatusCode, response.ReasonPhrase, response.Headers, response.Content?.ReadAsStringAsync().Result);
        return response;
    }
}

// Usage:
// client = new MobileServiceClient("https://xxx.azurewebsites.net", new LogHttpHandler());

Use the following template to don't miss anything. Feel free to add useful info if it related to this.
Setup

Version of client library: nuget/git commit
Here is the code for performing the update and handling exceptions:

try
{
   ...
}

Steps

Insert the item with id X to table Y

Expected:
Actual:

Pull table Y to the server

Expected:
Actual:
...

Logs

Here is client log:

...

Here is server log:

...

@MatkovIvan
Okay, I will try the logging you suggest.  It has been somewhat of a roller coaster ride because we've been pushing the bump in the carpet a bit.  The issue at hand is what is happening in my previous two posts, namely that the client application is sending PATCH requests for new data when (I think) it should be sending POST requests.
I only see this problem with one table for some reason.
Our backend developer tried to work around this by adding a check in the controller to call InsertAsync() if the record wasn't actually there.  What I've seen in the past two weeks is that was causing some sort of timeout, which we tried to correct by modifying TryAbortBatch().  Doing that may handle the timeout better, but doesn't address the underlying problem of sending updates instead of inserts.
Could you send me an example of what the patch controller should look like?  Also, could you please point out to me where the client-side library makes the decision to send PATCH vs POST?  Does my application code have any say in this matter (i.e., calling insert/update on the local table, perhaps)?
Thanks again,
Jeff

Could you send me an example of what the patch controller should look like?

Create a Table Controller

where the client-side library makes the decision to send PATCH vs POST?

It's based on the operation queue. If you had an insert, it will send this operation.
See usage of
https://github.com/Azure/azure-mobile-apps-net-client/blob/70d79ce835881d62a8a5a9399aa1175f1457bd85/src/Microsoft.Azure.Mobile.Client/Table/Sync/MobileServiceSyncContext.cs#L38-L41

What is supposed to happen if I tried to call UpdateAsync() for a record that did not yet exist?  I think I have narrowed the problem down to that.  In certain cases I am updated a record but didn't insert it yet.  Should the client library catch that and throw an exception?

@gonzobrains
Well, I've figured this out. Thank you for info. The local update operation performed as "upsert", so there are no errors on the client side. The server code should be updated to handle it carefully.
I don't think that it's a client SDK issue since the behavior of ios library the same. I'll raise this issue with colleagues to provide you correct sample of code for server side (as well as update docs).

@MatkovIvan
Thanks for your reply.  Would it be wise for me to do something like the following?
var lst = await dataAccess.myTable.Where(x => x.Id == myRecord.Id).Select(x => x).ToListAsync();
     if (lst.Any())
     {
            // call UpdateAsync()
     }
     else
     {
           // call InsertAsync()
     }

Would it be wise for the client library to catch this for though, i.e., check all calls to InsertAsync() to make sure the id exists already in the local table?

Please do share any server-side code that would help correct this.

If you look above to my post from 2 days ago you will see what we attempted to do on the server-side (call LookupId() and then call InsertAsync() if the ID didn't already exist), but this is what started causing the timeout issue.  In this case, I think maybe the server-side thread just died or something because we never found anything in the logs and a timeout message was never returned to the client via an HTTP response.  I think this is what caused the client-side task to time out and return a TaskCancelledException.  I tried to remotely debug my service but it would just hang on the call to InsertAsync().

That's a possible workaround for client side. But the use of LookupAsync would be more efficient to get the element by id.
I'm talking to a colleague who's familiar with the server side to help you. We'll keep you informed.

Your server code looks correct. Timeout caused by 2 simple operations is definitely separate non-client SDK issue. Unfortunately, there is no "upsert" as one operation in server SDK.
So, since the case is clear and this is by design on client side, I'm closing the issue.


Revert "support osd migration in RDR customers"

This reverts commit d2cccaeb6d6790d4e43817e0405f49dd85a11663.
This PR reverts the changes done in PR https://github.com/red-hat-storage/ocs-operator/pull/2162 to migrate existing bluestore OSDs to use bluestore-rdr
Note: The plan is to merge this before the 4.14 RC. Refer BZ

/assign @iamniting


Avoid mutable constant warning in a test

This PR avoids an explicitly added exemption from a RuboCop warning.

👍


Dev

Q
A

Bug fix?
no

New feature?
Yes

New sample?
no

Related issues?
fixes #X, partially #Y, mentioned in #Z

What's in this Pull Request?
Pull request adds ADFS Certificate authentication. It does this by
CertificateMixed.cs
CertificateWSTrustBinding.cs
And updating AuthenticationManager to provide functions that will enable us to authenticate against ADFS using Client Certificates (PIV) on premise.
Please review. I don't have a ton of experience with ADFS Client Certificate Authentication. It is working within my environment but may need some updates / cleanup.
thanks.

Hi @mrpullen, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@mrpullen, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

Thanks for this contribution Michael. We'll process this in the coming days.


Fix panic! when passing short buffer to read

I have noticed that as part of the handshake process, if a short buffer (less than 48 bytes) is passed then the library panics.
Instead, it should error out. The test reproduces the panic.

Thanks again, @D4nte.

@mcginty no worries, what is the crate release schedule? I need to remove this check from my application now :)

I had to head out early yesterday, but will put a 0.5.1 release out today with this fix.


onDownload return false do not cancel download

I want to cancel download button.
I return false according to the docs. But it's not working.
It's still download.
Help me, please.
Thank you

I'll need you to post a minimal example that demonstrates the issue in order to see what's happening. It works on my end and it passes the appropriate tests, so it is likely that there is something on your end that is causing the issue.

Here is my code sandbox.
https://codesandbox.io/s/muidatatables-custom-toolbar-mfut5
It's event don't go into function

Ok, so it looks like your issue is that your version of this library is too low, at least according to the example you created. The feature that lets you skip download was added to this release https://github.com/gregnb/mui-datatables/releases/tag/2.6.0, so you need that version or higher.

Closing as resolved.

Hi, the version that I'm using is higher than 2.6.0 and the download button is not been disabled when returning false. Here is my sample: https://codesandbox.io/s/mui-datatables--snr7y
And I have one question about download external CSV, how could I do that?


Start in TTY not work.

My tablet not work with hyprland. it's use intel-gpu and nvidia gpu.
And Before, I have got a session backend is null.
But it seems not work. the log I show some case:

Not a wiki issue.


Add Basic Support for V2 Docker-Compose Configs

This commit adds support for V2 docker-compose configs. It does not add
any functionality included in the new style of config. Specifically, it
does not add functionality for the new Volume or Network entries. It
also doesn't handle the fact that some keys have had their positions in
the config tree moved.

Travis error:
1) DockerCompose Without memory should be able to access gem version
   Failure/Error: config = DockerComposeConfig.new(filepath)

   NameError:
     uninitialized constant DockerCompose::DockerComposeConfig
   # ./lib/docker-compose.rb:26:in `load'
   # ./spec/docker-compose/docker_compose_spec.rb:6:in `block (3 levels) in <top (required)>'

I am not responsible for this gem. But in addition to fix that error, I think you should add some tests. See the spec/ directory.
Related issue: https://github.com/mauricioklein/docker-compose-api/issues/21

@zuazo Thanks for the advice! I've corrected the issues and added tests for the new code.

Outstanding job folks.
Thanks for the contribution.
Merging and generating a new release soon...


fix: percel as a production dependence

Description
fixed the bug faced in deployment where the bundler was a dev dependency

Thanks for this boss. How is the other backend part comming up???

I just use the wire it up with the existing pages

Another thing the code quality is still not good .


devel/win/msbuild: provide the msbuild windows build tool

added the msbuild tool
added a class to use the msbuild tool: added the tool to PATH
get the path by vswhere py plugin

ping, that's up with that one here?
is there still something to do?

Thanks! Also for the ping. It just slipped through...


cli: increase NeoFS pool deadlines for upload-bin command

Close #3620

Have you tried to upload with the updated timeouts? Was uploading operation interrupted by timeout?

Currently, the NeoFS mainnet is responding slowly or not responding at all. The pool is failing with timeouts. On the testnet, the default values have been sufficient and are still working fine. Even though testnet hardware is quite limited and should be much slower than the mainnet, it is hard to adjust the parameters accurately at this point. I tried changing both The Stream and Dual timeout settings. Only with larger values for both was the uploader able to upload a few batches, but it took a couple of hours, which is unacceptable.  Our side is functioning as expected, but something has gone wrong on the NeoFS side.

just in case -s 60s should be provided for increasing neo-go timeout too
 ./bin/neo-go util upload-bin --cid HmP48JvCcmiEbJemG7jFNEg2qkdCTx4thD3EwWUi288Q --wallet-config ./wallet-config.yml --block-attribute block --index-attribute index --rpc-endpoint https://rpc.t5.n3.nspcc.ru:20331 -fsr st1.storage.fs.neo.org:8080 -fsr st2.storage.fs.neo.org:8080 -fsr st3.storage.fs.neo.org:8080 -fsr st4.storage.fs.neo.org:8080 -s 60s

for increasing neo-go timeout too

RPC client timeout doesn't affect ordinary RPC requests, AFAIK.

RPC client timeout doesn't affect ordinary RPC requests, AFAIK.

My bad, of course it does, I just missed that line in code.


add documentation for new 10.0.24 VHD

:white_check_mark: Organization membership check passed
Requester is not a member of the MicrosoftDocs organization.

@josaw1 Could you let me know why this change is not considered? I think it adds valuable information about the new VHD setup.

@sericks007 Thanks for the response. I'm aware of Set up the downloadable VHD for first use. Actually, it is the reason for the proposed change. The goal is to raise awareness of this new guide for the 10.0.24 VHD by linking to it in a note on this page (which contains the general documentation on environments, including local VHD environments). If someone just follows this documentation, they encounter the error that is described in the Q&A I added at the end. Both the note and the Q&A link to the new guide, which helps people discover it. This also helps avoiding support cases for Microsoft and partners from people setting up the 10.0.24 VHD for the first time.
Please consider the proposed changes for review or let me know how visibility of the new guide could be improved otherwise.

@sericks007 I was wondering when the changes to this page will be available on docs.microsoft.com? I saw that other changes made at a later date are already published, e.g. https://github.com/MicrosoftDocs/dynamics-365-unified-operations-public/commit/964cbeb2d79bd00dd60ee34bc970ab0700b6211c

Thanks for the reminder, @FH-Inway!  It is updated now.


Duplication of multiple selected nodes stacks them all on top of each other, and pulling a connected node to empty bug.

The duplication should probably take the offsets of the original nodes and add them to the mouse cursor offset when instancing the dupes.
If I pull off of a node to empty space, the state for auto plugging it into the node that pop-up makes stays active. So If I do make or duplicate a node it will auto connect to that node and disconnect from wherever else it is connected to. Here's a video showing tonights issues I had. https://youtu.be/zo8ZFITr1lQ

I'll fix the issue with duplicating multiple nodes.
Although the issue with pulling a connected node, cancelling and duplicating a node; that I knew about and kept it in because I found it useful for exactly this scenario LOL.
Anyway, I'll fix them both and let you know.


Query result is empty on non-empty tables

I have a postgres instance running in docker with a non-empty test_table:

When I select the result directly through POSTGRES_SCAN from this table in duckdb, the result is empty:

When I attach the tables using POSTGRES_ATTACH, I can see the table is successfully a attached with correct schema, however the result is still empty:

I'm not sure what's happening here. Is there anything that I missed to configure?

I apologize if this is a basic question! Did you already commit the transaction where the table was populated?

I apologize if this is a basic question! Did you already commit the Postgres transaction where the table was populated?

Thanks for the quick reply. Yes, and I can fetch the table from new connections using psql or python client.

It turns out the extension uses pages_approx to check whether the local state is done, which is collected from the pg_class.relpages and will only an estimation and will be updated by commands like analyze.
The result becomes correct after I run analyze on postgres. But I wonder is it a good way to use the estimation result to check the result? If it has to be done in this way, would be better to mention it in the readme.

Can you try with the latest again? I think this is fixed.

@hannes It works now, thank you!


Language settings feature

Hello,
is it possible to add feature to set language of commit message?
There are possibilities to change conversation's language in ChatGPT.
Thank you.

I haven't fully looked at the source code yet, but I think it's possible. In assigning the content attribute, there could be a setting to determine which language the chat should use to create the messages.

@AdrielBento I had the same idea how to change the code. I wanted to add only this code:
${config?.language ? `Use ${config?.language} language`:  ''
I suppose you already tried this approach too.

Just adding a screenshot of ChatGPT.  No context before.

PR is merged <3


Form embedded Login Requires -> Change of tool for Form

After forms embedding in website we are unable to send data ...why? any ideas??

Priorità: bassa
Richiesta

Come si riproduce il bug

Risolto?

[ ] Ho verificato che il problema è stato risolto

best thing to change the tool for web form. possibilities
https://formio.github.io/formio.js/
https://bpmn.io/toolkit/form-js/

formio seems a good tool. to test.

first test http://europehelp.info/forms/segnala_news/

frontend seems ok using formio. to be tested with backend integration

online.


Entire application rewritten to TypeScript and login system improved

Rewritten to typescript
After several attempts, we have successfully migrated the entire project from Javascript to Typescript. This will allow us to make corrections and improvements much more efficiently, even after the release of version 4.0 with the backend in Rust. The project also uses Vite to make our lives easier.
Improved login system
The previous login system was based on a rather clumsy localstorage of cookies and manually attaching them to every request to shinden.pl. This led to a lot of unexpected behaviour and errors that were very difficult to find. Now you can log in without any problems and watch anime that are invisible to anonymous users.
The application is also subjectively faster after the changes, I have not measured this precisely

confirmed


SA "Sturmangriff" has wrong effect

Describe the bug
The SA Sturmangriff has a wrong effect. It should be "+2+GS/2 TP" instead of "+2+GS*2 TP".

Already in the next patch (Soon)


Compatibility with rails 5 beta 2

All tests are passing (tested using ruby 2.3)

I see you need to bump ruby version to at least 2.2.2 for rack 2.0 to work

Awesome thanks for the attention to this! I think I'd like to continue supporting rails 4. Would you mind taking another pass so that it supports 4 and 5?

Sorry, my bad. Done ;)

Perfect thanks for the help.

Any plans to release new version of gem with this?

done.

Thanks :+1:

This was working for 5.0.0.rc2, but is failing on 5.0.0

@seanfcarroll I don't have an app running 5.0 yet so don't really have an easy course to verify or test. I would imagine a fix would be pretty simple and would love a PR if you could manage. If not, please open a new issue and report the actual failure details so that I can take a look at them.


Add dll that uses VS 2013 redistributables

Current dll is compiled with VS2015 and requires the VS2015 redistributables. It would be useful to have a version compiled with VS2013 requiring the VS2013 redistributables. Alternatively please supply a static library.
Thanks

Hi deanmark,
It is on my list. Stay tuned.

Seems like it is not needed anymore since the library is now open-source!


Authentication Failed

Hello and thank you for this project. I am attempting to scan a RouterOS device running  version 7.1.3 and I am getting an authentication failure from paramiko. The RouterOS logs say expected msg: 50 got: 5. After some good old fashioned BING searches I saw similar issues opened with an Ansible module (see here: https://github.com/ansible/ansible/issues/55042). I tried a few suggestions mentioned in that thread but did not find luck. Regular ssh user@address -p 2223 works as expected.
python3 main.py -i <IP_ADDRESS> -p 2223 -u jared+cet1024w -ps PASSWORD
Mikrotik ip address: <IP_ADDRESS>

Traceback (most recent call last):
  File "/Users/jared/routeros-scanner/main.py", line 62, in <module>
    main(args)
  File "/Users/jared/routeros-scanner/main.py", line 28, in main
    ssh_client.connect(hostname=args.ip, port=args.port, username=args.userName, password=args.password)
  File "/usr/local/lib/python3.9/site-packages/paramiko/client.py", line 435, in connect
    self._auth(
  File "/usr/local/lib/python3.9/site-packages/paramiko/client.py", line 766, in _auth
    raise saved_exception
  File "/usr/local/lib/python3.9/site-packages/paramiko/client.py", line 753, in _auth
    self._transport.auth_password(username, password)
  File "/usr/local/lib/python3.9/site-packages/paramiko/transport.py", line 1563, in auth_password
    return self.auth_handler.wait_for_response(my_event)
  File "/usr/local/lib/python3.9/site-packages/paramiko/auth_handler.py", line 244, in wait_for_response
    raise e
paramiko.ssh_exception.AuthenticationException: Authentication failed.`

You need to set the paramiko parameter "look_for_keys" to false.
Change line 29 in main.py to this:
        ssh_client.connect(hostname=args.ip, port=args.port, username=args.userName, password=args.password, look_for_keys=False)

Had the same problem, setting the paramiko parameter "allow_agent" seems to work around the problem.
Started to work for me after I changed the line mentioned above to:
ssh_client.connect(hostname=args.ip, port=args.port, username=args.userName, password=args.password, look_for_keys=False, allow_agent=False)

Hm, doesn't help, unfortunately :(

You need to set the paramiko parameter "look_for_keys" to false.
Change line 29 in main.py to this:  ssh_client.connect(hostname=args.ip, port=args.port, username=args.userName, password=args.password, look_for_keys=False)

Thanks! Worked flawlessly. @organicnz Did you maybe enabled ssh key authentication? Try creating new read-only user for this script and try again ;)

Thanks! Worked flawlessly. @organicnz Did you maybe enabled ssh key authentication? Try creating new read-only user for this script and try again ;)

Thanks for the reply, mate :)
I've just created a new read-only user, but it hasn't helped so far :)
<img width="641" alt="Screen_Shot_2022-03-21_at_11_03_34" src="https://user-images.githubusercontent.com/4

765090/159223503-0cce319d-73e9-4460-947d-3a519593389f.png">

@organicnz Looks like you forgot to add allow_agent=False parameter in your ssh_client.connect function
ssh_client.connect(hostname=args.ip, port=args.port, username=args.userName, password=args.password,  look_for_keys=False, allow_agent=False)

You need to set the paramiko parameter "look_for_keys" to false.
Change line 29 in main.py to this:  ssh_client.connect(hostname=args.ip, port=args.port, username=args.userName, password=args.password, look_for_keys=False)

Traceback (most recent call last):   File "/root/routeros-scanner/main.py", line 62, in <module>     main(args)   File "/root/routeros-scanner/main.py", line 31, in main     res = command.run_ssh(ssh_client)   File "/root/routeros-scanner/commands/dns.py", line 16, in run_ssh     sus_dns, recommendation = self.check_results_ssh(res, enabled)   File "/root/routeros-scanner/commands/dns.py", line 27, in check_results_ssh     if int(item['ttl'].partition('s')[0]) > 200000: ValueError: invalid literal for int() with base 10: '1d'

Having the same issue on Kubuntu 20.4 (had to install missing module paramiko using python -m pip install paramiko)
$ python3 main.py -i <router-ip> -p <port> -u <user> -ps <passwd>
Mikrotik ip address: <router-ip>

Traceback (most recent call last):
  File "main.py", line 62, in <module>
    main(args)
  File "main.py", line 28, in main
    ssh_client.connect(hostname=args.ip, port=args.port, username=args.userName, password=args.password, look_for_keys=False, allow_agent=False)
  File "/home/martin/.local/lib/python3.8/site-packages/paramiko/client.py", line 435, in connect
    self._auth(
  File "/home/martin/.local/lib/python3.8/site-packages/paramiko/client.py", line 766, in _auth
    raise saved_exception
  File "/home/martin/.local/lib/python3.8/site-packages/paramiko/client.py", line 753, in _auth
    self._transport.auth_password(username, password)
  File "/home/martin/.local/lib/python3.8/site-packages/paramiko/transport.py", line 1563, in auth_password
    return self.auth_handler.wait_for_response(my_event)
  File "/home/martin/.local/lib/python3.8/site-packages/paramiko/auth_handler.py", line 258, in wait_for_response
    raise e
paramiko.ssh_exception.AuthenticationException: Authentication failed.

Tried all possible combinations with/without look_for_keys and allow_agent as suggested above.
Tried to create new read/full access user without/with SSH key, nothing seems to work.

You need to set the paramiko parameter "look_for_keys" to false.
Change line 29 in main.py to this:  ssh_client.connect(hostname=args.ip, port=args.port, username=args.userName, password=args.password, look_for_keys=False)

@organicnz Looks like you forgot to add allow_agent=False parameter in your ssh_client.connect function
ssh_client.connect(hostname=args.ip, port=args.port, username=args.userName, password=args.password, look_for_keys=False, allow_agent=False)

Traceback (most recent call last): File "/root/routeros-scanner/main.py", line 62, in <module> main(args) File "/root/routeros-scanner/main.py", line 31, in main res = command.run_ssh(ssh_client) File "/root/routeros-scanner/commands/dns.py", line 16, in run_ssh sus_dns, recommendation = self.check_results_ssh(res, enabled) File "/root/routeros-scanner/commands/dns.py", line 27, in check_results_ssh if int(item['ttl'].partition('s')[0]) > 200000: ValueError: invalid literal for int() with base 10: '1d'

I also have the same problem if you check the log file of mikrotik its clearly being authenticate but there's something wrong if the routeros-scanner/commands/dns.py

Hi, we uploaded several in-house fixes for those issues. You can see the updates here: https://github.com/microsoft/routeros-scanner/pull/24


Can not install helm2

I am installing helm2 in the process of installing spinnaker.
Spinnaker installs helm3 and helm2.
The installation uses "get" and "get-helm-3" under scripts on the master branch.
However, an error occurs when Helm2 is installed. (/scripts/get)
$ ./get
Downloading https://get.helm.sh/helm--linux-amd64.tar.gz
SHA sum of /tmp/helm-installer-5smvOv/helm--linux-amd64.tar.gz does not match. Aborting.
Failed to install helm
	For support, go to https://github.com/helm/helm.

The released v2 goes to the second page and an error occurs.
$ cat ./releases |grep "helm/helm/releases/tag"
          Helm v3.5.4
          Helm 3.5.3
          Helm 3.5.2
          Helm 3.5.1
          Helm 3.5.0
          Helm v3.5.0-rc.2
          v3.5.0-rc.1
          Helm 3.4.2
          Helm v3.4.1
          Helm v3.4.0

(Google Translation Documents)

#9607


General TCP+TLS Documentation?

Can this library support TCP + TLS communications? is it under "other"?
Would be nice to see some clarification in this! thanks!

Sorry to take so long to respond.   I recently started using the https://github.com/joeferner/node-http-mitm-proxy package to support https, and manage the certificates.  The Middleman proxy listens on port 9999 (default) for incoming HTTP Connect requests (https tunnel), and https requests.  Your browser proxy can be configured to proxy https to localhost:9999.  Backend microservices can also be configured to send https messages to localhost:9999.
The https: tab configures URL paths to route https messages received from a microservice to the origin server.  The proxy: tab by default captures all https traffic from the browser.
I hope that helps.


Allow symlinks for copy_to_directory

Thanks for a very neat lib!
I was wondering if it would be possible to add an optional allow_symlink = {True,False} to copy_to_directory similar to how skylib have for copy_file:
https://github.com/bazelbuild/bazel-skylib/blob/main/tests/copy_file/BUILD#L123

I did a bit of investigation and I don't think this is possible at the moment.
copy_to_directory produces a TreeArtifact. Bazel doesn't seem to allow symlinks within TreeArtifacts. See https://bazel.build/rules/lib/actions#declare_symlink.

Symlinks inside tree artifacts are not currently supported

I was able to get absolute symlinks working without Bazel complaining, but I think that would cause remote cache misses which is not ideal.
Feel free to reopen this if I'm missing something.


Open white window

I try v.0.17 on Windows 11 Pro and LOVR opens only white window. I try also the hello world project and the result is the same. In console have no messages.

What GPU do you have?  It could be a problem with Vulkan initialization.  Running with --graphics-debug argument could produce more information.

There's also a Vulkan test you can try to see if your GPU is capable:
https://github.com/skeeto/vulkan-test

I have last updated nVidia GeForce RTX 3060 12GB GDDR6

C:\lovr>lovrc.bat --graphics-debug
lovr --console --graphics-debug
Warning: GPU debugging is enabled, but validation layer is not installed

I'm on Windows 11 Pro too (23H2) and also have an RTX 3060 12GB. Try this:
On the project folder (where main.lua is located) create a new file and name it conf.lua
Paste this inside and try running your project:
function lovr.conf( t )     t.headset.drivers = {'desktop'} end

@immortalx74 I have the same system configuration, but this not help. The lovr.exe opens full white window (There is responsive system menu). And I see that when it is open, the GPU is at 100% load.

It could maybe be a problem with window resizing?  This is really bizarre...  I agree with immortalx that it would be good to check if lovr.update is getting called or if audio can play properly.

Closing since this isn't actionable without more information.


JCS-209 - Use Collections.singletonList insteadof Arrays.asList when there be only with few arguments

Use Collections.singletonList insteadof Arrays.asList when there be only with few arguments
Use empty array

The toArray() method is supposed to use the provided array if it can take the elements in the collection. So we save creating another object with the pre-allocated array.
I'm fine with the other changes.

Hi @tvand
I have reversed the change. the idea of this change was to improve performance.
There is a cool compilations here --> https://shipilev.net/blog/2016/arrays-wisdom-ancients/#_new_reflective_array
TY


Track information about each days processed samples

In the metadata it would be helpful to know on each day:

mean and median HMM cost of matches
counts by scorpio designation

Both of these useful to plot on the resources/samples per day plots. Presumably overall resources used is a function of the HMM cost of the matches.


statement is not reset between each execution

Describe your system

odbc Package Version: 2.3.5
ODBC Driver: unixODBC
Database Name: IBM i Access ODBC Driver
Database Version: DB2 for i
Database OS: V7R3
Node.js Version: 14.11.0
Node.js OS: IBM i

Describe the bug
The result of a statement.execute() is accumulated with the previous execute.
Expected behavior
It should only containt the result of the last execution.
To Reproduce
Run code below.
I would expect the output in the log to be
4
4
4
It actually returns
4
8
12
Code
const odbc = require('odbc');
async function test(){
const connection = await odbc.connect('DSN=NODE.JS_WEBSERVICES;PWD=XXXXXXXX;');
await connection.query(CREATE OR REPLACE TABLE testlib.testfile(recordId int, code varchar(1)) ON REPLACE DELETE ROWS);
await connection.query(INSERT INTO testlib.testfile VALUES(1, 'A'),(2, 'A'),(3,'A'),(4,'A'));
const stmt = await connection.createStatement();
await stmt.prepare(SELECT * FROM testlib.testfile WHERE code=?);
for(i=0; i<3; i++){
await stmt.bind(['A']);
let result = await stmt.execute();
console.log(result.length);
}
}
test();

Good find. I've been implementing a cursor functionality to allow fetch calls and I noticed something similar, but I didn't realize it affected statements as well.
In this commit, I added some logic to delete the underlying bound data after it has all been converted to JavaScript values: https://github.com/markdirish/node-odbc/pull/152/commits/7aa138c7b542522ffc2b484780f83c82a7f1ac56 This should remedy both issues. Will close issue when I get it merged in.

2.4.0 is now published and this should be fixed. Feel free to open if it still seems broken!


Error: Can't set headers after they are sent.

Hi Guys,
I getting an error as in the heading. My test is quite simple I don't do much but set two headers. I should mention though that I only get the error when setting more than one header in my request, when setting a single header I get no errors.
The test does pass as expected the problem is that the test feedback is polluted with endless lines of stack trace.

Setting multiple headers on a request is supported and should work fine. Here is a quick code snippet for how to do it.
            supertest(app)
                .get('/test')
                .set('Accept', 'application/json')
                .set('Content-Type', 'application/json')
                .expect(200)
                .end(function(err, res) {
                    done();
                });

If you have further questions, please try to post a question on stackoverflow.com using the tag supertest.


scratch-js: don't restringify number inputs

Resolves #9
Currently, sb-edit compiles this:

into this:
this.stage.vars.myVariable = 8355711;

With this PR, it compiles to this:
this.stage.vars.myVariable = 0x7f7f7f;

If a value can be parsed as a Number, instead of re-stringifying the parsed value (which will result in a decimal literal), just use the unparsed value.

This would probably be better + more safely done with some more advanced JS-emitting machinery that doesn't exist yet.

I'm not sure I fully understand what you're saying...

There's gotta be some library out there meant for manipulating/validating JS grammar. Right now I could do something like special-case the empty string to 0, but there could be other corner cases I'm not aware of because of the way JS gets parsed. My hope is that there's something which can deal with such scenarios.
There are libraries which generate a string of JS code from a syntax tree, but they assume that said syntax tree is already correct, so I don't think it'd solve this particular case.


Can't pickle csv.reader()

import dask.bag as bag
logs = bag.read_text("./Interview/s3_logs/*")
def remove_brackets(line):
    return csv.reader(line.replace("[","").replace("]","").replace("\n",""),delimiter=" ",quotechar='"')
logs.map(remove_brackets).to_dataframe().compute()

/home/v3ss/workspace/machine_learning/lib/python2.7/site-packages/cloudpickle/cloudpickle.pyc in dumps()
    879     try:
    880         cp = CloudPickler(file, protocol=protocol)
--> 881         cp.dump(obj)
    882         return file.getvalue()
    883     finally:

/home/v3ss/workspace/machine_learning/lib/python2.7/site-packages/cloudpickle/cloudpickle.pyc in dump()
    266         self.inject_addons()
    267         try:
--> 268             return Pickler.dump(self, obj)
    269         except RuntimeError as e:
    270             if 'recursion' in e.args[0]:

/home/v3ss/workspace/machine_learning/lib/python2.7/pickle.pyc in dump()
    222         if self.proto >= 2:
    223             self.write(PROTO + chr(self.proto))
--> 224         self.save(obj)
    225         self.write(STOP)
    226

/home/v3ss/workspace/machine_learning/lib/python2.7/pickle.pyc in save()
    284         f = self.dispatch.get(t)
    285         if f:
--> 286             f(self, obj) # Call unbound method with explicit self
    287             return
    288

/home/v3ss/workspace/machine_learning/lib/python2.7/pickle.pyc in save_tuple()
    552         if n <= 3 and proto >= 2:
    553             for element in obj:
--> 554                 save(element)
    555             # Subtle.  Same as in the big comment below.
    556             if id(obj) in memo:

/home/v3ss/workspace/machine_learning/lib/python2.7/pickle.pyc in save()
    284         f = self.dispatch.get(t)
    285         if f:
--> 286             f(self, obj) # Call unbound method with explicit self
    287             return
    288

/home/v3ss/workspace/machine_learning/lib/python2.7/pickle.pyc in save_list()
    604
    605         self.memoize(obj)
--> 606         self._batch_appends(iter(obj))
    607
    608     dispatch[ListType] = save_list

/home/v3ss/workspace/machine_learning/lib/python2.7/pickle.pyc in _batch_appends()
    640                 write(APPENDS)
    641             elif n:
--> 642                 save(tmp[0])
    643                 write(APPEND)
    644             # else tmp is empty, and we're done

/home/v3ss/workspace/machine_learning/lib/python2.7/pickle.pyc in save()
    304             reduce = getattr(obj, "__reduce_ex__", None)
    305             if reduce:
--> 306                 rv = reduce(self.proto)
    307             else:
    308                 reduce = getattr(obj, "__reduce__", None)

TypeError: can't pickle _csv.reader objects

I have cloud pickle installed.

I recommend raising this upstream at
https://github.com/cloudpipe/cloudpickle
On Thu, Mar 29, 2018 at 11:53 AM, Phyo Arkar Lwin<EMAIL_ADDRESS>wrote:

def remove_brackets(line):
return csv.reader(line.replace("[","").replace("]","").replace("\n",""),delimiter=" ",quotechar='"')
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/3354, or mute the thread
https://github.com/notifications/unsubscribe-auth/AASszJ29Z9xpG3Ty9QGNJaPEjRFK1vX3ks5tjQOLgaJpZM4TAkkx
.

@v3ss0n as a work-around can you not return a list from your remove_brackets function or even better use pd.read_csv and return a DataFrame?

Closing.  This is a cloudpickle issue.


Automated testing of URLs

This initial version will test all apps' public (not login_required) views, and try to HTTP GET them.

Sweet. I see you have started doing God's work.

Had a couple hours of downtime with my bags packed and an early evening. :)
On Tue, Mar 29, 2016, 00:59 Aleksander S<EMAIL_ADDRESS>wrote:

Sweet. I see you have started doing God's work.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/dotKom/onlineweb4/pull/1490#issuecomment-202458286

Awesome!


Fix benchmark recall display

What problem does this PR solve?
Knn benchmark display bug. But how did we get the benchmark recall result?
Issue link:#796
Type of change

[x] Test cases

@lxr599


add dependencies required for tests to contrib docs

pillow and simplejpeg are required to run the tests, added to contribution instructions, maybe better to use an install_extras for development?

In addition to this I wonder if it would be good to define a "tests" extra in the setup.py. Then users could do pip install -e .[tests] and get all hard requirements and those defined for testing? You can see vispy does it here for doc and other things:
https://github.com/vispy/vispy/blob/16d8c5bd8694df9c18086e6fad31ffbaa08abaf4/setup.py#L98-L113
Thoughts?

In addition to this I wonder if it would be good to define a "tests" extra in the setup.py.

👍 or just [dev]

Found this open after a few weeks. Let's just merge this. The suggestion still stands as an invitation for anyone to make a PR :)


WIP: Add CB3 support

This PR provides mpich package on both OSX and Linux. See the travis build log here.
https://travis-ci.org/rainwoodman/mpich-feedstock/builds/305635086
I linked our packages and mpi4py against this binary on Linux and it worked well.
The current anaconda provides a mpich2 package that conflicts with this one.

My OSX builds are still waiting on travis, but locally the linux-64 build were successful. Any additional checks that I shall perform?

@mingwandroid

@mingwandroid As far as I am concerned the recipe itself is ready to go. The conflict with mpich2 perhaps need to be addressed.

We need to stop using mpich2  anyway since it's deprecated.
Thank you!

Yes you can simply drop the .travis file.  I am a bit confused about the process -- this will go to conda-forge then back to anaconda/default?

We will make PRs to conda-forge (or you are welcome to) once conda-forge adopt conda-build 3 and the new compilers. In general the goal is for everything possible to be merged to conda-forge so we achieve a good degree of binary compatibility with them.


Could not read script

I'm getting this error when I compile the application. What could it be?
Could not read script 'C:\Users\HP\Documents\budget\EasyBudget-master\Android\EasyBudget\app\batch.gradle' as it does not exist.

Hi there,
You are indeed in charge of providing 3 files:

batch.gradle which contains the API keys for Batch SDK
iap.gradle which contains the Google Play license key
fabric.properties which contains the Fabric API data

All of those are under /app and a sample is provided for each one.
Good luck
PS: Feel free to investigate more than 3 seconds on your own before creating an issue on a repo. Looking at the error and going into the repository reported by the error would have been much more productive than waiting for a response here ;)
PS-2: If you plan to copy the app or a part of the app for your own personal project, feel free to do so but 2 reminders:

Everything related to the EasyBudget name and brand is under copyright (includes the name, colors and images)
If you use any part of this code into your own app, you should include a mention according to the apache 2 license


Moving group bug

When you are zoomed out (~5 clicks on zoom out magnifier), moving group will also affect components outside that group.

@petersirka we have the same

@roelvanegmond this is solved, but I forgot to close this issue. BTW: if it doesn't work then you need to update designer source-code.


OS.execute should output PackedByteArray?

Godot version
v4.0.alpha7.official [3e9ead05f]
System information
windows10 64bit
Issue description
When I execute my PowerShell command on PowerShell's window, it output like this:

And I coding GDScript like this:

But It prints like this:

Because PowerShell return not valid UTF-8, so I think maybe OS.execute should output PackedByteArray and I can code like this for solve this problem:

Steps to reproduce
Please run the reproduction project
Minimal reproduction project
OsExecTest.zip

Because PowerShell return not valid UTF-8

FYI: This behavior is not limited to PowerShell, using Command Prompt has the same issue if I remember correctly.
As the default output encoding on Windows is system locale dependent, I seems that we should either use PackedByteArray instead of String, or find a way to retrieve the "Unicode" output.

PackedByteArray won't help, Windows console output default to ASCII, so it's not sending full characters through the pipe.
Normally, encoding can be set be the shell (using chcp command) or app that's writing to the console SetConsoleOutputCP, but seems like it can't be set by the parent process.


Fix coverage image

# git commit -m "Fix coverage image"
Detect secrets...........................................................Passed
[fixcoverage 19673cf] Fix coverage image
 1 file changed, 1 insertion(+), 1 deletion(-)
root@devmachine1:~/WORKSPACE/src/github.com/IBM/ibm-vpc-block-csi-driver# git push
fatal: The current branch fixcoverage has no upstream branch.
To push the current branch and set the remote as upstream, use


LPARAM should declare an implicit conversion from nint

It explicitly converts nint to LPARAM today, but this should probably be an implicit operator.

@AArnott Asked at https://github.com/dotnet/csharplang/discussions/4520 in case you want to follow along.


[OUT Topic] Service Worker problem

Hello,
I know this question is not linked directly to this repository, but you give a sample code also done by you for the service-worker. Hope you could help me ;)
One point, I would like to say, is that your project works really well, but I suppose a service-worker full sample should be included, because without this you can't really use a full web push system implementation, or may be I missed something and you could explain me.
So, I have used your service-worker provided here :
https://github.com/Minishlink/physbook/blob/02a0d5d7ca0d5d2cc6d308a3a9b81244c63b3f14/web/service-worker.js
I have everything working perfectly with Firefox but until last Chrome release ... (Version 60.0.3112.101 (Build officiel) (64 bits)) I have an error each time I load my page :

serviceWorker.js:15 Uncaught (in promise) DOMException: Failed to execute 'respondWith' on 'FetchEvent': The event handler is already finished and no extend lifetime promises are outstanding.
at https://getmoreorders.fr/orders/serviceWorker.js:15:23
at
(anonymous) @ serviceWorker.js:15
Promise resolved (async)
(anonymous) @ serviceWorker.js:13

The code is :
self.addEventListener('fetch', function (event) {
    // fix for redirect bug in Chrome M40
    var chromeVersion = navigator.appVersion.match(/Chrome\/(\d+)\./);
    if (chromeVersion !== null && parseInt(chromeVersion[1], 10) < 41) {
        return;
    }

    if (event.request.method === 'GET'
            && event.request.headers.get('accept').includes('text/html')) {

        // a GET request should not have any body (blob), but sometimes it does
        event.request.blob().then(function(blob) {
            if (blob.size == 0) {
                event.respondWith(
                    fetch(event.request).catch(function (e) {
                        // hors ligne
                        return caches.open(OFFLINE_CACHE).then(function (cache) {
                            return cache.match(OFFLINE_URL);
                        });
                    })
                );
            }
        });
    }
});

To be honest I do not understand this error ... neither why it happend.
Hope you will be able to give me the light to solve this.
Thanks per advance for your help.
Best regards,
Hervé

Hello Hervé, you can find another service worker specifically for Web Push on the web-push-php-example repo.
For your problem, maybe there's a event.waitUntil missing. I'll take a look and get back to you.
PS : in the future, for things not related to web-push-php, prefer StackOverflow, eventually with a ping on Twitter please :)

It was indeed a missing event.waitUntil around the blob promise: https://github.com/Minishlink/physbook/commit/9bfcc2bbf7311a5de4628eb8f3ae56b6c3e74067
Thanks for the feedback!


Should we use --install on upgrade just in case?

After watching @squillace try to get a bundle into the right state, we realized that what would work was to run upgrade. But then the helm release could upgrade because we were running a straight helm upgrade instead of helm upgrade --install, so it was failing because the release wasn't there.
I'm wondering if it's more important for us to work or for us to be correct and match the spec?
The user is obviously trying to get into a good state and helm upgrade --install is most likely to ensure successful bundle runs. However I'm pretty sure we didn't do this in the first place because it fit better with the spec.
My vote is to go with the principle of least surprise. Whatever the user expects and wants us to do, we should do. I think that would be bundles that don't get stuck in error states that require uninstalling and lots of fiddling with, and work towards desired state instead.
Thoughts?

The upgrade command for helm should include the --install flag at all times.
See https://github.com/deislabs/porter-helm/blob/8325d71c9209daa6a58e01419e305e6aaa2892f3/pkg/helm/upgrade.go#L63 for where the flag should be inserted.
This should also include a test for the new flag.


bug: copy button invisible in light mode (both in latest and old UI)

Describe the bug
Copy button is not visible in light mode for both latest and old UI
To Reproduce
Steps to reproduce the behavior:

login into the daily code and open any track and you can see the copy button is not visible.

Expected behavior
A copy button should be displayed clearly, so that user can copy the code easily.
Screenshots or GIFs

Info (please complete the following information):

Browser [e.g. chrome,]
Version [e.g. 128.0.6613.138]

There's this issue #647  where yarn.lock file is empty so i did not make any changes to yarn.lock file.. i'll update this file after this issue is resolved or please tell me if there's any changes that i need to make...

Is this issue still open?

@iamhvsharma I've already made the PR for it #650

Oops! Didn't saw!


Advance objective c version to v1.0.2

To use Objective C only tag "objective-c-v1.0.2"
cc: @nicolasnoble @hsaliak

Might the rest of the project ever want to release 1.0.2?

No, this is just an Objective C release

@jcanizales Ping :)   Need it soon.

This is just an Objective C release alright, but that doesn't answer my question :)
I'm trying to avoid the following scenario:
The rest of gRPC goes to 1.0.2 to fix some security bug four months from now. Now Objective-C can't update to the 1.0.2 version number because that number's already taken by this podspec. Mess.

From what I got from Kailash other languages go to v1.0.3 next.
@nicolasnoble can you confirm how it works?

other languages go to v1.0.3 next

That'd solve my worry.

re version bumps, http://semver.org/ does not dictate the steps of the increment, only that there must be increments, so all other languages can skip 1.0.2 and go to 1.0.3.. this is my understanding. Doing this reduces unnecessary churn for users of other languages since they do not have to deal with a NOOP version bump.


Fix disappearing-header bug

Fix for MUMUP-2703. Just needed to concretely set the position of the top bar so it's not displaced when a new fixed element appears (the menu).
Demo

Resolves #289

Coverage remained the same at 33.46% when pulling e0e3ee86264c32b2ae27124764f2f844ddcdf58f on thevoiceofzeke:bugfix into f733409fb2759782e148375ffb1c37f0eb7ae08c on UW-Madison-DoIT:master.

:+1:

So close to making the last release. :/
:+1:


Workflow for switching between prerelease and release

Motivations
After using release-plz for awhile now, I was ready to move Octocrab to normal releases, and I realised I didn't know how to tell it "Move to regular releases". My initial instinct / hope was that I could just remove the suffix in the Cargo.toml, and the PR would adjust itself, but it doesn't seem like that happened, instead the 0.20.0 was released with an incomplete changelog.

Would you like to implement this feature? [n] (no time unfortunately)

Solution
I'd like some kind of workflow where I can manually say "this is release now". I think ideally it could be a command I can put in the PR itself like @release-plz pre-release or @release-plz prod-release or something similar and have the open PR update itself into incrementing the next production release version.
Alternatives
I'm sure there's a lot of ways it can be done, like having it react when someone removes the suffix, or updating a config file, but ideally for me the solution would require no additional commits, and can be performed entirely on github.com

My initial instinct / hope was that I could just remove the suffix in the Cargo.toml, and the PR would adjust itself, but it doesn't seem like that happened, instead the 0.20.0 was released with an incomplete changelog.

Yes, release-plz releases anything it finds on the main branch.
At the moment release-plz doesn't have the ability to "switch" from pre-release to prod-releases, so unfortunately you need to do this manually, by adjusting Cargo.toml and the changelog. You can edit the PR itself, and then merge it.
It's an interesting feature to have, and actions triggered by PR comments sound cool!

for me the solution would require no additional commits, and can be performed entirely on github.com

💯
Before switching to the actual implementation we need to define the exact behavior. These are some of the questions I have:

what happens if I have a workspace with many crates and I run @release-plz pre-release or @release-plz prod-release?

All the crates change versions?
Just the ones modified in the PR?
Should you be able to specify the single crates in this action?

Let's say you have a crate at version 1.2.3. What happens when you switch to pre-release? Does it go to 1.2.4-alpha.1? Why not 1.2.4-beta.1? How do we pick one? What's the best default? Should the prefix be in the config file?

I think the simplest version that would work initially would just be a set-version command that lets me override whatever the proposed version is with a new version.

 What about workspaces?
@release-plz set-version<EMAIL_ADDRESS>We can use the cargo add syntax.

That makes sense to me, for my part I usually try to have all crates in a workspace share the version number, so I'd assume without specifying the crate it would set it for all crates in the workspace.

yes 👍 In this case, should release-plz edit only the version of the packages that changed in the PR? Or all the packages in the workspace?

I think intuitively the default should only update what's in the PR, and then you could have a --workspace flag to update everything.

After thinking about https://github.com/MarcoIeni/release-plz/issues/770#issuecomment-1550290553 I realized that

[ ] the commands given in the github comments of the action should be re-applied everytime the PR is updated

so making the outcome of the PR dependent of the content of the PR might result being messy.
So let's start with ignoring what file changes in the PR. I.e. the output of the command should be the same if run on main or in a branch.

I implemented this command. It works locally! https://release-plz.ieni.dev/docs/usage/set-version
Closing this because I'm tracking the remaining work in https://github.com/MarcoIeni/release-plz/issues/1554 and https://github.com/MarcoIeni/release-plz/issues/1559