Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-5125

lu_object_attr() should return 0 for non-existing objects

    XMLWordPrintable

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..
      

      Attachments

        Issue Links

          Activity

            People

              jhammond John Hammond
              jhammond John Hammond
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: