Pause is not Pausing

This issue has been reported on the project’s Github:

As I wrote over there:

I’ve also noticed that changing the ‘throttle’ settings has no effect on an upload that’s currently in progress.

Presumably this is a bug and not an intentional removal of a feature. Either way, it represents a significant regression in capability. For those with large datasets to backup but relatively limited bandwidth on the uplink (like my residential connection), this is a serious problem. I require the ability to pause a large upload (which may take a day or more), or at the very least change the throttle, in order to make bandwidth available for other users and services on the network, whilst minimising backup time as much as possible. Flexible, real-time management of the upload process state and bandwidth is an absolutely essential capability of a backup solution, at least for my use-case.

I’m left with the options of either limiting available bandwidth at the network level (proxy, switch, router etc), or downgrading to a previous version if and until this is fixed.

I hope this issue is addressed soon, as this a potential show-stopper of a bug as far as my use-case, which would be a crying shame as Duplicati is a fantastic project that’s served me very well since I began using it early last year. Hugely grateful to the devs who’ve worked so hard to make this freely available.

There might be another workaround (which I have not tested – would you like to?) of using the Duplicati rclone storage type with the rclone –bwlimit which allows a timetable. For your case, slow would be the alternative to truly paused. The rclone backend seems to not be a streaming backend, so you may lose some progress info, and throttling would be set by rclone instead of Duplicati. Supported storage types appear to be quite extensive, but any configuration issues are probably best brought to the rclone forum.

There’s also a toggle of the limiter with SIGUSR2, and some sort of bandwidth remote control available.

How to Limit Data Usage and Internet Bandwidth in Windows and similar specialty tools might also help.

While I can see pause getting fixed because it’s a regression, better bandwidth controls seem a feature.

Thanks for the suggestions. I may look into the rclone backend when I’ve a bit more free time, but limiting bandwidth at the network layer will suffice for now in my case. My backup box is dedicated to that purpose, so although inconvenient, it’s feasible to isolate and throttle at the switch, at least in the short term.

FYI I’m having this problem too. It just won’t pause (this is my first initial backup). I had to kill the program.

Any update on this? I have the same problem in my docker container. No pausing and no upload limiting.

https://github.com/duplicati/duplicati/releases shows no pause change since 2.0.3.11_canary_2018-09-05
https://github.com/duplicati/duplicati/issues?q=is%3Aissue+is%3Aopen+pause+in%3Atitle
shows a couple of open issues which you could look at.

job pausing/stopping doesn’t work in 2.0.4.5_beta_2018-11-28 #3565 has updates since its mention above.
Fix pause and resume, and check for cancel while uploading #3712 seems itself paused. I’m not sure why.
“pause” doesn’t stop the upload #1088 is an older issue.

2.0.5.104_canary_2020-03-25

Improved logic around throttle values, thanks @seantempleton

is the release note for

Fix bandwidth throttling inconsistency #4127

which fixes confusion

–throttle-download ignored, --throttle-upload throttles download too #4115

where settings were applied in the wrong way, however the problem in 2.0.5.1 (what release is yours?) would not result in no upload throttling, but in download throttling when you wanted just upload throttling.

Basically, upload throttling seems to be working for mostpeople. Further proof is it’s caused issues like timeouts (needs settings adjustment) and data corruption (bug is fixed). On the other hand, there’s this:

Upload Throttle not working
which has some troubleshooting ideas and is currently waiting to hear results from the person reporting.
Perhaps you can follow up on some of the ideas, otherwise I’m not sure if any progress can be made…

Now that “stop after current file” and “stop now” are supposedly working in the canary channel, what are the use cases for pausing a running backup?

Any solution to this? Perhaps the non-working “pause” button should be removed from the interface in lieu of the existing “stop” functionality?

My inclination is to remove it, but wanted to see first if there were some use cases that I wasn’t aware of. Since it’s not working, it’s safer to remove it to prevent users from simply killing the process, which could leave the database in a bad state.

Don’t some parts of it work now, for example the ability to hold off job starts (or something like that…)?
Settings has “Pause after startup or hibernation”, and I think the UI button will let you resume if desired.
Tray Icon also has Pause and Resume capability, so if removal is the plan for now, that needs change.

If you really want to test, you could probably try 2.0.3.3 Beta to see what pausing it can do. The 2.0.3.6 concurrency rewrite is where most of the pause-the-running-operation capabilities were lost, I believe.

It might be interesting to know if any operation besides backup was ever pause-capable. An operation taking more than a little while arguably might want pause ability, e.g. if a laptop needs to go off-network.

By that measure, one may like to pause Repair, Recreate, Restore, and a variety of maybe-slow things.
Question is what state things get left in if somebody or something (Windows…) reboots during pause? Possibly it can be made a little safer (due to better control) than rebooting while active, but I don’t know.

Don’t some parts of it work now, for example the ability to hold off job starts (or something like that…)?

Yes, sorry I wasn’t clear. I meant only removing the ability to pause a currently running operation. Pausing the “scheduler” should still be available.

We’d have to revisit the pause code and it’s assumptions. The state of the filesystem/machine might be different when the operation is resumed. Suspending while paused is interesting, and hibernating/reboot could be a larger problem.

My main motivation is to try and limit the number of ways in which a user can end up in a situation where the database needs to be repaired.

Sounds like an excellent aim. Thanks!

Apparently stop now doesn’t seem to be working on CentOS.

@gg48gg, what versions of Duplicati and Mono?

root@gilsvr:/software/Duplicati/duplicati-master
$ rpm -qa | egrep -i “mono|duplicati”
mono-data-sqlite-6.10.0.104-0.xamarin.17.epel7.x86_64
mono-core-6.10.0.104-0.xamarin.17.epel7.x86_64
duplicati-2.0.5.1-2.0.5.1_beta_20200118.noarch
mono-extras-6.10.0.104-0.xamarin.17.epel7.x86_64
mono-mvc-6.10.0.104-0.xamarin.17.epel7.x86_64
mono-wcf-6.10.0.104-0.xamarin.17.epel7.x86_64
libmono-llvm0-6.10.0.104-0.xamarin.17.epel7.x86_64
mono-data-6.10.0.104-0.xamarin.17.epel7.x86_64
mono-web-6.10.0.104-0.xamarin.17.epel7.x86_64
mono-winfxcore-6.10.0.104-0.xamarin.17.epel7.x86_64
mono-llvm-tools-6.0+mono20190708165219-0.xamarin.1.epel7.x86_64
mono-winforms-6.10.0.104-0.xamarin.17.epel7.x86_64
mono-data-oracle-6.10.0.104-0.xamarin.17.epel7.x86_64
mono-devel-6.10.0.104-0.xamarin.17.epel7.x86_64

root@gilsvr:/software/Duplicati/duplicati-master
$ cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)

root@gilsvr:/software/Duplicati/duplicati-master
$ uname -a
Linux gilsvr 3.10.0-1127.13.1.el7.x86_64 #1 SMP Tue Jun 23 15:46:38 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

root@gilsvr:/software/Duplicati/duplicati-master
$ yum check-update
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 16 kB 00:00:00

curl.x86_64 7.29.0-57.el7_8.1 updates
grub2.x86_64 1:2.02-0.86.el7.centos updates
grub2-common.noarch 1:2.02-0.86.el7.centos updates
grub2-pc.x86_64 1:2.02-0.86.el7.centos updates
grub2-pc-modules.noarch 1:2.02-0.86.el7.centos updates
grub2-tools.x86_64 1:2.02-0.86.el7.centos updates
grub2-tools-extra.x86_64 1:2.02-0.86.el7.centos updates
grub2-tools-minimal.x86_64 1:2.02-0.86.el7.centos updates
java-1.8.0-openjdk.x86_64 1:1.8.0.262.b10-0.el7_8 updates
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.262.b10-0.el7_8 updates
kernel.x86_64 3.10.0-1127.18.2.el7 updates
kernel-headers.x86_64 3.10.0-1127.18.2.el7 updates
kernel-tools.x86_64 3.10.0-1127.18.2.el7 updates
kernel-tools-libs.x86_64 3.10.0-1127.18.2.el7 updates
libcurl.x86_64 7.29.0-57.el7_8.1 updates
nfs-utils.x86_64 1:1.3.0-0.66.el7_8 updates
python-perf.x86_64 3.10.0-1127.18.2.el7 updates
python-syspurpose.x86_64 1.24.26-4.el7.centos updates
python34.x86_64 3.4.10-6.el7 epel
python34-libs.x86_64 3.4.10-6.el7 epel
subscription-manager.x86_64 1.24.26-4.el7.centos updates
subscription-manager-rhsm.x86_64 1.24.26-4.el7.centos updates
subscription-manager-rhsm-certificates.x86_64 1.24.26-4.el7.centos updates
systemd.x86_64 219-73.el7_8.9 updates
systemd-libs.x86_64 219-73.el7_8.9 updates
systemd-sysv.x86_64 219-73.el7_8.9 updates
wsdd.noarch 0.6.1-2.el7 epel

duplicati-2.0.5.1-2.0.5.1_beta_20200118.noarch

Stop now was fixed in 2.0.5.104, so the changes haven’t shown up in the beta channel yet.

OK, thank you very much.

I run Duplicati - 2.0.6.102_canary_2022-04-06 and pausing does not work.

For E.g. when you’re uploading TBs of backups (or smaller, but need to leave the house now), which will take several days and you need to shut down or sleep the computer.

Sleep seems hugely safe. It might error a transfer in progress, but it retries number-of-retries times.
There was a time when I deliberately slept my computer in the middle of backups to test things out.

How does Duplicati Resume After Interruption? is what should happen on more severe interruption.
Not only should it give you a synthetic backup “version” of what is done, but it will (AFAIK) continue interrupted backup from the point of interruption (not from start). Have you seen an actual problem?

There are a few open issues where things get confused, Duplicati says to Repair, and Repair works.