Databases 9 min read

Troubleshooting OBproxy Deployment: Fixing Lost Connection Error Caused by Wrong Root Service List Port

This article details a step‑by‑step troubleshooting process for an OBproxy deployment error where a client loses connection to the OceanBase server due to an incorrect port in the root service list, including environment setup, command examples, log analysis, and the final resolution.

Aikesheng Open Source Community
Aikesheng Open Source Community
Aikesheng Open Source Community
Troubleshooting OBproxy Deployment: Fixing Lost Connection Error Caused by Wrong Root Service List Port

Problem Description

The OBproxy instance was deployed via RPM and, when accessed with obclient , returned the error ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading authorization packet’, system error: 11 .

Introduction

OceanBase

OceanBase is an open‑source, enterprise‑grade distributed HTAP database with a shared‑nothing architecture, offering high availability, horizontal scalability, distributed transactions, multi‑tenant support, and MySQL‑compatible syntax.

OBproxy

OBproxy (OceanBase Database Proxy) is a dedicated proxy server that forwards SQL requests from clients to the appropriate OBServer instances and returns the results.

Related Information

Version and Architecture

OceanBase version 3.1.4; OBproxy version 3.2.3.5. One OceanBase instance (10.186.60.96) and one OBproxy instance (172.20.134.5) are used.

OBproxy Startup Modes

Two ways to specify the target database cluster:

ConfigURL : Allows the proxy to access multiple OceanBase clusters.

RSList : Limits the proxy to a single cluster defined by a root‑service list (e.g., 192.168.0.1:2881,192.168.0.2:2881 ).

Operation Procedure

All steps were performed using the open‑source RPM package without OBD or OCP.

1. Create a proxy user in OceanBase:

obclient -h10.186.60.96 -uroot@sys -P2881 -p -c -A
Enter password:
CREATE USER proxyro IDENTIFIED BY '123456';
GRANT SELECT ON *.* TO proxyro;
SHOW GRANTS FOR proxyro;

2. Install OBproxy:

SUDO rpm -ivh --force /tmp/obproxy-ce-3.2.3.5-2.el7.x86_64.rpm

3. Start the proxy instance:

cd /home/admin/obproxy-3.2.3.5 && ./bin/obproxy -p 2883 -l 2884 -n test-proxy -o observer_sys_password=7c4a8d09ca3762af61e59520943dc26494f8941b -c 'ob_xxxxxxxx' -r "10.186.60.96:2882"

4. Add a watchdog process for the proxy:

# Check current proxy process count
pgrep -c obproxy | xargs --no-run-if-empty
# Start watchdog script
bin/obproxyd.sh -c checkalive -r -n test-proxy -p 2883 -t 10.186.60.96:2882 -s ob_xxxxxxxx &
# Verify two processes are running (proxy + watchdog)
pgrep -c obproxy | xargs --no-run-if-empty

5. Verify configuration via OBproxy; connection to the database cluster still failed.

Diagnosis

5.1 Process Check

The proxy processes were running under the admin user, which is required.

5.2 Root Service List Parameter

The RSList parameter pointed to an IP (10.186.90.63) that did not match the intended cluster.

5.3 Log Inspection

OBproxy logs contained warnings indicating that the specified cluster name could not be found via RSList.

5.4 Cluster Name Confirmation

Verified the actual cluster name in OceanBase and ensured it matched the startup parameters.

SELECT * FROM `v$ob_cluster`;

5.5 Proxy Account Verification

Confirmed that the proxyro user existed in the database and that its password was correct.

Conclusion

The root cause was an incorrect port in the root service list parameter: the port used was 2882 (RPC port) instead of the SQL port 2881. Correcting the port resolved the connection error.

Other Observations

Two defects were found in the obproxyd.sh script: inaccurate startup parameter documentation and an erroneous script terminator, both of which have been submitted as a PR ( https://github.com/oceanbase/obproxy/pull/28 ).

Suggestion: In RSList mode, the proxy should attempt an early connection test to validate the root service list and emit clearer log messages when a cluster name cannot be resolved.

TroubleshootingOceanBaseDatabase ProxyOBproxyRoot Service List
Aikesheng Open Source Community
Written by

Aikesheng Open Source Community

The Aikesheng Open Source Community provides stable, enterprise‑grade MySQL open‑source tools and services, releases a premium open‑source component each year (1024), and continuously operates and maintains them.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.