Repository: borgbackup/borg

Issue:
increase default checkpoint intervall for 1.0.x?
from irc:
```
22:42  izibi$ I hope you can imagine my surprise when I figured out borg wrote ~700GB
              to the local disk when looking why the traffic on the repo host would pause for 
              2.5 minutes every 5 minutes
22:43  ThomasWaldmann$ heh, yeah
22:43  ThomasWaldmann$ maybe we should increase the --checkpoint-interval also for 1.0?
22:44  izibi$ probably a good idea
```


Discussion:
pro: maybe more sane default behaviour

contra: changing defaults in a patch release
default in 1.0 is 300s, default in 1.1 will be 1800s.
I'd say it's reasonable to bump 1.1 to 3600 s (1 hour). 1.0 maybe less?
Can the checkpointing be made efficient enough that we can keep the checkpoint interval under, say, 20 minutes without causing too much overhead?  It's not unusual for network connections to hang, and checkpointing is great for saving the part that has been done.
Somehow the idea of 30mins was "not too long, so people don't lose too much, but also not too short, keep overhead low".

Of course the sweet spot here depends a lot on the circumstances. That's why we have a commandline option. The default should address something that usually works for most people.

Also, this ticket was about changing the 1.0.x default, not about master. :D

And maybe we could get 1.0 to the value we have in 1.1, thus having 1 default change less somehow.

Resolving patch:
diff --git a/borg/archive.py b/borg/archive.py
--- a/borg/archive.py
+++ b/borg/archive.py
@@ -185,7 +185,7 @@ class IncompatibleFilesystemEncodingError(Error):
         """Failed to encode filename "{}" into file system encoding "{}". Consider configuring the LANG environment variable."""
 
     def __init__(self, repository, key, manifest, name, cache=None, create=False,
-                 checkpoint_interval=300, numeric_owner=False, noatime=False, noctime=False, progress=False,
+                 checkpoint_interval=1800, numeric_owner=False, noatime=False, noctime=False, progress=False,
                  chunker_params=CHUNKER_PARAMS, start=None, start_monotonic=None, end=None):
         self.cwd = os.getcwd()
         self.key = key
diff --git a/borg/archiver.py b/borg/archiver.py
--- a/borg/archiver.py
+++ b/borg/archiver.py
@@ -1428,8 +1428,8 @@ def build_parser(self, args=None, prog=None):
                                action='store_true', default=False,
                                help='keep tag files of excluded caches/directories')
         subparser.add_argument('-c', '--checkpoint-interval', dest='checkpoint_interval',
-                               type=int, default=300, metavar='SECONDS',
-                               help='write checkpoint every SECONDS seconds (Default: 300)')
+                               type=int, default=1800, metavar='SECONDS',
+                               help='write checkpoint every SECONDS seconds (Default: 1800)')
         subparser.add_argument('-x', '--one-file-system', dest='one_file_system',
                                action='store_true', default=False,
                                help='stay in same file system')


Test patch: