Azure / Azure/azure-quickstart-templates
'mysqlprobe' fails when going through LB (mysql-replication)
- 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