Uploaded image for project: 'MariaDB MaxScale'
  1. MariaDB MaxScale
  2. MXS-3436

Packet received out-of-order. Expected 1; got 3

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.5.7
    • Fix Version/s: 2.5.10
    • Component/s: Protocol
    • Labels:
      None
    • Environment:
      Amazon EC2, CentOS
    • Sprint:
      MXS-SPRINT-127

      Description

      customer reported the following error when connecting to maxscale 2.5.7 using MySqlConnector(https://www.nuget.org/packages/MySqlConnector/0.61.0) and mariadb version is 10.3.27,

      from application server logs where it was using .net connector
      ---------------------------------------------------------------
       
      MySql.Data.MySqlClient.MySqlProtocolException
        HResult=0x80131509
        Message=Packet received out-of-order. Expected 1; got 3.
        Source=mscorlib
        StackTrace:
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at MySqlConnector.Protocol.Serialization.ProtocolUtility.DoReadPayloadAsync(BufferedByteReader bufferedByteReader, IByteHandler byteHandler, Func`1 getNextSequenceNumber, ArraySegmentHolder`1 previousPayloads, ProtocolErrorBehavior protocolErrorBehavior, IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\Protocol\Serialization\ProtocolUtility.cs:line 470
         at MySqlConnector.Protocol.Serialization.StandardPayloadHandler.ReadPayloadAsync(ArraySegmentHolder`1 cache, ProtocolErrorBehavior protocolErrorBehavior, IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\Protocol\Serialization\StandardPayloadHandler.cs:line 42
         at MySqlConnector.Core.ServerSession.ReceiveReplyAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ServerSession.cs:line 734
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at MySqlConnector.Core.ServerSession.<ReceiveReplyAsyncAwaited>d__78.MoveNext() in C:\projects\mysqlconnector\src\MySqlConnector\Core\ServerSession.cs:line 769
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at System.Threading.Tasks.ValueTask`1.get_Result()
         at MySqlConnector.Core.ServerSession.<TryResetConnectionAsync>d__69.MoveNext() in C:\projects\mysqlconnector\src\MySqlConnector\Core\ServerSession.cs:line 494
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
         at MySqlConnector.Core.ConnectionPool.<GetSessionAsync>d__10.MoveNext() in C:\projects\mysqlconnector\src\MySqlConnector\Core\ConnectionPool.cs:line 72
         at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
         at MySqlConnector.Core.ConnectionPool.<GetSessionAsync>d__10.MoveNext() in C:\projects\mysqlconnector\src\MySqlConnector\Core\ConnectionPool.cs:line 141
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at System.Threading.Tasks.ValueTask`1.get_Result()
         at MySql.Data.MySqlClient.MySqlConnection.<CreateSessionAsync>d__109.MoveNext() in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlConnection.cs:line 645
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at MySql.Data.MySqlClient.MySqlConnection.<OpenAsync>d__25.MoveNext() in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlConnection.cs:line 312
         at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
         at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
         at MySql.Data.MySqlClient.MySqlConnection.Open() in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlConnection.cs:line 280
         at MPP.SessionMgr.GlobalSessionSettings.GetDbSessionSettings() in C:\Users\ballenal\source\repos\mpp_web_2_0\SessionMgr\GlobaSessionSettings.cs:line 64
         at MPP.SessionMgr.GlobalSessionSettings..ctor() in C:\Users\ballenal\source\repos\mpp_web_2_0\SessionMgr\GlobaSessionSettings.cs:line 25
         at MPP.SessionMgr.SessionManager..ctor() in C:\Users\ballenal\source\repos\mpp_web_2_0\SessionMgr\SessionManager.cs:line 30
       
        This exception was originally thrown at this call stack:
          [External Code]
          MPP.SessionMgr.GlobalSessionSettings.GetDbSessionSettings() in GlobaSessionSettings.cs
          MPP.SessionMgr.GlobalSessionSettings.GlobalSessionSettings() in GlobaSessionSettings.cs
          MPP.SessionMgr.SessionManager.SessionManager() in SessionManager.cs
      

      Attaching shared log from customers.
      When I searched error messages, it seems to be fixed in mariadb server side - https://jira.mariadb.org/browse/MDEV-16308, but I am not sure if it is maxscale issue or server issue.

        Attachments

          Activity

            People

            Assignee:
            markus makela markus makela
            Reporter:
            allen.lee@mariadb.com Allen Lee
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Git Integration