replication-manager icon indicating copy to clipboard operation
replication-manager copied to clipboard

extproxy support missing ?

Open mluczak opened this issue 6 years ago • 7 comments

Hi,

I'm trying to use extproxy and extproxy-address but when I read the code I have the impression that it's actually missing.

More precisely, it fails here:

replication-manager-osc[16620]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xa8f21b]
replication-manager-osc[16620]: goroutine 16 [running]:
replication-manager-osc[16620]: github.com/signal18/replication-manager/cluster.(*Cluster).initProxies(0xc4203aa000)
replication-manager-osc[16620]: #011/var/jenkins_home/workspace/go/src/github.com/signal18/replication-manager/cluster/prx.go:385 +0x9b```

mluczak avatar Jun 11 '18 19:06 mluczak

Hi Thanks

What replication-manager version are you using ? ./replication-manager-osc monitor --help | grep extp --extproxy External proxy can be used to specify a route manage with external scripts --extproxy-address string Network address when route is manage via external script, host:[port] format

parameter in config should be extproxy = true extproxy-address ="ip:port" to join the cluster

svaroqui avatar Jun 11 '18 21:06 svaroqui

I'm using the 2.0 package for debian from your repo :

replication-manager-osc_2.0.1_amd64.deb
# replication-manager-osc monitor --help | grep extp
      --extproxy                                       External proxy can be used to specify a route manage with external scripts
      --extproxy-address string                        Network address when route is manage via external script,  host:[port] format

When I read the initProxies (and others) I don't see how it could work actually since the ExtProxyOn and ExtProxyVIP are not used there, but maybe I'm wrong.

Also can you contact me to talk professional services and licensing of the Pro version ? [email protected]

mluczak avatar Jun 12 '18 09:06 mluczak

I can see it from https://github.com/signal18/replication-manager/blob/2.0/cluster/prx.go line 157 to 165

This extproxy is used by replication-manager to externally join the master, mainly in pseudo gtid injection or benchmarking also for extra tools like sphinx indexer to know how to query the database to fetches indexes If you get a load balancer or cloud Elastic IP or failover proxies !

svaroqui avatar Jun 12 '18 09:06 svaroqui

Indeed, it's very strange because if I take the line of the crash it's

		cluster.LogPrintf(LvlInfo, "Init Proxy Type: %s Host: %s Port: %s", pr.Type, pr.Host, pr.Port)

which doesn't make sense (the values I set are :

extproxy = true
extproxy-address = "127.0.0.1:3306"

mluczak avatar Jun 12 '18 09:06 mluczak

Re,

Can you send me your conf file so that i can try to reproduce later on [email protected]

Tx

svaroqui avatar Jun 12 '18 10:06 svaroqui

In the file you send me there is extproxy-address = “127.0.0.1:3306" instead of extproxy-address = "127.0.0.1:3306"

See first quote is broken hoping it's a copy past issue and not in original conf file , can you confirm , i can not reproduce the issue after fixing this !

svaroqui avatar Jun 12 '18 11:06 svaroqui

Hello,

Can you please try install last release from our ci https://ci.signal18.io:9443/ or depot https://signal18.io/downloads

Also i'm intrested in getting the full log file or by running replication-manager by hand and sending stdout or by setting log-file="balbla" in config file

svaroqui avatar Jun 12 '18 11:06 svaroqui