Closed AmanSoniZscaler closed 11 months ago
It seems like you have gRPC responses with 263MB of data. Is that correct?
We try to store the response in the history, so that it is visible later when you re-open the operation. But with such large responses, we need to think about how to handle that case...
This should be fixed with the newly released 1.12 version.
Describe the bug A clear and concise description of what the bug is.
When response is too large then we are getting this error
Steps to reproduce the behavior: Hit the grpc server with large data
Screenshots
error traces :
System.ArgumentException: The JSON value of length 263116355 is too large and not supported. at System.Text.Json.ThrowHelper.ThrowArgumentException_ValueTooLarge(Int32 tokenLength) at System.Text.Json.Serialization.JsonConverterb__0(Object x, Int32 i) in /builds/riokch/kreya/kreya/src/Kreya.Data/HistoryStorage.cs:line 169
at System.Linq.Enumerable.SelectIterator[TSource,TResult](IEnumerable
1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state) at System.Text.Json.Serialization.Metadata.JsonPropertyInfo
1.GetMemberAndWriteJson(Object obj, WriteStack& state, Utf8JsonWriter writer) at System.Text.Json.Serialization.Converters.ObjectDefaultConverter1.OnTryWrite(Utf8JsonWriter writer, T value, JsonSerializerOptions options, WriteStack& state) at System.Text.Json.Serialization.JsonConverter
1.TryWrite(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state) at System.Text.Json.Serialization.JsonConverter1.WriteCore(Utf8JsonWriter writer, T& value, JsonSerializerOptions options, WriteStack& state) at System.Text.Json.Serialization.JsonConverter
1.WriteCoreAsObject(Utf8JsonWriter writer, Object value, JsonSerializerOptions options, WriteStack& state) at System.Text.Json.JsonSerializer.WriteCoreAsObject(Utf8JsonWriter writer, Object value, JsonTypeInfo jsonTypeInfo) at System.Text.Json.JsonSerializer.WriteStringAsObject(Object value, JsonTypeInfo jsonTypeInfo) at Kreya.Data.HistoryStorage.<>c__DisplayClass20_0.1 source, Func
3 selector)+MoveNext() at Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.SetEntityStates(IEnumerable
1 entities, EntityState entityState) at Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.AddRange(IEnumerable
1 entities) at Kreya.Data.HistoryStorage.AddResponseMessages(Int32 id, IEnumerable1 responses) in /builds/riokch/kreya/kreya/src/Kreya.Data/HistoryStorage.cs:line 169 at Microsoft.Extensions.DependencyInjection.ServiceProviderExtensions.RunInNewScope[TService](IServiceProvider sp, Func
2 action) in /builds/riokch/kreya/kreya/src/Kreya.Common/Extensions/ServiceProviderExtensions.cs:line 29 at Microsoft.Extensions.DependencyInjection.ServiceProviderExtensions.RunInNewScope[TService](IServiceProvider sp, Func2 action) in /builds/riokch/kreya/kreya/src/Kreya.Common/Extensions/ServiceProviderExtensions.cs:line 29 at Kreya.Common.Utils.AsyncFunctionBuffer
1.DisposeAsync() in /builds/riokch/kreya/kreya/src/Kreya.Common/Utils/AsyncFunctionBuffer.cs:line 57 at Kreya.Core.History.HistoryEntryService.DisposeAsync() in /builds/riokch/kreya/kreya/src/Kreya.Core/History/HistoryEntryService.cs:line 45 at Kreya.Core.Invoker.OperationInvoker.DisposeAsync() in /builds/riokch/kreya/kreya/src/Kreya.Core/Invoker/OperationInvoker.cs:line 114 at Kreya.Core.Invoker.InvokerScope.DisposeAsync() in /builds/riokch/kreya/kreya/src/Kreya.Core/Invoker/InvokerScope.cs:line 103 at Kreya.UI.Invoker.InvokerUiService.CleanInvokerScope(Guid invokerId) in /builds/riokch/kreya/kreya/src/Kreya.UI/Invoker/InvokerUiService.cs:line 110 at Kreya.UI.Invoker.InvokerUiService.WithInvokerScope(Guid invokerId, Func`2 func) in /builds/riokch/kreya/kreya/src/Kreya.UI/Invoker/InvokerUiService.cs:line 101 at Kreya.UI.Invoker.InvokerUiService.SendAllRequestsAndComplete(Guid invokerId) in /builds/riokch/kreya/kreya/src/Kreya.UI/Invoker/InvokerUiService.cs:line 63 at SpiderEye.Bridge.ApiMethod.InvokeAsync(Object instance, Object parameter) at SpiderEye.Bridge.WebviewBridge.InvokeWithDependencyInjection(IDependencyInjectionApiMethod apiMethod, Object parameters) at SpiderEye.Bridge.WebviewBridge.InvokeWithDependencyInjection(IDependencyInjectionApiMethod apiMethod, Object parameters) at SpiderEye.Bridge.WebviewBridge.ResolveCall(String id, String parameters)