Open Closed

Getting timeout exception in audit logs #10791


0
shedspotter created

What is your product version? 10.3.0

What is your product type (Angular or MVC)? Angular

What is product framework type (.net framework or .net core)? .NET 5

Hi , we are getting timeout exception while accessing the audit logs. please provide a solution as soon as possible.

Thanks


7 Answer(s)
  • 0
    ismcagdas created
    Support Team

    Hi @shedspotter

    Could you open your server side log file and share the error message related to this problem with us ?

    Thanks,

  • 0
    shedspotter created

    HI @ismcagdas Here is the exception detais:

    Routing Destination:fec47a56e385.HS2.tr1038.eastasia1-a.worker.database.windows.net,11008 ERROR 2022-01-05 11:43:57,137 [175 ] Mvc.ExceptionHandling.AbpExceptionFilter - Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. Microsoft.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (258): The wait operation timed out. at Microsoft.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__169_0(Task1 result) at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable1.AsyncEnumerator.InitializeReaderAsync(DbContext _, Boolean result, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func4 operation, Func4 verifySucceeded, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable1.AsyncEnumerator.MoveNextAsync() at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleAsync[TSource](IAsyncEnumerable1 asyncEnumerable, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleAsync[TSource](IAsyncEnumerable1 asyncEnumerable, CancellationToken cancellationToken) at SmartSuite.Auditing.AuditLogAppService.GetAuditLogs(GetAuditLogsInput input) in D:\Taritas Projects\Anywhere\aspnet-core\src\SmartSuite.Application\Auditing\AuditLogAppService.cs:line 63 at lambda_method13534(Closure , Object ) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.

  • 0
    ismcagdas created
    Support Team

    Hi @shedspotter

    Normally, when you visit the audit logs page, it should retrieve the data only for the first page. Is it possible for you to share test credentials for your website with info@aspnetzero.com so we can test it ?

    Thanks,

  • 0
    shedspotter created

    Hi ismcagdas , sure we will send the credentials with you. I have debugg the audit logs api and I have found that the API is getting all the data of the tenant and than it will doing the query based on user id , i think this is the point where the time is taking. actully the api need to get the records from the db directly with the user id query .

    Thanks

  • 0
    ismcagdas created
    Support Team

    Hi @shedspotter

    Did you have a time to take a look at this ?

    I can offer you a few things;

    1. If you are not using ABP's latest version, you can upgrade to to latest version or at least latest 6.x.
    2. There might be some missing indexes on your AuditLogs table. If you are using SQL Server, you can check it using https://blog.sqlauthority.com/2011/01/03/sql-server-2008-missing-index-script-download/
  • 0
    shedspotter created

    Hi @ismcgdas, Here is the test credentials you requested:

    URL: http://taritas.anywhereapp.in/app/admin/auditLogs ID: supreet.tare@taritas.com PW: ]%>`xMyCK!Z['x3'

    Notice how you get an exception when you visit the Audit Log page, kindly take a look & let us know if we can do something without having to update the ADB version as an immediate fix.

    Looking forward to your response.

    Thanks

  • 0
    ismcagdas created
    Support Team

    Hi @shedspotter

    Is this happening on your local environment as well ?