-
Notifications
You must be signed in to change notification settings - Fork 109
Wrong state of SquashedTable in SHOW PROCESSLIST #658
Comments
Could you provide more info? How did you reproduce it? how many repositories did you have? did you modify the repositories folder after launch gitbase? |
I had 113 repositories. All public repos of src-d organization. curl https://api.github.com/orgs/src-d/repos?per_page=100 > repos_list.json
mkdir -p repos
for repo in `cat repos_list.json | jq -r '.[] | .clone_url'`
do
name=`echo ${repo%.git} | cut -d '/' -f 5`
git clone "$repo" "repos/$name"
done (and then repeat it with page=2) Gitbase was restarted after cloning finished and I didn't modify repos anymore. I hope it would help! |
which version did you use? I cannot reproduce the error with the latest 0.18.0-beta.3 |
Easily reproducible for me. Tried with empty everything. Use the script above to get repositories. Then:
PROCESSLIST shows 299/100.
After few minutes 1399/100:
|
The PR that enables auto in memory joins on small tables will mitigate this to a certain extent, but I don't think this can be solved in any way as long as we do multi pass on joins. There's just no way to know ahead of time the maximum number. It's a very confusing thing, but not one we can solve to the best of my knowledge. Perhaps we should think of a way to display progress that will not incur in this. What if instead of showing X/Y we show just the number of partitions iterated? You will not know when it will end, but it serves the purpose of knowing if it's stuck and where it's stuck more or less. If we keep it this way, 90% of the time (when it's not in-memory) it's not gonna work. |
IMO, any changing counter which can show some progress would be good enough (and maybe less confusing than proportion) |
Any ideas? |
It just can't be done if join is performed in multipass. Only solution is to not display (x/y), but only x |
Could be possible to hide |
It starts in in-memory mode and then switches to multipass during execution, so you don't know until then. And the switch is done per join on the join, so the table has no knowledge about that. |
I think in most of the cases having the total number of partitions is really useful, so I would rather keep it, even if sometimes can be misleading. We can add some documentation explaining what those numbers mean. |
6639/113 doesn't look correct:
The text was updated successfully, but these errors were encountered: