[MDEV-5087] MariaDB Galera Cluster xtrabackup_sst script is outdated and haproxy scripts are missing Created: 2013-10-01  Updated: 2015-10-08  Resolved: 2015-10-08

Status: Closed
Project: MariaDB Server
Component/s: Galera
Fix Version/s: N/A

Type: Task Priority: Minor
Reporter: Guillaume Lefranc Assignee: Nirbhay Choubey (Inactive)
Resolution: Won't Do Votes: 1
Labels: galera

Attachments: HTML File checkmysqlgalera     File clustercheck.x86_64     File mysqlchk_galera.sh    

 Description   

Hello,

in latest MariaDB Galera cluster, xtrabackup script is outdated. Please update from upstream: wget http://bazaar.launchpad.net/~percona-core/percona-xtradb-cluster/5.5/download/head:/wsrep_sst_xtrabackup-20120827055340-1xdl88v3duvonkwy-1/wsrep_sst_xtrabackup.sh -O /usr/bin/wsrep_sst_xtrabackup

New script supports socat among other things.

Also, Percona XTRADB cluster release include scripts which are very handy in implementing HA with a loadbalancer such as HAProxy. I think they could be included in the MGC packages.

Please find scripts attached (it's a modified version courtesy of Joffrey@SkySQL).

Kind regards
GL



 Comments   
Comment by Nirbhay Choubey (Inactive) [ 2014-07-15 ]

Hi Guillaume,
The SST scripts should be up-to-date in the latest MGC versions. Regarding the attached scripts : Who is the owner? There is no license/copyright header. Is it thoroughly tested?

Comment by Guillaume Lefranc [ 2014-07-18 ]

Hi Nirbhay,
those scripts are certainly outdated. I'll check for a suitable alternative.

Comment by Guillaume Lefranc [ 2014-07-18 ]

Seems like the latest version of clustercheck is there:

https://github.com/Oneiroi/clustercheck

License is GPLV3.

Comment by Guillaume Lefranc [ 2014-11-12 ]

Hi Nirbhay,

would that make things easier if I wrote a compiled program to implement this functionality?
I think it's doable in 1-2 hours. Let me know

Guillaume

Comment by Nirbhay Choubey (Inactive) [ 2015-04-21 ]

tanj Its a py script, that would require adding python as one of the dependencies for the server package and reimplementing this in C/C++ will require a httpserver.

Comment by Guillaume Lefranc [ 2015-04-21 ]

As I mentioned I have a compiled replacement to this : https://github.com/tanji/mariadb-tools/blob/master/clustercheck/clustercheck.go

No dependencies needed, it's golang and the runtime is self-contained.

I'm including a 64-bit binary to this issue.

Comment by Nirbhay Choubey (Inactive) [ 2015-04-21 ]

tanj I am not sure where/how to fit this in the server deb/rpm package.

Comment by Guillaume Lefranc [ 2015-04-21 ]

It should be in /usr/bin as it's an executable.

Comment by Nirbhay Choubey (Inactive) [ 2015-04-21 ]

I meant from the source.

Comment by Nirbhay Choubey (Inactive) [ 2015-04-23 ]

I think we can use the script version. https://github.com/olafz/percona-clustercheck/blob/master/clustercheck

Comment by Guillaume Lefranc [ 2015-04-23 ]

You can't use that, because it has to be manually installed in xinetd. So it doesn't work out of the box.
I did not understand what's the issue with the executable and why you don't want to use it.

Comment by Nirbhay Choubey (Inactive) [ 2015-04-23 ]

tanj Building packages (and bintars for that matter) is a pretty automated process where we build all compilable stuff from source and then package the binaries. Now, in the current state, we will either have to (a) hack into the build process to pick this new clustercheck binary from some predefined location or (b) add the source file to mariadb and build it using mariadb build system, which would require installing go tools/runtime on all the buildbot build images. I personally do not like (a). And (b) would require quite an amount of effort. That is the reason why I am inclined toward adding the script instead.

Comment by Guillaume Lefranc [ 2015-04-24 ]

I am not sure about how hard it is to add this to the build process but gcc can compile go code.
I'd rather not include the shell script. This is meant to improve customer experience and it fails to deliver.
I could rewrite something in C/C++ if that helped. The primary reason for writing this in Go is that it takes 5 minutes instead of 30 in C++.

Comment by Nirbhay Choubey (Inactive) [ 2015-04-24 ]

tanj Compiling a go program with gcc would still require go runtime. Wouldn't it?
I would still prefer one implemented in C/C++.

Comment by Nirbhay Choubey (Inactive) [ 2015-04-24 ]

Regarding the script, since its not that useful, lets drop the idea of including it.

Comment by Guillaume Lefranc [ 2015-04-24 ]

Agreed; we can include the binary in a different package (for example, Enterprise Toolkit or something).

Comment by James Briggs [ 2015-06-26 ]

Percona Cluster currently still uses a bash script called clustercheck with xinetd, so I don't see any need for go or python sources.

I have added more error handling to their script. I'll add a link here when it gets upstreamed.

Comment by Guillaume Lefranc [ 2015-06-26 ]

No, Percona doesn't currently use a bash script. The python script is authored by them.
The reason not to use a bash script is to avoid external dependencies such as xinetd. Not everyone wants to set that up.

Comment by Guillaume Lefranc [ 2015-06-26 ]

@nirbhay_c can you please close this issue as we have agreed that we won't update that.

Generated at Thu Feb 08 07:01:33 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.