Subject: Re: Database Testing

From: "Jeremy Kister" <[email-masked]>
Date: Fri, 5 Mar 2004 12:07:56 -0500

On Thu Mar 4 15:48:32 EST 2004, Christopher Ferry wrote:
> I've been using the following check successfully:
[...]
>                        sql:    SHOW SLAVE STATUS
>                        expect:  Yes

I dont know how much testing you've done with this config, but your
implementation will yeild false positives (ie argus will say all is ok when
all is not ok)

If the socket between the master and slave is ok, but there is a sql
transactional error, your test will pass.

Possibilities are:
Yes Yes
Yes No
No No

at the very minimum you should be using "expect: Yes Yes" (for the socket +
SQL), but there is a question of that breaking too, as the sql server does
not always return the same amount of rows while executing 'show slave
status'; I dont know how different amount of rows would effect the
positioning of each value, if at all.

An evil co-worker could also easily foil the method, as he could start
replicating (or ignoring) a database named "Yes" (or "Yes Yes") -- 
admittedly unlikely.  You'd also have to ensure neither your master nor
slave have 'Yes' in the hostname nor username -- again, unlikely.

Jeremy Kister
www.jeremykister.com/jeremy/

---

From: Christopher Ferry <[email-masked]>
Date: 05 Mar 2004 12:42:31 -0500

Jeremy,

I stopped the replication and argus caught the stop.
Whenever we've run into a transactional error replication stops and
following the above test should yield a failed test.

Is there something I'm missing?
Does replication not stop on certain transactional errors??

Thanks

Chris

On Fri, 2004-03-05 at 12:07, Jeremy Kister wrote:
> _______________________________________________
> http://argus.tcp4me.com/
> [email-masked]
> http://www.tcp4me.com/mailman/listinfo/arguslist