[LU-492] Test failure on sanity-quota test_29 Created: 07/Jul/11 Updated: 23/Apr/12 Resolved: 08/Jul/11 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.1.0 |
| Type: | Bug | Priority: | Blocker |
| Reporter: | Maloo | Assignee: | Zhenyu Xu |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Severity: | 3 |
| Rank (Obsolete): | 4968 |
| Description |
|
This issue was created by maloo for bobijam <bobijam@whamcloud.com> This issue relates to the following test suite run: https://maloo.whamcloud.com/test_sets/ba4bfe42-a856-11e0-bd2a-52540025f9af. |
| Comments |
| Comment by Zhenyu Xu [ 07/Jul/11 ] |
|
the test set client at_max to 10 seconds and sleeps 20 seconds expecting quotactl rpc timeout and exit lfs setquota command. but from client log
which shows the rpc is timed out for 44 seconds. This causes the failure. |
| Comment by Zhenyu Xu [ 07/Jul/11 ] |
|
client set request deadline in ptl_send_rpc() /* We give the server rq_timeout secs to process the req, and
add the network latency for our local timeout. */
request->rq_deadline = request->rq_sent + request->rq_timeout +
ptlrpc_at_get_net_latency(request);
where rq_timeout is determined by server's request process time, in ptlrpc_at_set_req_timeout() at = &req->rq_import->imp_at;
idx = import_at_get_index(req->rq_import,
req->rq_request_portal);
serv_est = at_get(&at->iat_service_estimate[idx]);
req->rq_timeout = at_est2timeout(serv_est);
and at_est2timeout() /* add an arbitrary minimum: 125% +5 sec */
return (val + (val >> 2) + 5);
so the test should sleep (10*1.25+5) + 10 ~= 28 seconds |
| Comment by Niu Yawei (Inactive) [ 07/Jul/11 ] |
|
Seems the test is not we expected, the script set fail_loc to OBD_FAIL_MDS_QUOTACTL_NET, but I didn't find where we check the OBD_FAIL_MDS_QUOTACTL_NET in lustre code, it might be removed by someone mistakenly? |
| Comment by Zhenyu Xu [ 07/Jul/11 ] |
|
patch tracking at http://review.whamcloud.com/1069 |
| Comment by Zhenyu Xu [ 07/Jul/11 ] |
|
niu, please check out mdt_mds_ops[] and in it we defines DEF_MDT_HNDL_F(0, QUOTACTL, mdt_quotactl_handle) it will be expanded to DEF_HNDL(MDS, GETATTR, _NET, 0, QUOTACTL, mdt_quotactl_handle, &RQF_MDS_QUOTACTL) and further expanded to [MDS_QUOTACTL - MDS_QUOTACTL_GETATTR] = { \
.mh_name = QUOTACTL, \
.mh_fail_id = OBD_FAIL_MDS_QUOTACTL_NET, \
.mh_opc = MDS_QUOTACTL, \
.mh_flags = 0, \
.mh_act = mdt_quotactl_handle, \
.mh_fmt = &RQF_MDS_QUOTACTL \
}
and in mdt_req_handle(), the fail_loc is checked as follows if (OBD_FAIL_CHECK_ORSET(h->mh_fail_id, OBD_FAIL_ONCE))
RETURN(0);
|
| Comment by Niu Yawei (Inactive) [ 07/Jul/11 ] |
|
ah, I see, thank you. |
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Peter Jones [ 08/Jul/11 ] |
|
Patch landed for 2.1 |
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Build Master (Inactive) [ 08/Jul/11 ] |
|
Integrated in Oleg Drokin : ef803602bf2ee9ed6aabb09aafe23fe036e7b8b2
|
| Comment by Jay Lan (Inactive) [ 23/Apr/12 ] |
|
I am running 2.1.1 However, it consistenly failed in my 2.1.1 server + 2.1.1 client test environment. test_29()
#define OBD_FAIL_MDS_QUOTACTL_NET 0x12e $LFS setquota -u $TSTUSR -b 0 -B $BLK_LIMIT -i 0 -I 0 $DIR & pid=$! echo "sleeping for 10 * 1.25 + 5 + 10 seconds" Is "setquota failed: Transport endpoint is not connected" error expected? I tried a "sleep 40" (instead of "sleep 28" after that, and the lfs |