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

Nginx errors while streaming to Maxscale

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 2.4.14
    • Fix Version/s: N/A
    • Component/s: N/A
    • Labels:
      None

      Description

      I have a simple stream block to stream MySQL TCP traffic to Maxscale instances. 2nd instance acts as a failover only, with a configuration as simple as:

      stream {    
          upstream maxscale {
              zone upstream_maxscale 64k;
              server 10.1.0.11:3307;
              server 10.1.0.12:3307 backup;
          }
       
          server {
              listen 3307;
              proxy_pass maxscale;
          }
      }
      

      When connections are low (<30), everything goes fine. But when connection are higher than 30, nginx error log keeps complaining about something that i don't know how to debug, as only nginx complains about this but not Maxscale.

      recv() failed (104: Connection reset by peer) while proxying and reading from upstream,
      bytes from/to client:15738/64316, bytes from/to upstream:64316/15738
      

      I've tried play with options like `reuseport`, `worker_connections` or `so_keepalive` on nginx configuration but no chances.

      Here the Maxscale 2.4 listener:

      # Listener
          
      [listener-rw]
      type=listener
      service=readwritesplit
      protocol=MariaDBClient
      address=10.1.0.11
      port=3307
      ssl=required
      ssl_ca_cert=/var/lib/maxscale/ssl/ca-cert.pem
      ssl_cert=/var/lib/maxscale/ssl/server.pem
      ssl_key=/var/lib/maxscale/ssl/server.key
      ssl_version=MAX
       
      # Service
       
      [readwritesplit]
      type=service
      router=readwritesplit
      servers=sql1,sql2,sql3
      user=maxscale
      password=324F74A347291B3BE79956A
      enable_root_user=1
      max_sescmd_history=150
      max_slave_connections=100%
      lazy_connect=true
      slave_selection_criteria=LEAST_CURRENT_OPERATIONS
      optimistic_trx=true
      connection_keepalive=300
      master_failure_mode=fail_on_write
      

      Maxscale log remains empty (other than start notice messages) so only nginx is complaining about this.

        Attachments

          Activity

            People

            Assignee:
            markus makela markus makela
            Reporter:
            acs-ferreira Carlos Ferreira
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Git Integration