Azure / Azure/azure-quickstart-templates

'mysqlprobe' fails when going through LB (mysql-replication)

Open
#4,225 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Bicep
Stars
14.9k
Forks
16.2k
Avg merge
6d 21h
Merged PRs (30d)
6

Description

[mysql-replication](https://github.com/Azure/azure-quickstart-templates/tree/master/mysql-replication)

### Issue Details

When accessing the mysqlprobe (running in xinetd) via an IPv4 loopback, or from the other node via the IPv4 public IP address, everything works fine. If you access it from the external address via the LB, it throws a connection reset after the HTTP 200 line is returned

### Repro steps
1. Deploy the template as standard
2. Query the mysqlprobe endpoint (:9200 for node1, :9201 for node2) on the LB
3. Connection will be reset after HTTP/1.1 200 OK return[0]
4. Query the mysqlprobe endpoint locally on either node (127.0.0.1:9200)
5. Status returned successfully[1]

[0]
```
> GET / HTTP/1.1
> Host: mysql-lb:9200
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
* Recv failure: Connection reset by peer
```

[1]
```
> GET / HTTP/1.1
> Host: 127.0.0.1:9200
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: Content-Type: text/plain
< Connection: close
< Content-Length: 19
<
MySQL is running.
* Closing connection 0
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the mysql-replication template and the xinetd mysqlprobe endpoint described in the issue. Reproduce the reset through the load balancer and compare it with the successful local request; done means the endpoint returns its complete HTTP response through the LB, including the status body and connection close.

Written by the indexing model from the issue text.

Assessment

Tech stack
mysql
Domain
cloud, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.