https://bugs.kde.org/show_bug.cgi?id=500697

b...@mogwai.be changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|CONFIRMED                   |ASSIGNED

--- Comment #5 from b...@mogwai.be ---
Ok, found the issue after loading your database. It seems you have a few
podcasts with non-unique ids for the entries.
In principle this should never happen, but there seem to be quite a few
podcasts out there that don't stick to the "rules".  These are mainly podcasts
that release the same episodes in multiple formats (e.g. ogg vs mp3). 
Unfortunately, the app and its database have been written based on the
assumption that those ids are unique (which they should!).  Anyway, the app is
trying to add new entries with ids that are already in the database.  This will
result in (a lot of ) database errors.

Before the change on master that re-tries failed transactions, these would just
fail and, in the worst case, you simply wouldn't see the failed, potentially
duplicate episodes.
On master right now, it will keep on re-trying to add these episodes several
times.  Since there's a lot of those non-unique ids, this will basically take
forever.

Having said that, it just doesn't make sense retrying any type of db
transaction error.  It only makes sense to retry errors due to the database
being locked due to simultaneous writes.  So I'll push a change to the master
branch to fix this later today.  It should fix your issues.

NB: Your db also triggered the realization that a few other improvements are
sorely needed:
- I should do a major rewrite to not rely on the id being unique anymore. This
might be tricky but is long overdue.
- After the feed update of your databse, there are about 11000 new episodes
being added to the queue. These are currently added one by one, which is
extremely inefficient since the UI is updated after every single addition. 
This now takes several minutes and blocks the UI, so it might seem like the app
is hanging.  In principle, I think this can be rewritten as a bulk action which
should just take (a fraction of) a second.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to