Failed to update content. Please reload (error message)

I have…

  • [ ] Checked the logs and have provided the logs if I found something suspicious there

I’m submitting a…

  • [ ] Regression (a behavior that stopped working in a new release)
  • [ ] Bug report
  • [x ] Performance issue
  • [ ] Documentation issue or request

Current behavior

I have a very large team of developers, editing and adding content to the Squidex CMS system. However, intermittently, all team members have reported an error stating, “Failed to Update content. Please reload.”

Expected behavior

I would like to be able to have my content team upload content, without a seeming timeout issue.

Minimal reproduction of the problem

Dev Team member publishes content, presses ‘Save’ then gets the above-mentioned error.

Environment

  • [x] Self hosted with docker
  • [ ] Self hosted with IIS
  • [ ] Self hosted with other version
  • [ ] Cloud version

Version: Cloud

Browser:

  • [x ] Chrome (desktop)
  • [ ] Chrome (Android)
  • [ ] Chrome (iOS)
  • [x ] Firefox
  • [ ] Safari (desktop)
  • [ ] Safari (iOS)
  • [ x] IE
  • [x ] Edge

Others:
Is there a way to adjust the idle timeout connection between squidex and mongodb? Would that be the appropriate move? If so, could you provide me the location of that setting in the squidex config? Thank you.

You have clicked “cloud version”…I am confused now.

Anyway it is hard to say what the root cause is. There should be some infos in the logs.

I’m sorry Sebastian, my mistake. I’m running this instance of Squidex ‘Self Hosted with Docker’. If you could give me the location of the most useful logs, I can deliver that to you. Otherwise, I’ve had developers on my team reporting that they have noticed this issue on local instance of Squidex, as well. Any advice you could give me would be great. Thank you!

you have to user docker

docker logs < container>

Hi. I have the same issue.
Squidex version 6.4.0
Self hosted with docker. I see an TimeoutException in log. Why it happens and what can I do?

From log
{
  "logLevel": "Error",
  "message": "An unexpected exception has occurred.",
  "timestamp": "2023-05-15T08:58:55Z",
  "app": {
    "name": "Squidex",
    "version": "5.0.0.0",
    "sessionId": "010684fd-865a-4df7-8085-04980e7064d2"
  },
  "web": {
    "requestId": "00-eb050b91031b377f7a069de09e04a34f-5b014d3579e2a24a-01",
    "requestPath": "/content/someapp/pages/459691db-1d73-4be4-84db-47efc9d919e6",
    "requestMethod": "PUT",
    "routeValues": {
      "area": "Api",
      "action": "PutContent",
      "controller": "Contents"
    }
  },
  "exception": {
    "type": "System.TimeoutException",
    "message": "Response did not arrive on time in 00:00:30 for message: NewPlacement Request S127.0.0.1:11111:421423493*cli/d7166ab4@ee536aba-\u003ES127.0.0.1:11111:421423493*grn/Squidex.Domain.Apps.Entities.Contents.DomainObject.ContentDomainObjectGrain/0\u002B9ee6b177-3be4-45e1-b501-f4ad76037b07--459691db-1d73-4be4-84db-47efc9d919e6@b73048a4 InvokeMethodRequest Squidex.Domain.Apps.Entities.Contents.DomainObject.IContentGrain:ExecuteAsync #358029702. Last known status is IsExecuting: True, IsWaiting: False, Diagnostics: [[Activation: S127.0.0.1:11111:421423493*grn/Squidex.Domain.Apps.Entities.Contents.DomainObject.ContentDomainObjectGrain/0\u002B9ee6b177-3be4-45e1-b501-f4ad76037b07--459691db-1d73-4be4-84db-47efc9d919e6-0xE5073543@b73048a4 #GrainType=Squidex.Domain.Apps.Entities.Contents.DomainObject.ContentDomainObjectGrain Placement=RandomPlacement State=Valid NonReentrancyQueueSize=0 EnqueuedOnDispatcher=0 InFlightCount=1 NumRunning=1 IdlenessTimeSpan=738654.08:58:44.3858899 CollectionAgeLimit=02:00:00], TaskScheduler status: WorkItemGroup:Name=[Activation: S127.0.0.1:11111:421423493*grn/Squidex.Domain.Apps.Entities.Contents.DomainObject.ContentDomainObjectGrain/0\u002B9ee6b177-3be4-45e1-b501-f4ad76037b07--459691db-1d73-4be4-84db-47efc9d919e6@b73048a4 #GrainType=Squidex.Domain.Apps.Entities.Contents.DomainObject.ContentDomainObjectGrain Placement=RandomPlacement State=Valid],WorkGroupStatus=Waiting. Currently QueuedWorkItems=0; Total Enqueued=3; Total processed=3; Quantum expirations=0; TaskRunner=ActivationTaskScheduler-610:Queued=0; Detailed context=\u003C[Activation: S127.0.0.1:11111:421423493*grn/Squidex.Domain.Apps.Entities.Contents.DomainObject.ContentDomainObjectGrain/0\u002B9ee6b177-3be4-45e1-b501-f4ad76037b07--459691db-1d73-4be4-84db-47efc9d919e6-0xE5073543@b73048a4 #GrainType=Squidex.Domain.Apps.Entities.Contents.DomainObject.ContentDomainObjectGrain Placement=RandomPlacement State=Valid NonReentrancyQueueSize=0 EnqueuedOnDispatcher=0 InFlightCount=1 NumRunning=1 IdlenessTimeSpan=738654.08:58:44.3860900 CollectionAgeLimit=02:00:00 CurrentlyExecuting=NewPlacement Request S127.0.0.1:11111:421423493*cli/d7166ab4@ee536aba-\u003ES127.0.0.1:11111:421423493*grn/Squidex.Domain.Apps.Entities.Contents.DomainObject.ContentDomainObjectGrain/0\u002B9ee6b177-3be4-45e1-b501-f4ad76037b07--459691db-1d73-4be4-84db-47efc9d919e6@b73048a4 InvokeMethodRequest Squidex.Domain.Apps.Entities.Contents.DomainObject.IContentGrain:ExecuteAsync #358029702]\u003E, Message NewPlacement Request S127.0.0.1:11111:421423493*cli/d7166ab4@ee536aba-\u003ES127.0.0.1:11111:421423493*grn/Squidex.Domain.Apps.Entities.Contents.DomainObject.ContentDomainObjectGrain/0\u002B9ee6b177-3be4-45e1-b501-f4ad76037b07--459691db-1d73-4be4-84db-47efc9d919e6@b73048a4 InvokeMethodRequest Squidex.Domain.Apps.Entities.Contents.DomainObject.IContentGrain:ExecuteAsync #358029702 was enqueued 00:00:19.3039215 ago and has now been executing for 00:00:19.3037081.]. Target History is: \u003CS127.0.0.1:11111:421423493:*grn/Squidex.Domain.Apps.Entities.Contents.DomainObject.ContentDomainObjectGrain/0\u002B9ee6b177-3be4-45e1-b501-f4ad76037b07--459691db-1d73-4be4-84db-47efc9d919e6:@b73048a4\u003E.",
    "stackTrace": "   at Orleans.Internal.OrleansTaskExtentions.\u003CToTypedTask\u003Eg__ConvertAsync|4_0[T](Task\u00601 asyncTask)\n   at Squidex.Infrastructure.Commands.GrainCommandMiddleware\u00602.ExecuteCommandAsync(TCommand typedCommand) in /src/src/Squidex.Infrastructure/Commands/GrainCommandMiddleware.cs:line 52\n   at Squidex.Infrastructure.Commands.GrainCommandMiddleware\u00602.ExecuteCommandAsync(CommandContext context) in /src/src/Squidex.Infrastructure/Commands/GrainCommandMiddleware.cs:line 38\n   at Squidex.Infrastructure.Commands.GrainCommandMiddleware\u00602.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Infrastructure/Commands/GrainCommandMiddleware.cs:line 26\n   at Squidex.Domain.Apps.Entities.Contents.DomainObject.ContentsBulkUpdateCommandMiddleware.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentsBulkUpdateCommandMiddleware.cs:line 135\n   at Squidex.Infrastructure.Commands.GrainCommandMiddleware\u00602.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Infrastructure/Commands/GrainCommandMiddleware.cs:line 26\n   at Squidex.Domain.Apps.Entities.Assets.DomainObject.AssetCommandMiddleware.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetCommandMiddleware.cs:line 109\n   at Squidex.Domain.Apps.Entities.Assets.DomainObject.AssetsBulkUpdateCommandMiddleware.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Domain.Apps.Entities/Assets/DomainObject/AssetsBulkUpdateCommandMiddleware.cs:line 127\n   at Squidex.Infrastructure.Commands.GrainCommandMiddleware\u00602.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Infrastructure/Commands/GrainCommandMiddleware.cs:line 26\n   at Squidex.Domain.Apps.Entities.Apps.DomainObject.AppCommandMiddleware.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Domain.Apps.Entities/Apps/DomainObject/AppCommandMiddleware.cs:line 43\n   at Squidex.Domain.Apps.Entities.Schemas.Indexes.SchemasIndex.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Domain.Apps.Entities/Schemas/Indexes/SchemasIndex.cs:line 152\n   at Squidex.Domain.Apps.Entities.Rules.Indexes.RulesIndex.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Domain.Apps.Entities/Rules/Indexes/RulesIndex.cs:line 64\n   at Squidex.Domain.Apps.Entities.Apps.Indexes.AppsIndex.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Domain.Apps.Entities/Apps/Indexes/AppsIndex.cs:line 184\n   at Squidex.Domain.Apps.Entities.Apps.Invitation.InviteUserCommandMiddleware.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Domain.Apps.Entities/Apps/Invitation/InviteUserCommandMiddleware.cs:line 57\n   at Squidex.Domain.Apps.Entities.Apps.Plans.RestrictAppsCommandMiddleware.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Domain.Apps.Entities/Apps/Plans/RestrictAppsCommandMiddleware.cs:line 61\n   at Squidex.Extensions.Samples.Middleware.TemplateMiddleware.HandleAsync(CommandContext context, NextDelegate next) in /src/extensions/Squidex.Extensions/Samples/Middleware/TemplateMiddleware.cs:line 61\n   at Squidex.Infrastructure.Commands.CustomCommandMiddlewareRunner.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Infrastructure/Commands/CustomCommandMiddlewareRunner.cs:line 26\n   at Squidex.Web.CommandMiddlewares.ETagCommandMiddleware.HandleAsync(CommandContext context, NextDelegate next) in /src/src/Squidex.Web/CommandMiddlewares/ETagCommandMiddleware.cs:line 61\n   at Squidex.Infrastructure.Commands.InMemoryCommandBus.PublishAsync(ICommand command) in /src/src/Squidex.Infrastructure/Commands/InMemoryCommandBus.cs:line 68\n   at Squidex.Areas.Api.Controllers.Contents.ContentsController.InvokeCommandAsync(ICommand command) in /src/src/Squidex/Areas/Api/Controllers/Contents/ContentsController.cs:line 838\n   at Squidex.Areas.Api.Controllers.Contents.ContentsController.PutContent(String app, String schema, DomainId id, ContentData request) in /src/src/Squidex/Areas/Api/Controllers/Contents/ContentsController.cs:line 650\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.\u003CInvokeActionMethodAsync\u003Eg__Logged|12_1(ControllerActionInvoker invoker)\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.\u003CInvokeNextActionFilterAsync\u003Eg__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State\u0026 next, Scope\u0026 scope, Object\u0026 state, Boolean\u0026 isCompleted)\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.\u003CInvokeInnerFilterAsync\u003Eg__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.\u003CInvokeNextExceptionFilterAsync\u003Eg__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"
  }
}

{
  "logLevel": "Information",
  "filters": {
    "appId": "9ee6b177-3be4-45e1-b501-f4ad76037b07",
    "appName": "someapp",
    "userId": "621365265f33b1d9b23802be",
    "clientId": "squidex-frontend",
    "costs": 1
  },
  "elapsedRequestMs": 30649,
  "timestamp": "2023-05-15T08:58:55Z",
  "app": {
    "name": "Squidex",
    "version": "5.0.0.0",
    "sessionId": "010684fd-865a-4df7-8085-04980e7064d2"
  },
  "web": {
    "requestId": "00-eb050b91031b377f7a069de09e04a34f-5b014d3579e2a24a-01",
    "requestPath": "/api/content/someapp/pages/459691db-1d73-4be4-84db-47efc9d919e6",
    "requestMethod": "PUT"
  }
}

Do you have more than one instance?
Do you use scripting?

There was a timeout issue in a previous version with scripting. Cannot remember the version and I do not find it in the change lo.

Instance just one. Scripting not used for this schema.

Mhm, there was an issue with a scripting deadlock in one of the versions. But I cannot find it in the changelog. I would consider an update.

Yeap. We have already scheduled an update in a few months) Hope this helps)
Can be the problem in setting “orleans”: “clustering”: “Development” ?