v1.20.3 quite aggressive on DNS lookups for the relay server

I have a relay server that is specified in the Syncthing config by FQDN.

The Server is dual-stacked and valid, DNSSEC signed A and AAAA records exist with a long TTL of 86400.

I notice that Syncthing is querying and getting valid responses for this FQDN every 1-10 seconds, sometimes several times per second. It seems to disregard the TTL. The peer is successfully joining the relay and not showing any signs of connectivity issues that would necessitate looking up the relay’s DNS records over and over.

I suspect that what’s happening is that the connection loop is trying to find a better way to connect to the peer device (since relays are last resort), and as part of that it resolves all available addresses to it. The application doesn’t do DNS caching, the local resolver / resolver library would do that.

However

sure seems excessive. It should slow down to at most once a minute (or what you’ve set the reconnection interval to).

Just had a look at the code and it should skip relays when already connected by relay, as the priority is the same. I can only see this happening if a connection can’t be established. Could you send some logs with connections debug facility enabled.