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:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0d
                  0d
                  Logged:
                  Time Spent - 0.25d
                  0.25d

                  Git Integration

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