locked
Occasional SignalR Hangs RRS feed

  • Question

  • User1863001864 posted

    We are using Redis:  2.8.2400 and SignalR 2.2.0

    We have occasional there errors in the logs. 

    StackExchange.Redis.RedisConnectionException: SocketFailure on EVAL
     at Microsoft.AspNet.SignalR.Messaging.ScaleoutStream.Send(Func`2 send, Object state)
     at Microsoft.AspNet.SignalR.Infrastructure.Connection.Send(ConnectionMessage message)
     at Microsoft.AspNet.SignalR.Hubs.HubDispatcher.Outgoing(IHubOutgoingInvokerContext context)
     at Microsoft.AspNet.SignalR.Hubs.HubPipelineModule.<>c__DisplayClass1b.<BuildOutgoing>b__19(IHubOutgoingInvokerContext context)
     at Microsoft.AspNet.SignalR.Hubs.SignalProxy.TryInvokeMember(InvokeMemberBinder binder, Object[] args, Object& result)
     at CallSite.Target(Closure , CallSite , Object , List`1 )
     at SR.BusPortal.WebApi.Hubs.SearchHub.<>c__DisplayClass8_0.<SearchInternal>b__0(List`1 x) in D:\Continua\Agent\Ws\37347\Source\WEB\src\SR.BusPortal.WebApi\SR.BusPortal.WebApi\Hubs\SearchHub.cs:line 141
     at SR.BusPortal.Providers.Faciliators.SearchExecutioner.PrepareResultsAsync(IEnumerable`1 connections, Boolean deliverVerifications, Func`2 callback) in D:\Continua\Agent\Ws\37347\Source\WEB\src\SR.BusPortal.WebApi\SR.BusPortal.Providers\Faciliators\SearchExecutioner.cs:line 120
     at SR.BusPortal.Providers.Faciliators.SearchExecutioner.<>c__DisplayClass32_0.<SearchAsync>b__0(List`1 x) in D:\Continua\Agent\Ws\37347\Source\WEB\src\SR.BusPortal.WebApi\SR.BusPortal.Providers\Faciliators\SearchExecutioner.cs:line 216
    

     StackExchange.Redis.RedisConnectionException: SocketFailure on EVAL
      at Microsoft.AspNet.SignalR.Messaging.ScaleoutStream.Send(Func`2 send, Object state)
      at Microsoft.AspNet.SignalR.Infrastructure.Connection.Send(ConnectionMessage message)
    


    I could reduce it to mostly fail ona specific line of code: 

         Clients.Caller.SearchResults(connectionModels);

    which is primarly the return of the data to the client.

    Now I'm thinking about wether it would be a could idea to catch in this case the specific exception and try again. But I feel unsure wether this may lead to duplicate results in the client?

    Any advice on the error itself or about the retry idea?

    PS: I also posted here for SO Points hunter: http://stackoverflow.com/questions/35798009/redis-and-siglnar-occasional-hangs-socketfailure-on-eval

    Friday, March 4, 2016 1:58 PM

All replies

  • User61956409 posted

    Hi Gentlehag,

    PS: I also posted here for SO Points hunter: http://stackoverflow.com/questions/35798009/redis-and-siglnar-occasional-hangs-socketfailure-on-eval

    As Quentin Roger said, many people have same issue and them resolve the issue by switching Redis version. I’m not sure whether it could resolve the problem, but you could try it and let us know the result.

    Best Regards,

    Fei Han

    Monday, March 7, 2016 5:00 AM