We publish https://github.com/coreos/etcd/tree/master/client as our new client, and it is cleaner and better than go-etcd. You could try this out.
Back to the problem, I didn't notice this behavior in go-etcd before. We are more than welcome to solve it if it is a problem in new client.
If you could reach out ([email protected]) I would love to hear about your production use.
Is this something that the new go-etcd package addresses?