[LU-8367] delete orphan phase isn't stated for multistriped file Created: 05/Jul/16 Updated: 24/Nov/23 Resolved: 03/Jan/23 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.5.0, Lustre 2.6.0, Lustre 2.7.0, Lustre 2.8.0 |
| Fix Version/s: | Lustre 2.16.0 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Alexey Lyashkov | Assignee: | Alex Zhuravlev |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
||||||||||||||||||||||||||||
| Issue Links: |
|
||||||||||||||||||||||||||||
| Severity: | 3 | ||||||||||||||||||||||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||||||||||||||||||||||
| Description |
|
problem discovered while testing a OST failovers. OST pool with 10 OST was created and striping with -1 assigned to it. That bug introduced as regression after LOV > LOD moving on MDT side. |
| Comments |
| Comment by Alexey Lyashkov [ 05/Jul/16 ] |
|
problem easy replicated with attached test. |
| Comment by Alexey Lyashkov [ 05/Jul/16 ] |
|
main problem is not about del orphan start, but recovery block stop any allocation until del orphan finished, so one failed create will block any allocations. |
| Comment by Gerrit Updater [ 22/Jul/16 ] |
|
Alexander Boyko (alexander.boyko@seagate.com) uploaded a new patch: http://review.whamcloud.com/21483 |
| Comment by Sergey Cheremencev [ 09/Sep/16 ] |
|
Suggested solution http://review.whamcloud.com/#/c/21785/4 doesn't solve the issue when reconnection is caused by OST failover. |
| Comment by Tejas Bhise (Inactive) [ 05/Oct/16 ] |
|
Hi Peter, Vitaly, I think this one is also stuck due to mismatch in expectations. Is it possible to quickly summarize from each team what the expectations are so we can try to move this forward? Regards, |
| Comment by Alex Zhuravlev [ 05/Oct/16 ] |
|
We discussed the issue at LAD, I've been working on the solution.. |
| Comment by Tejas Bhise (Inactive) [ 05/Oct/16 ] |
|
Great!! .. Thanks .. |
| Comment by Alex Zhuravlev [ 21/Oct/16 ] |
| Comment by Alexey Lyashkov [ 27/Oct/16 ] |
|
May you explain why it hack better to disable a del orphan expect an MDT recovery phase ? |
| Comment by Gerrit Updater [ 23/Dec/16 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/23168/ |
| Comment by Peter Jones [ 23/Dec/16 ] |
|
Landed for 2.10 |
| Comment by Gerrit Updater [ 10/Mar/17 ] |
|
Alex Zhuravlev (alexey.zhuravlev@intel.com) uploaded a new patch: https://review.whamcloud.com/25925 |
| Comment by Gerrit Updater [ 09/May/17 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/25926/ |
| Comment by Peter Jones [ 13/Jun/17 ] |
|
Reverted from master under |
| Comment by Alexander Boyko [ 21/Feb/22 ] |
|
This issue is actual still with Lustre 2.15. We do have a vmcore with MDT failover problem. However r/c brings me to this issue. The test did not include massive failover as description has, only one by one random node failover/failback during IO.
MDT01 creation threads hanged on lq_rw_sem 27 threads sleeped about 1.5 hours 00000004:00080000:7.0:1644534589.764767:0:90378:0:(osp_precreate.c:1529:osp_precreate_reserve()) kjcf05-OST0003-osc-MDT0001: slow creates, last=[0x340000400:0x23a4f483:0x0], next=[0x340000400:0x23a4f378:0x0], reserved=267, sync_changes=1, sync_rpcs_in_progress=0, status=-19 .... 00000004:00080000:3.0:1644539373.892843:0:84791:0:(osp_precreate.c:1529:osp_precreate_reserve()) kjcf05-OST0003-osc-MDT0001: slow creates, last=[0x340000400:0x23a4f483:0x0], next=[0x340000400:0x23a4f378:0x0], reserved=267, sync_changes=0, sync_rpcs_in_progress=0, status=0 During this time period MDT0001 successfully reconnected to OST0003, it have done recovery etc. four times. But objects were not created. 00000100:02000000:26.0:1644534989.327955:0:49612:0:(import.c:1642:ptlrpc_import_recovery_state_machine()) kjcf05-OST0003-osc-MDT0001: Connection restored to 10.16.100.58@o2ib (at 10.16.100.58@o2ib) 00000100:02000000:26.0:1644536000.579884:0:49612:0:(import.c:1642:ptlrpc_import_recovery_state_machine()) kjcf05-OST0003-osc-MDT0001: Connection restored to 10.16.100.60@o2ib (at 10.16.100.60@o2ib) 00000100:02000000:27.0:1644537071.966959:0:49612:0:(import.c:1642:ptlrpc_import_recovery_state_machine()) kjcf05-OST0003-osc-MDT0001: Connection restored to 10.16.100.58@o2ib (at 10.16.100.58@o2ib) 00000100:02000000:24.0:1644538459.546055:0:49612:0:(import.c:1642:ptlrpc_import_recovery_state_machine()) kjcf05-OST0003-osc-MDT0001: Connection restored to 10.16.100.60@o2ib (at 10.16.100.60@o2ib) osp_precreate_thread sleeps here PID: 49938 TASK: ffff98c63a248000 CPU: 30 COMMAND: "osp-pre-3-1" #0 [ffffa545b38efd48] __schedule at ffffffff8e54e1d4 #1 [ffffa545b38efde0] schedule at ffffffff8e54e648 #2 [ffffa545b38efdf0] osp_precreate_cleanup_orphans at ffffffffc17d00e9 [osp] #3 [ffffa545b38efe70] osp_precreate_thread at ffffffffc17d18da [osp] The wait is wait_event_idle(d->opd_pre_waitq,
(!d->opd_pre_reserved && d->opd_recovery_completed) ||
!d->opd_pre_task || d->opd_got_disconnected);
osp_pre_reserved = 0x10b,
osp_pre_reserverd was not decreased to 0, and osp_precreate_thread was blocked at osp_precreate_cleanup_orphans() crash> lod_layout_component 0xffff98c68f4a8100
struct lod_layout_component {
llc_extent = {
e_start = 536870912,
e_end = 536870912
},
llc_id = 4,
llc_flags = 0,
llc_stripe_size = 1048576,
llc_pattern = 513,
llc_layout_gen = 0,
llc_stripe_offset = 65535,
llc_stripe_count = 2000,
llc_stripes_allocated = 0,
llc_timestamp = 0,
llc_pool = 0xffff98c60eef5980 "flash",
llc_ostlist = {
bzzz ^ |
| Comment by Alex Zhuravlev [ 22/Feb/22 ] |
|
the root cause is the object creation which were holding some objects reserved for simple reason - orphan cleanup doesn't know which object to start cleanup from. in turn, object reservation is required to avoid waiting for object within a local transaction which would be bad. |
| Comment by Gerrit Updater [ 08/Aug/22 ] |
|
"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/46889/ |
| Comment by Gerrit Updater [ 14/Nov/22 ] |
|
"Li Dongyang <dongyangli@ddn.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/49151 |
| Comment by Gerrit Updater [ 03/Jan/23 ] |
|
"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/49151/ |
| Comment by Peter Jones [ 03/Jan/23 ] |
|
Landed for 2.16 |
| Comment by Gerrit Updater [ 05/Apr/23 ] |
|
"Sergey Cheremencev <scherementsev@ddn.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/50543 |
| Comment by Gerrit Updater [ 22/Apr/23 ] |
|
"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/50543/ |