Move database transactions from the GUI thread to a separate thread

Bug #991717 reported by Daniel Schürmann on 2012-04-30
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
High
Uwe Klotz

Bug Description

There are many performance issues where the GUI is just unsmoth or is stalled for seconds. We should consider to move all database access functions to a separate thread.
May be we can pick up the solution from clementine-player code.

RJ Ryan (rryan) on 2012-04-30
Changed in mixxx:
status: New → Confirmed
Thomas Vincent (vrince) wrote :

Can you guys confirm that it's some how related to the 'play count' of a track ?
Every time I hit play/stop on a track, some time later ~2/3 sec I got the stalling issue (including the first one).
And I see play count increase of one ... if the same track is loaded several times in different decks count go crazy like +5 every time I hit play/stop.

Thomas Vincent (vrince) wrote :

Note: creating thread is not always the good way to manage that ... do not forget that sqlite can lock disk access and indirectly blocks other thread/processes.

The play-count increasing is a bug caused by the new setlog code ...
probably not related to this.

On Mon, Apr 30, 2012 at 1:03 PM, Thomas Vincent
<email address hidden>wrote:

> Note: creating thread is not always the good way to manage that ... do
> not forget that sqlite can lock disk access and indirectly blocks other
> thread/processes.
>
> --
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/991717
>
> Title:
> Move database actions form the GUI thread into a seperate one
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mixxx/+bug/991717/+subscriptions
>

RJ Ryan (rryan) on 2013-05-10
Changed in mixxx:
importance: Undecided → High
RAWRR (rraawwrrrr) on 2013-10-09
summary: - Move database actions form the GUI thread into a seperate one
+ Move database actions from the GUI thread into a seperate one
Changed in mixxx:
status: Confirmed → In Progress

Uwe, did you want to fix this for 2.2?

Uwe Klotz (uklotzde) on 2017-12-23
Changed in mixxx:
assignee: nobody → Uwe Klotz (uklotzde)
milestone: none → 2.2.0
Be (be.ing) wrote :

Thanks for taking up this difficult task that has been waiting for years!

Be (be.ing) on 2017-12-28
summary: - Move database actions from the GUI thread into a seperate one
+ Move database actions from the GUI thread to a separate thread
summary: - Move database actions from the GUI thread to a separate thread
+ Move database transactions from the GUI thread to a separate thread
Be (be.ing) wrote :

Uwe, before you get too far into this, let's think through how it should work with the library redesign and nested crates branches to save unnecessary work to merge them in the end. I think it might be a good idea to get the nested crates branch merged to the library redesign branch first, then you can begin your refactoring work from the library redesign branch. If I remember correctly, the only critical issue blocking the nested crates branch from being merged to library redesign branch is ensuring that the database schema updates work starting from a fresh database.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related blueprints