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

interop sanity test_230w: directory restripe count mismatch with 2.15 server

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • Lustre 2.18.0
    • Lustre 2.18.0
    • 3
    • 9223372036854775807

      This issue was created by maloo for Andreas Dilger <adilger@dilger.ca>

      This issue relates to the following test suite run:
      https://testing.whamcloud.com/test_sets/e7e79f88-b555-4a79-9fc6-0f9a9d1fd879

      test_230w failed with the following error when running with a 2.15 server with multiple MDTs:

      lfs migrate: cb_migrate_mdt_fini: error completing migration of /mnt/lustre/d230w.sanity: Invalid argument (22)
      d230w.sanity stripe count mismatch
      

      Test session details:

      Interop

      Client
      Lustre: 2.17.57.103
      Branch: master
      Build: https://build.whamcloud.com/job/lustre-reviews/130753
      Kernel: 5.14.0-611.5.1.el9_7.x86_64

      Server
      Lustre: 2.15.8
      Branch: b2_15
      Build: https://build.whamcloud.com/job/lustre-b2_15/117
      Kernel: 4.18.0-553.82.1.el8_lustre.x86_64

      The test is skipped when run with MDSCOUNT=1 (which is unfortunately the default for branch landing interop sessions), so it only fails when explicitly run with "Test-Parameters: testlist=sanity serverversion=2.15".

      Both MDS nodes report messages like:

      [ 9601.587759] Lustre: DEBUG MARKER: == sanity test 230v: subdir migrated to the MDT where its parent is located ========================================================== 05:11:09 (1788325869)
      [ 9602.473089] LustreError: 616183:0:(mdt_xattr.c:435:mdt_dir_layout_update()) lustre-MDT0000: [0x2000061c1:0x364a:0x0] migrate mdt hash mismatch 2181038083 != 33554432
      [ 9603.023701] LustreError: 616183:0:(mdt_xattr.c:435:mdt_dir_layout_update()) lustre-MDT0002: [0x280002346:0x14c5:0x0] migrate mdt hash mismatch 2181038083 != 33554432
      [ 9603.026088] LustreError: 616183:0:(mdt_xattr.c:435:mdt_dir_layout_update()) Skipped 3 previous similar messages
      [ 9604.284707] LustreError: 616183:0:(mdt_xattr.c:435:mdt_dir_layout_update()) lustre-MDT0000: [0x2000061c1:0x3656:0x0] migrate mdt hash mismatch 2181038083 != 33554432
      [ 9604.287072] LustreError: 616183:0:(mdt_xattr.c:435:mdt_dir_layout_update()) Skipped 12 previous similar messages
      [ 9606.369832] LustreError: 607762:0:(mdt_xattr.c:435:mdt_dir_layout_update()) lustre-MDT0000: [0x2000061c1:0x3664:0x0] migrate mdt hash mismatch 2181038083 != 33554432
      

      These hash values are unfortunately printed as decimal (which should also be fixed), but in hex they are 0x82000003 = LMV_HASH_FLAG_MIGRATION|LMV_HASH_FLAG_FIXED|LMV_HASH_TYPE_CRUSH, and 0x2000000 = LMV_HASH_FLAG_FIXED, so it looks like this is a real protocol interop issue with 2.15 related to "lfs migrate -m".

      It might relate to patch https://review.whamcloud.com/58932 ("LU-18904 llite: set hash fnv_1a_64 for old server") which was landed in commit v2_16_58-42-g19e6393c24 and claims an interop fix for 2.12 by checking for OBD_CONNECT2_CRUSH, or patch https://review.whamcloud.com/57784 ("LU-18639 dne: a correct check for dir split") which changed test_230p, but there seems to be something else that is is needed (different connect flag or hash version check).

      Especially since 2.18 is an LTS release, it needs to interoperate properly with the previous LTS release 2.15.

      VVVVVVV DO NOT REMOVE LINES BELOW, Added by Maloo for auto-association VVVVVVV
      sanity test_230w - d230w.sanity stripe count mismatch

            laisiyao Lai Siyao
            maloo Maloo
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: