No launching while the catalog is being updated #52

Closed
egabrum opened this Issue Apr 22, 2016 · 14 comments

Comments

Projects
None yet
4 participants
@egabrum

egabrum commented Apr 22, 2016

I can't seem to be able to launch anything while KP is refreshing the catalog, which in my case takes a few minutes. It does seem to grant my latest request, but only after it finishes refreshing the catalog.

Together with issue #22, this pretty much makes my KP a sitting duck when I launch it

@polyvertex

This comment has been minimized.

Show comment
Hide comment
@polyvertex

polyvertex Apr 22, 2016

Member

It's in my todo list since ages.

I does seem to grant my last request, but only after it finishes refreshing the catalog.

Which one? #22?

Member

polyvertex commented Apr 22, 2016

It's in my todo list since ages.

I does seem to grant my last request, but only after it finishes refreshing the catalog.

Which one? #22?

@egabrum

This comment has been minimized.

Show comment
Hide comment
@egabrum

egabrum Apr 22, 2016

What I meant to say is:
If, while KP is refreshing the catalog, I try to launch a couple of programs from KP's launch box, it won't do anything.
Once the catalog refresh is completed, KP will launch only the last program that I commanded to open, not the other ones that I tried during the refresh.

egabrum commented Apr 22, 2016

What I meant to say is:
If, while KP is refreshing the catalog, I try to launch a couple of programs from KP's launch box, it won't do anything.
Once the catalog refresh is completed, KP will launch only the last program that I commanded to open, not the other ones that I tried during the refresh.

@polyvertex polyvertex modified the milestone: catalog May 5, 2016

@polyvertex polyvertex modified the milestone: catalog May 5, 2016

@egabrum

This comment has been minimized.

Show comment
Hide comment
@egabrum

egabrum Jul 29, 2016

I don't know how much of a problem this is across the user base but, at least for me, it is a major inconvenience:
After logging in (the moment when normally you need the launcher the most), Keypirinha rebuilds the entire catalogue and won't allow me to open anything until it's done cataloguing.
Same occurs every time I undock/dock my laptop (PATH changed).

My catalogue takes a bunch of minutes to rebuild, which renders the tool unpractical for me.

I say this only for feedback, not cynically at all, but this issue, together with #16 (#32) are the only ones that are keeping me from transitioning from Launchy to Keypirinha. I know the day will come, I'm just sharing what the trigger will be for me.

egabrum commented Jul 29, 2016

I don't know how much of a problem this is across the user base but, at least for me, it is a major inconvenience:
After logging in (the moment when normally you need the launcher the most), Keypirinha rebuilds the entire catalogue and won't allow me to open anything until it's done cataloguing.
Same occurs every time I undock/dock my laptop (PATH changed).

My catalogue takes a bunch of minutes to rebuild, which renders the tool unpractical for me.

I say this only for feedback, not cynically at all, but this issue, together with #16 (#32) are the only ones that are keeping me from transitioning from Launchy to Keypirinha. I know the day will come, I'm just sharing what the trigger will be for me.

@polyvertex

This comment has been minimized.

Show comment
Hide comment
@polyvertex

polyvertex Jul 30, 2016

Member

The day will come indeed. Feature requests #22, #52 (this one) and #60 are likely to be implemented altogether since they're all related to the Catalog machinery.
I assume you meant to reference #24 instead of #16 and #32.

Member

polyvertex commented Jul 30, 2016

The day will come indeed. Feature requests #22, #52 (this one) and #60 are likely to be implemented altogether since they're all related to the Catalog machinery.
I assume you meant to reference #24 instead of #16 and #32.

@polyvertex

This comment has been minimized.

Show comment
Hide comment
@polyvertex

polyvertex Jan 22, 2017

Member

@egabrum I'm marking this as "done" because this issue, at least the way I understood it, should mechanically be solved by the implementation of a persistent catalog mechanism, which will be available in the next release (#22). Your items will be available and searchable at startup time while plugins fetch their items. Once they're done, the list of new items is then merged into the catalog.

Now this "merge" operation becomes the true bottleneck here because catalog is not searchable while being updated (it doesn't duplicate itself to avoid increasing too much memory usage). However it takes only from a few milliseconds up to a second to be done, depending on the size of the catalog and the speed of the CPU.

It's insignificant in most cases but if you still happen to use Keypirinha and experience annoyance after upgrading to next release, do not hesitate to comment here.

Member

polyvertex commented Jan 22, 2017

@egabrum I'm marking this as "done" because this issue, at least the way I understood it, should mechanically be solved by the implementation of a persistent catalog mechanism, which will be available in the next release (#22). Your items will be available and searchable at startup time while plugins fetch their items. Once they're done, the list of new items is then merged into the catalog.

Now this "merge" operation becomes the true bottleneck here because catalog is not searchable while being updated (it doesn't duplicate itself to avoid increasing too much memory usage). However it takes only from a few milliseconds up to a second to be done, depending on the size of the catalog and the speed of the CPU.

It's insignificant in most cases but if you still happen to use Keypirinha and experience annoyance after upgrading to next release, do not hesitate to comment here.

@polyvertex

This comment has been minimized.

Show comment
Hide comment
@polyvertex

polyvertex Jan 26, 2017

Member

Should now be obsoleted by the persistent catalog feature implement in v2.10 (see #22).

Member

polyvertex commented Jan 26, 2017

Should now be obsoleted by the persistent catalog feature implement in v2.10 (see #22).

@aleksey-khokhryakov

This comment has been minimized.

Show comment
Hide comment
@aleksey-khokhryakov

aleksey-khokhryakov Jan 28, 2017

After upgrading to version 2.10 still cannot run any item from catalog during updating.

After upgrading to version 2.10 still cannot run any item from catalog during updating.

@polyvertex

This comment has been minimized.

Show comment
Hide comment
@polyvertex

polyvertex Jan 28, 2017

Member

@aleksey-khokhryakov many parts of Keypirinha are involved during catalog's updating, I would need more info so I can reproduce the issue, or at least help to track it down. Please try to follow these guidelines. Also, it may help to share the content of your Profile\User folder without the history file (for privacy concerns).

Member

polyvertex commented Jan 28, 2017

@aleksey-khokhryakov many parts of Keypirinha are involved during catalog's updating, I would need more info so I can reproduce the issue, or at least help to track it down. Please try to follow these guidelines. Also, it may help to share the content of your Profile\User folder without the history file (for privacy concerns).

@ueffel

This comment has been minimized.

Show comment
Hide comment
@ueffel

ueffel Jan 30, 2017

I can reproduce to issue to some extend:
Steps:
Situation A:

  1. Trigger "Refresh Catalog"
    Log:
12:31:48.216 Apps.EnvPath: Cataloged 1052 items in 0.4 seconds
12:31:48.732 Bookmarks.Bookmarks: Referenced 203 bookmarks
  1. As fast as possible launch Notepad via KP => Notepad launches immediately: OK
    Log:
12:31:54.440 Apps.ExtraPaths: Cataloged 6750 items in 6.7 seconds

Note that Notepad would be within the Apps.EnvPath Catalog, which already finished refreshing
Situation B:

  1. Trigger "Refresh Catalog"
    Log:
12:42:47.945 Apps.EnvPath: Cataloged 1052 items in 0.4 seconds
12:42:48.463 Bookmarks.Bookmarks: Referenced 203 bookmarks
  1. As fast as possible launch any item that originates from the extra_paths of the Apps Package (in my case ConsoleZ) via KP nothing happens yet: FAIL
12:42:54.236 Apps.ExtraPaths: Cataloged 6750 items in 6.7 seconds

=> After finishing the Apps.ExtraPaths catalog KP launches my item (ConsoleZ)

So i think items from the catalog that is currently refreshing cannot be launched, items from any other calalog can.
I didn't notice this, because updating is very fast. But i could imagine for a large number of ExtraPaths this could become a problem.

ueffel commented Jan 30, 2017

I can reproduce to issue to some extend:
Steps:
Situation A:

  1. Trigger "Refresh Catalog"
    Log:
12:31:48.216 Apps.EnvPath: Cataloged 1052 items in 0.4 seconds
12:31:48.732 Bookmarks.Bookmarks: Referenced 203 bookmarks
  1. As fast as possible launch Notepad via KP => Notepad launches immediately: OK
    Log:
12:31:54.440 Apps.ExtraPaths: Cataloged 6750 items in 6.7 seconds

Note that Notepad would be within the Apps.EnvPath Catalog, which already finished refreshing
Situation B:

  1. Trigger "Refresh Catalog"
    Log:
12:42:47.945 Apps.EnvPath: Cataloged 1052 items in 0.4 seconds
12:42:48.463 Bookmarks.Bookmarks: Referenced 203 bookmarks
  1. As fast as possible launch any item that originates from the extra_paths of the Apps Package (in my case ConsoleZ) via KP nothing happens yet: FAIL
12:42:54.236 Apps.ExtraPaths: Cataloged 6750 items in 6.7 seconds

=> After finishing the Apps.ExtraPaths catalog KP launches my item (ConsoleZ)

So i think items from the catalog that is currently refreshing cannot be launched, items from any other calalog can.
I didn't notice this, because updating is very fast. But i could imagine for a large number of ExtraPaths this could become a problem.

@polyvertex

This comment has been minimized.

Show comment
Hide comment
@polyvertex

polyvertex Jan 30, 2017

Member

Mmh situation B is not supposed to happen that way since the Catalog is cleared/merged only at the end of the on_catalog task. Which means the content of the Catalog should be available still. I will investigate, thanks for your feedback.

EDIT Reopening this during investigation...

Member

polyvertex commented Jan 30, 2017

Mmh situation B is not supposed to happen that way since the Catalog is cleared/merged only at the end of the on_catalog task. Which means the content of the Catalog should be available still. I will investigate, thanks for your feedback.

EDIT Reopening this during investigation...

@polyvertex polyvertex reopened this Jan 30, 2017

@polyvertex

This comment has been minimized.

Show comment
Hide comment
@polyvertex

polyvertex Jan 30, 2017

Member

Silly me, of course it doesn't work! Everyone here is talking about launching an item, whereas, for some mystical reason I thought you folks meant it was because items were not searchable at cataloging time.
Apologizes and it will be improved in the next release (once for all hopefully).

Member

polyvertex commented Jan 30, 2017

Silly me, of course it doesn't work! Everyone here is talking about launching an item, whereas, for some mystical reason I thought you folks meant it was because items were not searchable at cataloging time.
Apologizes and it will be improved in the next release (once for all hopefully).

@aleksey-khokhryakov

This comment has been minimized.

Show comment
Hide comment
@aleksey-khokhryakov

aleksey-khokhryakov Feb 2, 2017

Thank you in advance 8)

Thank you in advance 8)

@polyvertex polyvertex removed the status/done label Feb 6, 2017

@polyvertex

This comment has been minimized.

Show comment
Hide comment
@polyvertex

polyvertex Feb 6, 2017

Member

Should be fine now as of 2.11

Member

polyvertex commented Feb 6, 2017

Should be fine now as of 2.11

@polyvertex polyvertex closed this Feb 6, 2017

@aleksey-khokhryakov

This comment has been minimized.

Show comment
Hide comment
@aleksey-khokhryakov

aleksey-khokhryakov Feb 7, 2017

Excellent work!!!

Excellent work!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment