Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pull/fetch: progress bar is all over the console output #3565

Closed
natikgadzhi opened this issue Apr 1, 2020 · 4 comments · Fixed by #3583
Closed

pull/fetch: progress bar is all over the console output #3565

natikgadzhi opened this issue Apr 1, 2020 · 4 comments · Fixed by #3583
Assignees
Labels
p1-important Important, aka current backlog of things to do ui user interface / interaction

Comments

@natikgadzhi
Copy link
Contributor

DVC version:

DVC version: 0.91.1
Python version: 3.7.7
Platform: Darwin-19.4.0-x86_64-i386-64bit
Binary: False
Package: brew
Supported remotes: azure, gdrive, gs, http, https, s3, ssh, oss
Cache: reflink - supported, hardlink - supported, symlink - supported
Repo: dvc, git

When I run dvc pull, dvc tries to show the progress bar for downloading data files, but it looks like there's a bug in rendering it.

Here's the video: https://share.getcloudapp.com/jkuKG6rp

Please let me know if I can provide more details on this or help in any way. I know this reproduces for one of my teammates, too, on Ubuntu with DVC 0.91.0.

@triage-new-issues triage-new-issues bot added the triage Needs to be triaged label Apr 1, 2020
@skshetry
Copy link
Member

skshetry commented Apr 1, 2020

Hi, @xnutsive. Thanks for opening this issue.

The files that you are downloading are small, and hence looks flickering, and is a problem on the
fetch part.

#3500 set a threshold for showing maximum number of bars and hides them (it was more crazier before), but we still need to unify multiple bars into a single bar. This was done on upstream tqdm/tqdm#924.

Related/part-of #2905.

@casperdcl, I assume this is going to be a bit nicer with tqdm/tqdm#930. I notice that the bars are getting placed randomly on each render making it look flickery?

@skshetry skshetry added p1-important Important, aka current backlog of things to do ui user interface / interaction labels Apr 1, 2020
@triage-new-issues triage-new-issues bot removed the triage Needs to be triaged label Apr 1, 2020
@skshetry skshetry changed the title dvc pull or fetch progress bar is all over the console output pull/fetch: progress bar is all over the console output Apr 1, 2020
@casperdcl casperdcl self-assigned this Apr 1, 2020
@casperdcl
Copy link
Contributor

casperdcl commented Apr 1, 2020

The ordering isn't random - the screen is actually "full" of bars "in order." To maintain the order, the whole screen below a bar is cleared when said bar completes, and the cleared bars are moved upwards. However, some (most) are randomly skipping display for speed purposes.

tqdm/tqdm#930 will actually fix this by changing to random ordering. This means finished bars get replaced without clearing others.

(disclaimer: this is a simplified explanation; in practice it's a little more complicated because concurrency + UI + cross-platform support + speed optimisation = 4 x hell more fun)

@natikgadzhi
Copy link
Contributor Author

natikgadzhi commented Apr 1, 2020 via email

casperdcl added a commit to casperdcl/dvc that referenced this issue Apr 2, 2020
@casperdcl
Copy link
Contributor

#3583 should mostly fix this issue.

@xnutsive I agree with your last comment - #3452 should be fixed by adding missing "main bars." The nested ones are relatively minor by comparison.

casperdcl added a commit that referenced this issue Apr 2, 2020
casperdcl added a commit to casperdcl/dvc that referenced this issue Apr 5, 2020
@casperdcl casperdcl mentioned this issue Apr 5, 2020
3 tasks
efiop added a commit that referenced this issue Apr 25, 2020
* progress: add main push/pull bar

Fixes #3452
Related #1840
Related #3565

* adjust desc

* fix merge

Co-authored-by: Ruslan Kuprieiev <[email protected]>
Co-authored-by: Ruslan Kuprieiev <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p1-important Important, aka current backlog of things to do ui user interface / interaction
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants