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

Client eviction on lock callback timeout

Details

    • 3
    • 4740

    Description

      Our testing has revealed that lustre 2.1 is far more likely than 1.8 to return short reads and writes (return code says fewer bytes read/written than requested).

      So far, the frequent reproducer is IOR shared single file, transfer size 128MB, block size 256MB, 32 client nodes, and 512 tasks evenly spread over the clients.

      The file is only striped over 2 OSTs.

      When the read() or write() return value is less than the requested amount, the size is, in every instance that I have seen thus far, a multiple of 1MB.

      I suspect that other loads will show the same problem. I think that our more common large-transfer-request work loads come from our file-per-process apps though, so we'll run some tests to see if it is easy to reproduce there as well.

      Attachments

        1. 874pdf.pdf
          35 kB
        2. 874pdf2.pdf
          88 kB
        3. 874pdf2.pdf
          88 kB
        4. lc3-OST001_brw_stats.txt
          8 kB
        5. LU-874.lustre-log.oss.1322741854.6037.gz
          4.58 MB
        6. reproducer.c
          1 kB
        7. zwicky3_brw_stats.txt
          22 kB

        Issue Links

          Activity

            [LU-874] Client eviction on lock callback timeout

            Thank you Bruno, let's start the landing process then.

            jay Jinshan Xiong (Inactive) added a comment - Thank you Bruno, let's start the landing process then.

            Jinshan, we are now with 2 more days (total of more than 5 now !) of testing this latest patch on 2 different clusters running with multiple configurations, with heavy reproducer exposure. But still no hang reproduction.

            bfaccini Bruno Faccini (Inactive) added a comment - Jinshan, we are now with 2 more days (total of more than 5 now !) of testing this latest patch on 2 different clusters running with multiple configurations, with heavy reproducer exposure. But still no hang reproduction.

            Not reproduced during the week-end, I keep trying using different Clients/Servers scenarios/configs.

            bfaccini Bruno Faccini (Inactive) added a comment - Not reproduced during the week-end, I keep trying using different Clients/Servers scenarios/configs.

            Hi Bruno Faccini, can you please try to check if this works: http://review.whamcloud.com/5208

            jay Jinshan Xiong (Inactive) added a comment - Hi Bruno Faccini, can you please try to check if this works: http://review.whamcloud.com/5208

            I will try to make a patch tomorrow.

            jay Jinshan Xiong (Inactive) added a comment - I will try to make a patch tomorrow.
            green Oleg Drokin added a comment -

            I am not working on this issue myself, I had a discussion with Jinshan yesterday and I believe we now agree the reason for this particular problem is understood.
            Jinshan is now thinking on how to properly address it and patch 4306 might be the move in the right direction, but I'll defer to him.

            The old rule of "ptlrpcd should not block" is still very important, when it's violated, all async ptlrpcd-handled RPCs are at risk of being stuck because their replies could not be handled.

            green Oleg Drokin added a comment - I am not working on this issue myself, I had a discussion with Jinshan yesterday and I believe we now agree the reason for this particular problem is understood. Jinshan is now thinking on how to properly address it and patch 4306 might be the move in the right direction, but I'll defer to him. The old rule of "ptlrpcd should not block" is still very important, when it's violated, all async ptlrpcd-handled RPCs are at risk of being stuck because their replies could not be handled.

            You are right I had to be quick and did not save the necessary symbol stuff, but at this moment it was not intended to serve after more than a month and also I thought all could be easily retrieved with their build versions (saved in job_hang.txt file) ... But if finally not, you are right that's a good experience to learn from for next time.

            If you want I can reproduce it again on Toro ?

            And according to your analysis we need to pursue with http://review.whamcloud.com/4306 ?

            bfaccini Bruno Faccini (Inactive) added a comment - You are right I had to be quick and did not save the necessary symbol stuff, but at this moment it was not intended to serve after more than a month and also I thought all could be easily retrieved with their build versions (saved in job_hang.txt file) ... But if finally not, you are right that's a good experience to learn from for next time. If you want I can reproduce it again on Toro ? And according to your analysis we need to pursue with http://review.whamcloud.com/4306 ?
            green Oleg Drokin added a comment -

            Bruno, it would have been great if together with vmcore files you'd put lustre modules rpm and the kernel-debuginfo so that they are useful for everybody.

            From my look it seems Bobijam analysus from Oct 16 is pretty much what I would think.

            There's an extra piece here that explains it all. Reply for the RPC is not processed because ptlrpcd is locked up trying to get mutex, as the result, RPC (reply arrived based on flags) is stuck on the sending list and could not be taken out (also job for ptlrpcd that is locked up).

            green Oleg Drokin added a comment - Bruno, it would have been great if together with vmcore files you'd put lustre modules rpm and the kernel-debuginfo so that they are useful for everybody. From my look it seems Bobijam analysus from Oct 16 is pretty much what I would think. There's an extra piece here that explains it all. Reply for the RPC is not processed because ptlrpcd is locked up trying to get mutex, as the result, RPC (reply arrived based on flags) is stuck on the sending list and could not be taken out (also job for ptlrpcd that is locked up).

            Thank you Bruno.

            jay Jinshan Xiong (Inactive) added a comment - Thank you Bruno.

            Jinshan,

            As I keep Toro reservations since quite a long time for this problem/reproducer, I need to free them now due to higher priority tests to be done on the cluster. So i decided to freeze the Nodes situations by 1st taking a "dump live" image of the 4 client-12vm[1-4] VMs with virsh and then I crashed all Nodes+VMs with Alt+SysRq sequence. All these infos are now available under brent:~bruno/LU-874/new_hang_101212.

            bfaccini Bruno Faccini (Inactive) added a comment - Jinshan, As I keep Toro reservations since quite a long time for this problem/reproducer, I need to free them now due to higher priority tests to be done on the cluster. So i decided to freeze the Nodes situations by 1st taking a "dump live" image of the 4 client-12vm [1-4] VMs with virsh and then I crashed all Nodes+VMs with Alt+SysRq sequence. All these infos are now available under brent:~bruno/ LU-874 /new_hang_101212.

            Sorry Doug, you may wait from some feedback here, so yes this are the msgs that we can see when we reproduce the hung situation, and the current hung thread stack on Client too.

            bfaccini Bruno Faccini (Inactive) added a comment - Sorry Doug, you may wait from some feedback here, so yes this are the msgs that we can see when we reproduce the hung situation, and the current hung thread stack on Client too.

            People

              bobijam Zhenyu Xu
              morrone Christopher Morrone (Inactive)
              Votes:
              4 Vote for this issue
              Watchers:
              40 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: