Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-19893

Do not send error packets with seqno= 0

    Details

      Description

      Sometimes, e.g when killing an idle connection, server might send an error packet to the client with sequence number = 0.

      This does not play well with some clients, because Oracle (and some other) clients are not aware of out-of-band operations.
      What happens in this case is

      1. Idle connection is killed, error packet with seqno= 0 is sent to the client.
      2. Error packet arrives to the client machine, and sits there in the OS socket buffers.
      3. Client sends any command, e.g "SELECT 1", to the already dead connection. Client sets seqno=0 in his packet.
      4. Client reads from socket, gets the packet from 1. with seqno=0, which it does not expect, since seqno is supposed to be incremented. Client complains, throws tantrums and exceptions.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                wlad Vladislav Vaintroub
                Reporter:
                wlad Vladislav Vaintroub
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: