Details
-
Bug
-
Resolution: Won't Fix
-
Minor
-
None
-
Lustre 2.6.0
-
3
-
14141
Description
[09:45:54] John Hammond: Could someone explain the idea behind the lu_object_exists() assertion in lu_object_attr()? [14:57:23] Alex Zhuravlev: I think that nobody should be trying to access attributes on non-existing object [15:43:30] John Hammond: Yes, that part is clear. [17:15:55] John Hammond: Uses of lu_object_attr() are fairly common and so this assertion seems to be hit in fairly safe looking code. Can you suggest how we can better avoid hitting it. [17:16:27] John Hammond: Always check for existence right after object is found? [17:16:57] John Hammond: Add lu_object_find_existing()? [17:17:15] John Hammond: More disciplined LDLM usage? [17:17:37] Alex Zhuravlev: we're discussing this and related stuff with Vitaly from Xx .. [17:18:13] John Hammond: Just on gerrit? Or elsewhere? [17:18:47] Alex Zhuravlev: a bit on skype, a bit in gerrit [17:23:09] John Hammond: I understand what you say about non-existing objects. But from a stability perspective it just sounds like you're saying that people should only write code that makes sense. Can we have this function return 0 for non-existing objetcs? [17:24:58] Alex Zhuravlev: well, this is a part of the discussion as well. there are different arguments here... I tend to think this is not very good if an object disappears when somebody else is using that, silently. [17:25:51] Alex Zhuravlev: LBUG isn't a good thing, but I'd think it's kind of easy to recovery from (relatively) [17:26:25] Alex Zhuravlev: because nothing bad has been propagated to a disk or to another nodes. [17:26:30] Alex Zhuravlev: not that I like LBUGs :) [17:28:46] John Hammond: Respectfully MDT LBUGs are just not OK. [17:29:08] Alex Zhuravlev: of course [17:29:15] John Hammond: We can't keep using them to "learn" what we did wrong. [17:29:24] Alex Zhuravlev: I disagree [17:30:41] Alex Zhuravlev: learn "before" that something went wrong is much better than later, because in general the later, the more chances for bad consequences. especially then it comes to on-disk state, the clients, etc. [17:33:35] John Hammond: Is there some chance that the discussions with Vitaly will yield a systematic way of avoiding this issue? [17:34:04] Alex Zhuravlev: this is exactly what I'm hoping for, with proper documentation [17:35:35] John Hammond: Is it OK by you if I post the above conversation into a Jira issue? [17:35:53] Alex Zhuravlev: sure [17:37:55] John Hammond: OK. I'll give you a month. After that if there isn't something promising then I'll start pushing for returning 0. [17:38:43] Alex Zhuravlev: fine. though frankly I don't think removing LBUG is the right way to go..