Berimor66 / duplicati

Automatically exported from code.google.com/p/duplicati
0 stars 0 forks source link

Duplicati resolves the name each time a volume needs to be sent #390

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Take normal backup that takes multiple volumes.

What is the expected output? What do you see instead?

I expect that once it makes the connection to the back-end service, it doesn't 
kill that connection or forget about its IP address.

What version of the product are you using? On what operating system?

1.2

What backend (destination) are you using?

WebDAV on IIS7

Please provide any additional information below.

Basically when computers that need to be backed up floats from one network 
context to another; they could be resolving names in different networks. If 
Duplicati were to stick to the IP address it found during initial backup job 
start for the entire duration of multi-volume process, it would be resilient to 
underlying network changes and could finish the jobs more reliably.

I have a related wish that I'll file separately.

Original issue reported on code.google.com by Baris.E...@gmail.com on 24 Mar 2011 at 8:12

GoogleCodeExporter commented 9 years ago
I'm not really suer I follow the setup.
If the machine floats to another network, it is usually not possible to 
maintain the connection, as the IP changes, and allowing a persistent TCP 
connection with changed IPs is usually not allowed because of the security 
problems this may cause. Because of network setups, it is also possible that a 
given hostname must be resolved to another IP, depending on the current 
network, which would make caching op IP addresses problematic.

I have deliberately made all backends "encapsulated" to ensure that each 
request is a separate transaction, which means that each put/get/list/delete 
operation will create a connection to the server, do some work, and then close 
the connection.

This ensures that even with a changing network, (eg. hibernate while doing 
backup, then arrive at new network later) and errors/assumptions in one 
operation cannot influence another operation.

The downside to this is that there is some overhead in the setup/teardown of a 
connection, but for the current version of Duplicati I have chosen to favor 
stability over speed in this case.

As for the numerous lookups, Duplicati uses whatever service .Net uses, which 
means whatever Windows decides. If windows decides to cache hostnames (dns 
lookups), so will Duplicati, and if all hostnames are looked up by windows, 
Duplicati will do the same.

Original comment by kenneth@hexad.dk on 26 Mar 2011 at 11:05