diff --git a/Microsoft.Azure.Cosmos.Encryption/src/Custom/EncryptionContainer.cs b/Microsoft.Azure.Cosmos.Encryption/src/Custom/EncryptionContainer.cs index 616bf1bf42..1b443f53ee 100644 --- a/Microsoft.Azure.Cosmos.Encryption/src/Custom/EncryptionContainer.cs +++ b/Microsoft.Azure.Cosmos.Encryption/src/Custom/EncryptionContainer.cs @@ -931,7 +931,12 @@ public override ChangeFeedProcessorBuilder GetChangeFeedProcessorBuilderWithManu async ( ChangeFeedProcessorContext context, IReadOnlyCollection documents, +#if SDKPROJECTREF + Func tryCheckpointAsync, +#else + // Remove on next release Func> tryCheckpointAsync, +#endif CancellationToken cancellationToken) => { List decryptItems = await this.DecryptChangeFeedDocumentsAsync( @@ -973,7 +978,12 @@ public override ChangeFeedProcessorBuilder GetChangeFeedProcessorBuilderWithManu async ( ChangeFeedProcessorContext context, Stream changes, +#if SDKPROJECTREF + Func tryCheckpointAsync, +#else + // Remove on next release Func> tryCheckpointAsync, +#endif CancellationToken cancellationToken) => { Stream decryptedChanges = await EncryptionProcessor.DeserializeAndDecryptResponseAsync( diff --git a/Microsoft.Azure.Cosmos.Encryption/src/EncryptionContainer.cs b/Microsoft.Azure.Cosmos.Encryption/src/EncryptionContainer.cs index fff1fb0a8b..226806459a 100644 --- a/Microsoft.Azure.Cosmos.Encryption/src/EncryptionContainer.cs +++ b/Microsoft.Azure.Cosmos.Encryption/src/EncryptionContainer.cs @@ -789,7 +789,12 @@ public override ChangeFeedProcessorBuilder GetChangeFeedProcessorBuilderWithManu async ( ChangeFeedProcessorContext context, IReadOnlyCollection documents, +#if SDKPROJECTREF + Func tryCheckpointAsync, +#else + // Remove on next release Func> tryCheckpointAsync, +#endif CancellationToken cancellationToken) => { List decryptedItems = await this.DecryptChangeFeedDocumentsAsync( @@ -835,7 +840,12 @@ public override ChangeFeedProcessorBuilder GetChangeFeedProcessorBuilderWithManu async ( ChangeFeedProcessorContext context, Stream changes, +#if SDKPROJECTREF + Func tryCheckpointAsync, +#else + // Remove on next release Func> tryCheckpointAsync, +#endif CancellationToken cancellationToken) => { EncryptionSettings encryptionSettings = await this.GetOrUpdateEncryptionSettingsFromCacheAsync( diff --git a/Microsoft.Azure.Cosmos.Encryption/src/Microsoft.Azure.Cosmos.Encryption.csproj b/Microsoft.Azure.Cosmos.Encryption/src/Microsoft.Azure.Cosmos.Encryption.csproj index 8eef61e304..f8039d0400 100644 --- a/Microsoft.Azure.Cosmos.Encryption/src/Microsoft.Azure.Cosmos.Encryption.csproj +++ b/Microsoft.Azure.Cosmos.Encryption/src/Microsoft.Azure.Cosmos.Encryption.csproj @@ -67,4 +67,7 @@ ..\..\35MSSharedLib1024.snk + + $(DefineConstants);SDKPROJECTREF + diff --git a/Microsoft.Azure.Cosmos.Encryption/tests/EmulatorTests/MdeCustomEncryptionTests.cs b/Microsoft.Azure.Cosmos.Encryption/tests/EmulatorTests/MdeCustomEncryptionTests.cs index c1a097989e..f8f26121fa 100644 --- a/Microsoft.Azure.Cosmos.Encryption/tests/EmulatorTests/MdeCustomEncryptionTests.cs +++ b/Microsoft.Azure.Cosmos.Encryption/tests/EmulatorTests/MdeCustomEncryptionTests.cs @@ -1271,7 +1271,12 @@ private async Task ValidateChangeFeedProcessorWithManualCheckpointResponse( ( ChangeFeedProcessorContext context, IReadOnlyCollection changes, +#if SDKPROJECTREF + Func tryCheckpointAsync, +#else + // Remove on next release Func> tryCheckpointAsync, +#endif CancellationToken cancellationToken) => { changeFeedReturnedDocs.AddRange(changes); @@ -1375,7 +1380,12 @@ private async Task ValidateChangeFeedProcessorStreamWithManualCheckpointResponse ( ChangeFeedProcessorContext context, Stream changes, +#if SDKPROJECTREF + Func tryCheckpointAsync, +#else + // Remove on next release Func> tryCheckpointAsync, +#endif CancellationToken cancellationToken) => { string changeFeed = string.Empty; diff --git a/Microsoft.Azure.Cosmos.Encryption/tests/EmulatorTests/MdeEncryptionTests.cs b/Microsoft.Azure.Cosmos.Encryption/tests/EmulatorTests/MdeEncryptionTests.cs index 50ddc6659a..e6dc04f5b6 100644 --- a/Microsoft.Azure.Cosmos.Encryption/tests/EmulatorTests/MdeEncryptionTests.cs +++ b/Microsoft.Azure.Cosmos.Encryption/tests/EmulatorTests/MdeEncryptionTests.cs @@ -2042,7 +2042,12 @@ private async Task ValidateChangeFeedProcessorWithManualCheckpointResponse( ( ChangeFeedProcessorContext context, IReadOnlyCollection changes, +#if SDKPROJECTREF + Func tryCheckpointAsync, +#else + // Remove on next release Func> tryCheckpointAsync, +#endif CancellationToken cancellationToken) => { changeFeedReturnedDocs.AddRange(changes); @@ -2146,7 +2151,12 @@ private async Task ValidateChangeFeedProcessorStreamWithManualCheckpointResponse ( ChangeFeedProcessorContext context, Stream changes, +#if SDKPROJECTREF + Func tryCheckpointAsync, +#else + // Remove on next release Func> tryCheckpointAsync, +#endif CancellationToken cancellationToken) => { string changeFeed = string.Empty; diff --git a/Microsoft.Azure.Cosmos.Encryption/tests/EmulatorTests/Microsoft.Azure.Cosmos.Encryption.EmulatorTests.csproj b/Microsoft.Azure.Cosmos.Encryption/tests/EmulatorTests/Microsoft.Azure.Cosmos.Encryption.EmulatorTests.csproj index 57839a7f02..ed4789e55e 100644 --- a/Microsoft.Azure.Cosmos.Encryption/tests/EmulatorTests/Microsoft.Azure.Cosmos.Encryption.EmulatorTests.csproj +++ b/Microsoft.Azure.Cosmos.Encryption/tests/EmulatorTests/Microsoft.Azure.Cosmos.Encryption.EmulatorTests.csproj @@ -65,4 +65,8 @@ x64 true + + + $(DefineConstants);SDKPROJECTREF + \ No newline at end of file diff --git a/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Observers/AutoCheckpointer.cs b/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Observers/AutoCheckpointer.cs index b32234cea6..1a7e203bd5 100644 --- a/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Observers/AutoCheckpointer.cs +++ b/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Observers/AutoCheckpointer.cs @@ -35,11 +35,7 @@ public override async Task ProcessChangesAsync( { await this.observer.ProcessChangesAsync(context, stream, cancellationToken).ConfigureAwait(false); - (bool isSuccess, Exception exception) = await context.TryCheckpointAsync(); - if (!isSuccess) - { - throw exception; - } + await context.CheckpointAsync(); } } } \ No newline at end of file diff --git a/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Observers/ChangeFeedObserverContextCore.cs b/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Observers/ChangeFeedObserverContextCore.cs index 97fdcaf8e5..4615df9ecb 100644 --- a/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Observers/ChangeFeedObserverContextCore.cs +++ b/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Observers/ChangeFeedObserverContextCore.cs @@ -37,12 +37,11 @@ internal ChangeFeedObserverContextCore( public Headers Headers => this.responseMessage.Headers; - public async Task<(bool isSuccess, Exception error)> TryCheckpointAsync() + public async Task CheckpointAsync() { try { await this.checkpointer.CheckpointPartitionAsync(this.responseMessage.Headers.ContinuationToken); - return (isSuccess: true, error: null); } catch (LeaseLostException leaseLostException) { @@ -55,11 +54,7 @@ internal ChangeFeedObserverContextCore( trace: NoOpTrace.Singleton, error: null, innerException: leaseLostException); - return (isSuccess: false, error: cosmosException); - } - catch (Exception exception) - { - return (isSuccess: false, error: exception); + throw cosmosException; } } diff --git a/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Observers/ChangeFeedObserverFactoryCore.cs b/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Observers/ChangeFeedObserverFactoryCore.cs index d06df2148c..ffbf338fc7 100644 --- a/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Observers/ChangeFeedObserverFactoryCore.cs +++ b/Microsoft.Azure.Cosmos/src/ChangeFeedProcessor/Observers/ChangeFeedObserverFactoryCore.cs @@ -43,7 +43,7 @@ private Task ChangesStreamHandlerAsync( return this.onChanges(context, stream, cancellationToken); } - return this.onChangesWithManualCheckpoint(context, stream, context.TryCheckpointAsync, cancellationToken); + return this.onChangesWithManualCheckpoint(context, stream, context.CheckpointAsync, cancellationToken); } } @@ -108,7 +108,7 @@ private Task ChangesStreamHandlerAsync( return this.onChanges(context, changes, cancellationToken); } - return this.onChangesWithManualCheckpoint(context, changes, context.TryCheckpointAsync, cancellationToken); + return this.onChangesWithManualCheckpoint(context, changes, context.CheckpointAsync, cancellationToken); } private IReadOnlyCollection AsIReadOnlyCollection(Stream stream) diff --git a/Microsoft.Azure.Cosmos/src/Resource/Container/Container.cs b/Microsoft.Azure.Cosmos/src/Resource/Container/Container.cs index 828bfc68f3..be357fd6b0 100644 --- a/Microsoft.Azure.Cosmos/src/Resource/Container/Container.cs +++ b/Microsoft.Azure.Cosmos/src/Resource/Container/Container.cs @@ -1488,23 +1488,18 @@ public delegate Task ChangeFeedHandler( /// /// The context related to the changes. /// The changes that happened. - /// A task representing an asynchronous checkpoint on the progress of a lease. + /// A task representing an asynchronous checkpoint on the progress of a lease. /// A cancellation token representing the current cancellation status of the instance. /// A representing the asynchronous operation that is going to be done with the changes. /// /// /// changes, Func> tryCheckpointAsync, CancellationToken cancellationToken) => + /// (ChangeFeedProcessorContext context, IReadOnlyCollection changes, Func checkpointAsync, CancellationToken cancellationToken) => /// { /// // consume changes /// /// // On certain condition, we can checkpoint - /// (bool isSuccess, Exception error) checkpointResult = await tryCheckpointAsync(); - /// if (!isSuccess) - /// { - /// // log error, could not checkpoint - /// throw error; - /// } + /// await checkpointAsync(); /// } /// ]]> /// @@ -1512,7 +1507,7 @@ public delegate Task ChangeFeedHandler( public delegate Task ChangeFeedHandlerWithManualCheckpoint( ChangeFeedProcessorContext context, IReadOnlyCollection changes, - Func> tryCheckpointAsync, + Func checkpointAsync, CancellationToken cancellationToken); /// @@ -1532,23 +1527,18 @@ public delegate Task ChangeFeedStreamHandler( /// /// The context related to the changes. /// The changes that happened. - /// A task representing an asynchronous checkpoint on the progress of a lease. + /// A task representing an asynchronous checkpoint on the progress of a lease. /// A cancellation token representing the current cancellation status of the instance. /// A representing the asynchronous operation that is going to be done with the changes. /// /// /// > tryCheckpointAsync, CancellationToken cancellationToken) => + /// (ChangeFeedProcessorContext context, Stream stream, Func checkpointAsync, CancellationToken cancellationToken) => /// { /// // consume stream /// /// // On certain condition, we can checkpoint - /// (bool isSuccess, Exception error) checkpointResult = await tryCheckpointAsync(); - /// if (!isSuccess) - /// { - /// // log error, could not checkpoint - /// throw error; - /// } + /// await checkpointAsync(); /// } /// ]]> /// @@ -1556,7 +1546,7 @@ public delegate Task ChangeFeedStreamHandler( public delegate Task ChangeFeedStreamHandlerWithManualCheckpoint( ChangeFeedProcessorContext context, Stream changes, - Func> tryCheckpointAsync, + Func checkpointAsync, CancellationToken cancellationToken); /// diff --git a/Microsoft.Azure.Cosmos/src/Resource/Container/ContainerInternal.cs b/Microsoft.Azure.Cosmos/src/Resource/Container/ContainerInternal.cs index f0d3442907..2427c322fd 100644 --- a/Microsoft.Azure.Cosmos/src/Resource/Container/ContainerInternal.cs +++ b/Microsoft.Azure.Cosmos/src/Resource/Container/ContainerInternal.cs @@ -171,7 +171,7 @@ public delegate Task ChangeFeedHandler( public delegate Task ChangeFeedHandlerWithManualCheckpoint( ChangeFeedProcessorContext context, IReadOnlyCollection changes, - Func> tryCheckpointAsync, + Func checkpointAsync, CancellationToken cancellationToken); public delegate Task ChangeFeedStreamHandler( @@ -182,7 +182,7 @@ public delegate Task ChangeFeedStreamHandler( public delegate Task ChangeFeedStreamHandlerWithManualCheckpoint( ChangeFeedProcessorContext context, Stream changes, - Func> tryCheckpointAsync, + Func checkpointAsync, CancellationToken cancellationToken); public abstract ChangeFeedProcessorBuilder GetChangeFeedProcessorBuilder( diff --git a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/ChangeFeed/DynamicStreamTests.cs b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/ChangeFeed/DynamicStreamTests.cs index 7e3a5444fe..e4cec8fd9d 100644 --- a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/ChangeFeed/DynamicStreamTests.cs +++ b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/ChangeFeed/DynamicStreamTests.cs @@ -93,7 +93,7 @@ public async Task TestWithRunningProcessor_WithManualCheckpoint() int processedDocCount = 0; string accumulator = string.Empty; ChangeFeedProcessor processor = this.Container - .GetChangeFeedProcessorBuilderWithManualCheckpoint("test", async (ChangeFeedProcessorContext context, Stream stream, Func> tryCheckpointAsync, CancellationToken token) => + .GetChangeFeedProcessorBuilderWithManualCheckpoint("test", async (ChangeFeedProcessorContext context, Stream stream, Func checkpointAsync, CancellationToken token) => { this.ValidateContext(context); @@ -113,9 +113,7 @@ public async Task TestWithRunningProcessor_WithManualCheckpoint() if (processedDocCount == 1) { // Checkpointing on the first document to be able to have a point to rollback to - (bool isSuccess, Exception exception) = await tryCheckpointAsync(); - Assert.IsTrue(isSuccess); - Assert.IsNull(exception); + await checkpointAsync(); } if (processedDocCount == 12) diff --git a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/ChangeFeed/DynamicTests.cs b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/ChangeFeed/DynamicTests.cs index 990464ac34..cc93082c3d 100644 --- a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/ChangeFeed/DynamicTests.cs +++ b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/ChangeFeed/DynamicTests.cs @@ -89,7 +89,7 @@ public async Task TestWithRunningProcessor_WithManualCheckpoint() int processedDocCount = 0; string accumulator = string.Empty; ChangeFeedProcessor processor = this.Container - .GetChangeFeedProcessorBuilderWithManualCheckpoint("test", async (ChangeFeedProcessorContext context, IReadOnlyCollection docs, Func> tryCheckpointAsync, CancellationToken token) => + .GetChangeFeedProcessorBuilderWithManualCheckpoint("test", async (ChangeFeedProcessorContext context, IReadOnlyCollection docs, Func checkpointAsync, CancellationToken token) => { this.ValidateContext(context); processedDocCount += docs.Count(); @@ -106,9 +106,7 @@ public async Task TestWithRunningProcessor_WithManualCheckpoint() if (processedDocCount == 1) { // Checkpointing on the first document to be able to have a point to rollback to - (bool isSuccess, Exception exception) = await tryCheckpointAsync(); - Assert.IsTrue(isSuccess); - Assert.IsNull(exception); + await checkpointAsync(); } if (processedDocCount == 12) diff --git a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/ChangeFeed/ChangeFeedObserverContextCoreTests.cs b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/ChangeFeed/ChangeFeedObserverContextCoreTests.cs index 801ad6fb65..0130323dd4 100644 --- a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/ChangeFeed/ChangeFeedObserverContextCoreTests.cs +++ b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/ChangeFeed/ChangeFeedObserverContextCoreTests.cs @@ -42,9 +42,7 @@ public async Task TryCheckpoint_OnSuccess() checkpointer.Setup(c => c.CheckpointPartitionAsync(It.Is(s => s == continuation))).Returns(Task.CompletedTask); ChangeFeedObserverContextCore changeFeedObserverContextCore = new ChangeFeedObserverContextCore(leaseToken, responseMessage, checkpointer.Object); - (bool isSuccess, Exception exception) = await changeFeedObserverContextCore.TryCheckpointAsync(); - Assert.IsTrue(isSuccess); - Assert.IsNull(exception); + await changeFeedObserverContextCore.CheckpointAsync(); } [TestMethod] @@ -58,10 +56,8 @@ public async Task TryCheckpoint_OnLeaseLost() checkpointer.Setup(c => c.CheckpointPartitionAsync(It.Is(s => s == continuation))).ThrowsAsync(new LeaseLostException()); ChangeFeedObserverContextCore changeFeedObserverContextCore = new ChangeFeedObserverContextCore(leaseToken, responseMessage, checkpointer.Object); - (bool isSuccess, Exception exception) = await changeFeedObserverContextCore.TryCheckpointAsync(); - Assert.IsFalse(isSuccess); - Assert.IsNotNull(exception); - Assert.AreEqual(HttpStatusCode.PreconditionFailed, (exception as CosmosException).StatusCode); + CosmosException exception = await Assert.ThrowsExceptionAsync(() => changeFeedObserverContextCore.CheckpointAsync()); + Assert.AreEqual(HttpStatusCode.PreconditionFailed, exception.StatusCode); } [TestMethod] @@ -76,9 +72,7 @@ public async Task TryCheckpoint_OnCosmosException() checkpointer.Setup(c => c.CheckpointPartitionAsync(It.Is(s => s == continuation))).ThrowsAsync(cosmosException); ChangeFeedObserverContextCore changeFeedObserverContextCore = new ChangeFeedObserverContextCore(leaseToken, responseMessage, checkpointer.Object); - (bool isSuccess, Exception exception) = await changeFeedObserverContextCore.TryCheckpointAsync(); - Assert.IsFalse(isSuccess); - Assert.IsNotNull(exception); + CosmosException exception = await Assert.ThrowsExceptionAsync(() => changeFeedObserverContextCore.CheckpointAsync()); Assert.ReferenceEquals(cosmosException, exception); } @@ -94,9 +88,7 @@ public async Task TryCheckpoint_OnUnknownException() checkpointer.Setup(c => c.CheckpointPartitionAsync(It.Is(s => s == continuation))).ThrowsAsync(cosmosException); ChangeFeedObserverContextCore changeFeedObserverContextCore = new ChangeFeedObserverContextCore(leaseToken, responseMessage, checkpointer.Object); - (bool isSuccess, Exception exception) = await changeFeedObserverContextCore.TryCheckpointAsync(); - Assert.IsFalse(isSuccess); - Assert.IsNotNull(exception); + NotImplementedException exception = await Assert.ThrowsExceptionAsync(() => changeFeedObserverContextCore.CheckpointAsync()); Assert.ReferenceEquals(cosmosException, exception); } } diff --git a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/ChangeFeed/ChangeFeedObserverFactoryCoreTests.cs b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/ChangeFeed/ChangeFeedObserverFactoryCoreTests.cs index 019e273180..bc3fa55489 100644 --- a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/ChangeFeed/ChangeFeedObserverFactoryCoreTests.cs +++ b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/ChangeFeed/ChangeFeedObserverFactoryCoreTests.cs @@ -77,7 +77,7 @@ Task changesHandler(ChangeFeedProcessorContext context, IReadOnlyCollection docs, Func> tryCheckpointAsync, CancellationToken token) + Task changesHandler(ChangeFeedProcessorContext context, IReadOnlyCollection docs, Func checkpointAsync, CancellationToken token) { Assert.AreEqual(1, docs.Count); Assert.AreEqual("Test", docs.First().id.ToString()); @@ -128,7 +128,7 @@ public async Task WhenDelegateIsStream_Manual() { ResponseMessage responseMessage = this.BuildResponseMessage(); bool executed = false; - Task changesHandler(ChangeFeedProcessorContext context, Stream stream, Func> tryCheckpointAsync, CancellationToken token) + Task changesHandler(ChangeFeedProcessorContext context, Stream stream, Func checkpointAsync, CancellationToken token) { Assert.ReferenceEquals(responseMessage.Content, stream); executed = true; diff --git a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/Contracts/DotNetPreviewSDKAPI.json b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/Contracts/DotNetPreviewSDKAPI.json index 98d3908099..0bfbcf2947 100644 --- a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/Contracts/DotNetPreviewSDKAPI.json +++ b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/Contracts/DotNetPreviewSDKAPI.json @@ -590,20 +590,20 @@ "Microsoft.Azure.Cosmos.Container+ChangeFeedHandlerWithManualCheckpoint`1;System.MulticastDelegate;IsAbstract:False;IsSealed:True;IsInterface:False;IsEnum:False;IsClass:True;IsValueType:False;IsNested:True;IsGenericType:True;IsSerializable:True": { "Subclasses": {}, "Members": { - "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken, System.AsyncCallback, System.Object)": { + "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken, System.AsyncCallback, System.Object)": { "Type": "Method", "Attributes": [], - "MethodInfo": "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken, System.AsyncCallback, System.Object);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" + "MethodInfo": "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken, System.AsyncCallback, System.Object);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" }, "System.Threading.Tasks.Task EndInvoke(System.IAsyncResult)": { "Type": "Method", "Attributes": [], "MethodInfo": "System.Threading.Tasks.Task EndInvoke(System.IAsyncResult);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" }, - "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken)": { + "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken)": { "Type": "Method", "Attributes": [], - "MethodInfo": "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" + "MethodInfo": "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" }, "Void .ctor(System.Object, IntPtr)": { "Type": "Constructor", @@ -642,20 +642,20 @@ "Microsoft.Azure.Cosmos.Container+ChangeFeedStreamHandlerWithManualCheckpoint;System.MulticastDelegate;IsAbstract:False;IsSealed:True;IsInterface:False;IsEnum:False;IsClass:True;IsValueType:False;IsNested:True;IsGenericType:False;IsSerializable:True": { "Subclasses": {}, "Members": { - "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken, System.AsyncCallback, System.Object)": { + "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken, System.AsyncCallback, System.Object)": { "Type": "Method", "Attributes": [], - "MethodInfo": "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken, System.AsyncCallback, System.Object);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" + "MethodInfo": "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken, System.AsyncCallback, System.Object);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" }, "System.Threading.Tasks.Task EndInvoke(System.IAsyncResult)": { "Type": "Method", "Attributes": [], "MethodInfo": "System.Threading.Tasks.Task EndInvoke(System.IAsyncResult);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" }, - "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken)": { + "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken)": { "Type": "Method", "Attributes": [], - "MethodInfo": "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" + "MethodInfo": "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" }, "Void .ctor(System.Object, IntPtr)": { "Type": "Constructor", @@ -696,20 +696,20 @@ "Microsoft.Azure.Cosmos.Container+ChangeFeedHandlerWithManualCheckpoint`1;System.MulticastDelegate;IsAbstract:False;IsSealed:True;IsInterface:False;IsEnum:False;IsClass:True;IsValueType:False;IsNested:True;IsGenericType:True;IsSerializable:True": { "Subclasses": {}, "Members": { - "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken, System.AsyncCallback, System.Object)": { + "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken, System.AsyncCallback, System.Object)": { "Type": "Method", "Attributes": [], - "MethodInfo": "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken, System.AsyncCallback, System.Object);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" + "MethodInfo": "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken, System.AsyncCallback, System.Object);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" }, "System.Threading.Tasks.Task EndInvoke(System.IAsyncResult)": { "Type": "Method", "Attributes": [], "MethodInfo": "System.Threading.Tasks.Task EndInvoke(System.IAsyncResult);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" }, - "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken)": { + "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken)": { "Type": "Method", "Attributes": [], - "MethodInfo": "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" + "MethodInfo": "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.Collections.Generic.IReadOnlyCollection`1[T], System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" }, "Void .ctor(System.Object, IntPtr)": { "Type": "Constructor", @@ -748,20 +748,20 @@ "Microsoft.Azure.Cosmos.Container+ChangeFeedStreamHandlerWithManualCheckpoint;System.MulticastDelegate;IsAbstract:False;IsSealed:True;IsInterface:False;IsEnum:False;IsClass:True;IsValueType:False;IsNested:True;IsGenericType:False;IsSerializable:True": { "Subclasses": {}, "Members": { - "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken, System.AsyncCallback, System.Object)": { + "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken, System.AsyncCallback, System.Object)": { "Type": "Method", "Attributes": [], - "MethodInfo": "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken, System.AsyncCallback, System.Object);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" + "MethodInfo": "System.IAsyncResult BeginInvoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken, System.AsyncCallback, System.Object);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" }, "System.Threading.Tasks.Task EndInvoke(System.IAsyncResult)": { "Type": "Method", "Attributes": [], "MethodInfo": "System.Threading.Tasks.Task EndInvoke(System.IAsyncResult);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" }, - "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken)": { + "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken)": { "Type": "Method", "Attributes": [], - "MethodInfo": "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task`1[System.ValueTuple`2[System.Boolean,System.Exception]]], System.Threading.CancellationToken);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" + "MethodInfo": "System.Threading.Tasks.Task Invoke(Microsoft.Azure.Cosmos.ChangeFeedProcessorContext, System.IO.Stream, System.Func`1[System.Threading.Tasks.Task], System.Threading.CancellationToken);IsAbstract:False;IsStatic:False;IsVirtual:True;IsGenericMethod:False;IsConstructor:False;IsFinal:False;" }, "Void .ctor(System.Object, IntPtr)": { "Type": "Constructor",