[LU-5890] lustre-OST0001: too many transaction credits (1044 > 1024) Created: 10/Nov/14  Updated: 14/Dec/21  Resolved: 14/Dec/21

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.7.0
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Liang Zhen (Inactive) Assignee: WC Triage
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Related
is related to LU-14918 too many ldiskfs transaction credits ... Resolved
Severity: 3
Rank (Obsolete): 16464

 Description   

when I run IOR on my VM, I always see tons of information like this:

Lustre: 20808:0:(osd_handler.c:1003:osd_trans_start()) lustre-OST0001: too many transaction credits (1036 > 1024)
Lustre: 20808:0:(osd_handler.c:1008:osd_trans_start())   create: 0/0, destroy: 0/0
Lustre: 20808:0:(osd_handler.c:1013:osd_trans_start())   attr_set: 1/1, xattr_set: 1/1
Lustre: 20808:0:(osd_handler.c:1020:osd_trans_start())   write: 2/12, punch: 0/0, quota 4/4
Lustre: 20808:0:(osd_handler.c:1025:osd_trans_start())   insert: 0/0, delete: 0/0
Lustre: 20808:0:(osd_handler.c:1030:osd_trans_start())   ref_add: 0/0, ref_del: 0/0
Pid: 20808, comm: ll_ost_io00_002

Call Trace:
 [<ffffffffa1059895>] libcfs_debug_dumpstack+0x55/0x80 [libcfs]
 [<ffffffffa07acb9f>] osd_trans_start+0x63f/0x660 [osd_ldiskfs]
 [<ffffffffa0ac4f5c>] ofd_trans_start+0x7c/0x100 [ofd]
 [<ffffffffa0acc823>] ofd_commitrw_write+0x543/0x1060 [ofd]
 [<ffffffffa0acd903>] ofd_commitrw+0x5c3/0xae0 [ofd]
 [<ffffffffa115c361>] ? lprocfs_counter_add+0x151/0x1c0 [obdclass]
 [<ffffffffa13fa00d>] obd_commitrw.clone.0+0x11d/0x390 [ptlrpc]
 [<ffffffffa140131c>] tgt_brw_write+0xc7c/0x1530 [ptlrpc]
 [<ffffffffa135b800>] ? target_bulk_timeout+0x0/0xc0 [ptlrpc]
 [<ffffffffa14002ae>] tgt_request_handle+0x71e/0xb10 [ptlrpc]
 [<ffffffffa13afa94>] ptlrpc_main+0xe64/0x1990 [ptlrpc]
 [<ffffffffa13aec30>] ? ptlrpc_main+0x0/0x1990 [ptlrpc]
 [<ffffffff8109aef6>] kthread+0x96/0xa0
 [<ffffffff8100c20a>] child_rip+0xa/0x20
 [<ffffffff8109ae60>] ? kthread+0x0/0xa0
 [<ffffffff8100c200>] ? child_rip+0x0/0x20

Lustre: 21638:0:(osd_handler.c:1003:osd_trans_start()) lustre-OST0001: too many transaction credits (1044 > 1024)
Lustre: 21638:0:(osd_handler.c:1003:osd_trans_start()) Skipped 2 previous similar messages
Lustre: 21638:0:(osd_handler.c:1008:osd_trans_start())   create: 0/0, destroy: 0/0
Lustre: 21638:0:(osd_handler.c:1008:osd_trans_start()) Skipped 2 previous similar messages
Lustre: 21638:0:(osd_handler.c:1013:osd_trans_start())   attr_set: 1/1, xattr_set: 1/1
Lustre: 21638:0:(osd_handler.c:1013:osd_trans_start()) Skipped 2 previous similar messages
Lustre: 21638:0:(osd_handler.c:1020:osd_trans_start())   write: 2/12, punch: 0/0, quota 4/4
Lustre: 21638:0:(osd_handler.c:1020:osd_trans_start()) Skipped 2 previous similar messages
Lustre: 21638:0:(osd_handler.c:1025:osd_trans_start())   insert: 0/0, delete: 0/0
Lustre: 21638:0:(osd_handler.c:1025:osd_trans_start()) Skipped 2 previous similar messages
Lustre: 21638:0:(osd_handler.c:1030:osd_trans_start())   ref_add: 0/0, ref_del: 0/0
Lustre: 21638:0:(osd_handler.c:1030:osd_trans_start()) Skipped 2 previous similar messages
Lustre: 21638:0:(osd_handler.c:1003:osd_trans_start()) lustre-OST0001: too many transaction credits (1552 > 1024)

This is very easy to reproduce:

IOR -b 64m -t 1024 -z -X 3712 -o /mnt/lustre/liang/IOR.file


 Comments   
Comment by Andreas Dilger [ 10/Nov/14 ]

This is not a significant problem. This is debugging enabled while testing so that we can detect if there are errors in the transaction credit accounting but is not enabled in production.

Comment by Niu Yawei (Inactive) [ 11/Nov/14 ]

There could be something wrong, I don't see why the credits for all operations don't add up right. (looks much less than the total credits)

Comment by Alex Zhuravlev [ 11/Dec/14 ]

Niu, those are "direct" writes in osd_declare_write_commit() - those are added directly to osd_thandle. I think I fixed this in http://review.whamcloud.com/#/c/12169/

Generated at Sat Feb 10 01:55:24 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.