meven (Méven Car)
User

Projects

User does not belong to any projects.

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Friday

  • Clear sailing ahead.

User Details

User Since
Feb 10 2018, 12:40 PM (40 w, 3 d)
Availability
Available

Recent Activity

Jun 3 2018

meven added a comment to D10702: Always use a job to delete files to avoid freezing process waiting on IO.

Great suggestion Mark !

Jun 3 2018, 2:46 PM · Frameworks
meven added a comment to D10702: Always use a job to delete files to avoid freezing process waiting on IO.

Here is the script I have been using : https://gist.github.com/meven/f0b2a36c61240e1d6e19753afd1d3d68

Jun 3 2018, 9:41 AM · Frameworks

May 11 2018

meven added a comment to D10702: Always use a job to delete files to avoid freezing process waiting on IO.

s/thread/process/. It's not about threads it's about two processes: the (GUI) application, and the kioslave.

But you present all this in a rather convoluted way, it's much simpler. The SimpleJob for asking a kioslave to delete a file is KIO::file_delete which exactly what this patch ends up calling.

The issue is choosing when to call unlink directly and when to ask the slave to do it. Or indeed markg's idea of sending the full list of files to the slave in one go, with a new MultiDeleteJob (including progress information). However for many small files this might be slower (that long list needs to be sent over...).

Since the bug report is about the "one big file" case, I'd say let's not fix what ain't broken (the many small files case), and let's just do "if local and small, delete in-process, otherwise use kioslave", i.e. just adding a size check for the fast path.

The optimized way to do it would be, rather than a stat() in this method, to change DeleteJobPrivate::slotEntries so that it puts big files into a separate list, for instance.

May 11 2018, 11:10 AM · Frameworks

Apr 14 2018

meven added a comment to D10702: Always use a job to delete files to avoid freezing process waiting on IO.

This freezing process happens for me in ktorrent the first time in a day I delete a file, but not the files after, even if they are iso images (>4GiB).
Are we sure the problem is here and not in the notification step, for example loading the sound data and starting the sound processor?
Does the freezing process happens if you delete a second big file?

Apr 14 2018, 10:33 AM · Frameworks

Apr 7 2018

meven added a comment to D10702: Always use a job to delete files to avoid freezing process waiting on IO.

In term of comparison to the FileCopyJob for instance, the difference I can spot with the DeleteJob implementation, is that the FileCopyJobPrivate itselft instanciates a subJob in this case a DirectCopyJob that will do the work, using internally SimpleJobPrivate.
This internal SimpleJobPrivate is executed in a slave thread as I understand, allowing the UI thread to run during the file copy.

Apr 7 2018, 8:49 AM · Frameworks

Feb 24 2018

meven added a comment to D10702: Always use a job to delete files to avoid freezing process waiting on IO.

While this might give you the expected result, it feels like a workaround.

I'm assuming the fast path is there for a reason and is really substantially faster then going through the job route.
If that is the case then the proper fix would be to make that code part async. That is obviously much more complex (otherwise it would've been done already).
Think of using std::async and a QEventLoop. Sounds difficult, right? It is :) But I've been playing with that kind of stuff lately so i'm happy to share an example that you can use as a starting point.
Here it is: https://p.sc2.nl/BygE-Oiwz

I wanted to paste it inline, but that already got quite big so a link it is.
I've added a bunch of comments in the code to explains what it's doing.
Note that the example does make a "QEventLoop", you should not do that within the if statement, but rather outside the while loop and simply call exec() and quit() every time (not making a new QEventLoop for every delete)

Lastly, please benchmark this fast pats (as it currently is) compared to your KIO version and my async version to see if the fast path really is the fast path. As we just don't know and that kinda influences which route to choose here.

Feb 24 2018, 4:29 PM · Frameworks

Feb 23 2018

meven updated the summary of D10702: Always use a job to delete files to avoid freezing process waiting on IO.
Feb 23 2018, 6:33 PM · Frameworks

Feb 21 2018

meven updated the test plan for D10702: Always use a job to delete files to avoid freezing process waiting on IO.
Feb 21 2018, 7:03 PM · Frameworks
meven updated the diff for D10702: Always use a job to delete files to avoid freezing process waiting on IO.

Always use a job to delete files to avoid freezing process waiting on IOX

Feb 21 2018, 5:38 PM · Frameworks
meven retitled D10702: Always use a job to delete files to avoid freezing process waiting on IO from BUG: 390748 Always use a job to delete files to avoid freezing process waiting on IO to Always use a job to delete files to avoid freezing process waiting on IO.
Feb 21 2018, 5:34 PM · Frameworks

Feb 20 2018

meven added a reviewer for D10702: Always use a job to delete files to avoid freezing process waiting on IO: Dolphin.
Feb 20 2018, 11:09 PM · Frameworks
meven retitled D10702: Always use a job to delete files to avoid freezing process waiting on IO from bug 390748 Always use a job to delete files to avoid freezing process waiting on IO to BUG: 390748 Always use a job to delete files to avoid freezing process waiting on IO.
Feb 20 2018, 11:08 PM · Frameworks
meven updated the summary of D10702: Always use a job to delete files to avoid freezing process waiting on IO.
Feb 20 2018, 11:08 PM · Frameworks
meven updated the summary of D10702: Always use a job to delete files to avoid freezing process waiting on IO.
Feb 20 2018, 11:05 PM · Frameworks
meven requested review of D10702: Always use a job to delete files to avoid freezing process waiting on IO.
Feb 20 2018, 10:55 PM · Frameworks

Feb 19 2018

meven updated the task description for T6831: Top-notch usability and productivity for basic software.
Feb 19 2018, 8:49 PM · Goal settings 2017
meven abandoned D10635: Bug 383764: remove last file being copied/moved when the action was canceled or when the disk was full.

Abandoned in favor of https://phabricator.kde.org/D10663

Feb 19 2018, 6:58 PM · Frameworks
meven added a comment to D10663: Remove a partially copied file if copyjob was cancelled in the middle of file copying.

It was suggested on IRC to hide this behavior behind a flag such as the jobFlag enum, so that it can be opt-in/opt-out in applications.

Feb 19 2018, 6:02 PM · Frameworks
meven added a comment to D10663: Remove a partially copied file if copyjob was cancelled in the middle of file copying.

Add this to your commit message
FIXED-IN: 5.44

Feb 19 2018, 5:52 PM · Frameworks
meven added a comment to D10635: Bug 383764: remove last file being copied/moved when the action was canceled or when the disk was full.

I have also done some work on this issue, and my solution for this includes mechanism that should avoid deletion of existing data. I have uploaded my proposal to Phabricator too — hope it will be useful.

Feb 19 2018, 5:45 PM · Frameworks

Feb 18 2018

meven requested review of D10635: Bug 383764: remove last file being copied/moved when the action was canceled or when the disk was full.
Feb 18 2018, 2:58 PM · Frameworks

Feb 17 2018

meven added a comment to R134:d69abdbe4dce: Make the review pop-up a bit more user-friendly.

Seeing the gif you made, I would suggest that when hovering over a star, the number of stars it corresponds to are highlighted just like at the end state.
This is because, a user won't intuitively know what score, the star he is hovering, corresponds to and for consistency with the end state.
Thi way hovering would be a preview of the end state.
I think this is quite common for stars notation widget generaly.

Feb 17 2018, 12:31 PM