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

Do not send error packets with seqno= 0

    XMLWordPrintable

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

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

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.