Dvc: Config to enable/disable updater

Created on 15 Apr 2019  路  8Comments  路  Source: iterative/dvc

It'd be great if we could disable the updater feature via dvc config. It's rather noisy due to the frequent release cycle of DVC.

feature request good first issue help wanted p3-nice-to-have ui

Most helpful comment

That sounds good @shcheklein.

Users who must or want to stabilize on a specific release of DVC should be able to do so without excessive alerting.

All 8 comments

@mdscruggs I think it's dangerous to disable it completely. We can find some middle ground here. What do you think if we introduce a notion of critical updates? For example, we know that there is a critical patch that fixes a certain version. We can detect the version running and notify only of versions match. I would notify at least once in a few days about minor version change anyways.

Any means to make the updater less noisy would be helpful, even if it still runs @shcheklein. The fast pace of DVC releases means it is effectively alerting us every few days...

While it is healthy to encourage users to update due to bug fixes and new features, users shouldn't feel pressured into updating constantly.

Even pip itself has a configuration setting for this, and releases far less frequently than DVC:

https://pip.pypa.io/en/stable/reference/pip/#cmdoption-disable-pip-version-check

pip also limits its check to weekly:

https://github.com/pypa/pip/blob/62cfaf0fc7efd4dfb67f100e08a2d07d8218eeaa/src/pip/_internal/utils/outdated.py#L98

Ok, how about this plan:

  1. we introduce a config option to alter the interval (default is once a day)
  2. we introduce a mechanism to notify about critical updates (support a list of versions affected on the updater side, emphasize the message on the DVC side, etc).

would it suffice?

I really wan to avoid turning it off completely. It's dangerous because we are dealing with data here.

That sounds good @shcheklein.

Users who must or want to stabilize on a specific release of DVC should be able to do so without excessive alerting.

So updater will still be run each time to check if there are critical updates? No possibility to make it rest at all?

@Suor is there a case in which users would not want to know about an update that potentially fixes a problem that can lead to data loss? We can give an option to disable it completely, and probably should do this, but we should emphasize that you are at risk when you are doing so, and it should be a second or third option after you have tuned the interval first.

we introduce a mechanism to notify about critical updates (support a list of versions affected on the updater side, emphasize the message on the DVC side, etc).

Where and how could this be implemented? Seems rather advanced, not sure this is a "good first issue", as currently labeled. But I also don't know how the updater works now, maybe it's quite simple?

@jorgeorpinel 1st step is to alter the interval. We could think about critical updates later.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

siddygups picture siddygups  路  3Comments

shcheklein picture shcheklein  路  3Comments

mfrata picture mfrata  路  3Comments

dnabanita7 picture dnabanita7  路  3Comments

jorgeorpinel picture jorgeorpinel  路  3Comments