> On Oct. 13, 2012, 1:20 a.m., David Edmundson wrote:
> > From a usability perspective you can't show random popups telling the user
> > to run commands as root.
> >
> > 1) It's putting users in a bad habbit, any app can trigger a popup telling
> > someone to run "sudo rm * -Rf".
> > 2) The vast majority of users aren't in a sys-admin position. Consider all
> > the big KDE deployments to schools, universities and offices. The person
> > using this computer will not have root powers, it's just a pointless
> > helpless error message
> > 3) It looks scary and confusing to a non nerd-user, and looking like a
> > virus to those who know a medium amount.
> >
> > (from a code POV you're also triggering this every time the limit hits,
> > which assuming the user can't or decides not to change it means this
> > notification will be going off /constantly/.
>
> Simeon Bird wrote:
> Ok, would the text:
> "Please ask your system administrator to increase the inotify watch
> limit, or new files will not be indexed."
> be better?
>
> We're only triggering the notification once for every time nepomukserver
> runs and installs the watches, which is usually once per boot.
> I take your point about the user not being sysadmin - the sysadmin
> doesn't even see the notification, so they don't even necessarily know the
> limit is hit.
>
> How about adding a checkbox to the notification (I personally don't know
> how to do that, but I imagine it's pretty easy to work out)
> to disable it ("Don't show me this again"), and also send a message to
> syslog (which can't be turned off).
>
> What do you think? Or do you think the notification popup is a bad idea
> in general?
>
> [Aside, to Vishesh: Would it be sensible to put logic in place to make
> nepomuk somehow prioritise directories
> with metadata/indexed directories if we do run out of watches? That would
> be slightly more graceful, no?
> We would still have the possibility of losing data, but it would be
> somewhat less likely.]
>
> Thomas Pfeiffer wrote:
> I totally agree with David here. This looks like a bad solution to a
> correctly identified problem to me. The current situation that metadata is
> lost without users noticing is certainly a big problem. However asking users
> to fiddle with parts of their system they likely have never heard of (even if
> they have admin privileges) is not the solution.
> Your suggestion for the new text is better than the original one, but it
> probably still scares users more than it helps (I don't expect many users to
> actually call their sysadmin after reading a notification they probably don't
> understand anyway).
> Personally, I think we'll have to tackle the problem at its core: The
> solution must be to prevent running out of inodes in the first place, period.
> We can do this by
> a) Thinking hard about a solution which requires less inodes or doesn't
> lose data if there are not enough left (to me this is the "proper" solution,
> but one which might require lots of effort and big changes to Nepomuk)
> b) Convince those distros shipping KDE by default to increase the inodes
> to a sensible number by default and those that do not ship it by default but
> offer it for installation to put a hint to increase the number to X (sensible
> value) into the post-installation messages (so that the admin who installs
> KDE sees the message and can act immediately)
>
> Simeon Bird wrote:
> Yes, ideally one wants to avoid losing metadata altogether. But, alas, we
> do not live in an ideal world, and either of the options you propose will
> take some time, even if they were possible. Better reporting of the error
> makes the situation better *now*, and does not prevent or delay a future
> better solution.
>
> Increasing the defaults is problematic, because there isn't really a
> sensible value. There's a tradeoff depending on how many watches a person
> might need vs how much memory they have. eg, you increase it to 16k. That's
> fine, until some joker has a homedir with 50k directories in it. You increase
> it to 500k and suddenly a local user can DoS with a simple mkdir loop.
>
> As to the other; so far we have three options to use fewer inotify
> watches (not inodes):
> - Change inotify so that rename events include the destination path as
> well as the source, so we only need to watch the indexed/tagged folders,
> rather than all folders. (The kernel people won't make inotify recursive
> because it could easily eat memory, apparently).
> - Change fanotify so it generates rename events and also fix it so it
> actually works.
> - Store metadata alongside the file in xattrs. This is a bad idea because
> it is slow and the metadata is very easy to lose (eg, 'cp' by default loses
> xattrs); for this reason both mac and windows have in recent years moved away
> them.
>
> The problem is that the good solutions require kernel changes. In my
> opinion, the kernel is likely to look more favourably on requests from
> software which is undeniably awesome in all respects except the one which
> requires kernel changes. So we should make nepomuk as good as we possibly can
> on its own, and *then* go convince lkml.
>
> Simeon Bird wrote:
> Ok, how's this for an idea:
>
> If we run out of inotify watches, go into "semi-blind mode", where we
> only install watches on indexed folders (probably need a warning somewhere
> that metadata may be lost in this mode).
>
> If (as is likely, since the default is to index and watch all of $HOME)
> we still don't have enough watches,
> give a notification which reads:
>
> ==Ran out of folder watches==
> "Too many folders to be indexed for instant search. Please reduce the
> number of indexed folders,
> or ask your system administrator to increase the inotify watch limit."
> and then a button which opens the relevant kcm panel (Maybe this is the
> place for the warning?).
>
> That way the user is not scared, because they can control the situation
> by searching fewer directories,
> and if they want more they can bug the sysadmin. Also it connects the
> confusing bit of the system they haven't heard of into something concrete
> they can understand: 'too many directories to search', even if this link is
> in
> reality more tenuous than they might think.
>
> What do you think? Semi-blind mode has several traps for the unwary,
> especially wrt tags, but could be ok as an emergency fallback.
>
> Simeon Bird wrote:
> Bah, I came up with that idea less than an hour ago and I already hate
> it. It's too complicated, it introduces vast new and interesting
> possibilities for bugs, and its not even true; we need the watches primarily
> for tags, not indexing.
>
> How about:
> "You have too many folders in your homedir to watch all of them for
> instant search.
> If you want to be sure to index new files, you should ask your system
> administrator to raise the inotify watch limit."
>
> That sounds (at least to me) less scary. It also explains why the watches
> need to be raised, so users can ignore it if they aren't interested. But I
> don't see a way around asking them to fiddle with their system, sorry, unless
> we just say "You have too many folders in your homedir to watch all of them
> for instant search."
>
> David Edmundson wrote:
> Another solution is to use KAuth and make the change ourselves, rather
> than telling the user to.
>
> That way instead of telling the user to type something, they click the
> notification, get a message and then the regular polkit prompt.
>
> The bonus beauty of this is that we can tell before showing the
> notification if the user does in fact have suitable permissions for this
> change. If the user can't do anything about the issue, there's not a lot of
> point notifying them, so we can just log to logfile instead.
>
> We can just set the limit to current_limit*2 each time it's hit.
>
> I've done some KAuth stuff before, so I can write the action file, and
> helper if needed.
That's a great idea. I have no experience with KAuth at all, so any help with
it you could give would be very much appreciated.
- Simeon
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/106748/#review20241
-----------------------------------------------------------
On Oct. 11, 2012, 5:54 p.m., Simeon Bird wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/106748/
> -----------------------------------------------------------
>
> (Updated Oct. 11, 2012, 5:54 p.m.)
>
>
> Review request for Nepomuk, KDE Usability, Vishesh Handa, and Sebastian Trueg.
>
>
> Description
> -------
>
> Currently, if we happen to run out of inotify watches in the filewatch
> service, all we get is a debug message, which is easily lost.
> This patch additionally creates a popup notification to warn people they need
> to raise the limit.
>
> I worried that a popup might be a bit too invasive - I considered also just
> logging to syslog, but that seemed not invasive enough.
> I figured that since metadata can get lost if the watches are not all
> installed, being fairly invasive is a good idea.
>
> What think you?
>
>
> Diffs
> -----
>
> services/filewatch/nepomukfilewatch.cpp 83045da
> services/filewatch/nepomukfilewatch.notifyrc bfa88a9
>
> Diff: http://git.reviewboard.kde.org/r/106748/diff/
>
>
> Testing
> -------
>
> > sudo sysctl fs.inotify.max_user_watches=10
> > killall nepomukserver && nepomukserver
>
> Yup, there's a notification.
>
>
> Thanks,
>
> Simeon Bird
>
>
_______________________________________________
Nepomuk mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/nepomuk