don't use setnode in resync, use custom func so we can check that nothing changed