So I had my screwup for the week today. I was adding another pair of slaves and set the same server ID on the new slave as an old slave.
The layout kind of looks like
Master | | \/ | oldS | \/ newS1 | | \/ newS2
So to be clear the old slave (oldS) and the first new slave (newS1) share the same server ID.
It's not circular replication so I'm hoping things will turn out okay. I wouldn't have expected the fallout though.
Alarms started going off b/c oldS1 started falling farther and farther behind. Looking at the logdir it was making thousands and thousands of empty relay logs.
I stopped slaving on newS1 and that seemed to clear things up in that oldS1 stopped making empty relay logs and caught back up.
Both slaves seem to be in a consistent state up to the point I stopped slaving on newS1.
- Will fixing everything be as simple as bouncing newS1 with a new, unique ID be kosher, especially considering newS1 is itself slaving to newS2?
- Is there anything else to be cautious about?
- Why did this result in oldS spawning empty relay log after empty relay log? I would have though oldS and newS1 had no knowledge of the others existence.
- I thought relay log rolling was just determined by the slave itself. Is the master sending some signal that it should spawn a new relay log?