[LU-3090] client fails to restore connection to OSTs Created: 02/Apr/13  Updated: 13/Oct/21  Resolved: 13/Oct/21

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

Type: Bug Priority: Critical
Reporter: Ned Bass Assignee: Lai Siyao
Resolution: Cannot Reproduce Votes: 0
Labels: llnl
Environment:

https://github.com/chaos/lustre/commits/2.1.4-3chaos


Attachments: File console.aztec3     File console.sumom1     File console.sumom12     File console.sumom23     File sysrq-t.aztec3     File sysrq-t.sumom1    
Severity: 3
Rank (Obsolete): 7507

 Description   

Three 2.1.4-3chaos OSS nodes rebooted this morning. A client login node has failed to reconnect to most of their OSTs. I will attach complete console logs.

# aztec3 /root > lfs check servers | grep -v active
lsc-OST0004-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0008-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST000c-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0010-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0014-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0018-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST001c-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0020-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0024-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0028-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST002c-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0030-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0034-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0038-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0000-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST007f-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0083-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0087-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST008b-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST008f-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0093-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0097-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST009b-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST009f-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST00a3-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST00a7-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST00ab-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST00af-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST00b3-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST007b-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0130-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0134-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0138-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST013c-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0140-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0144-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0148-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST014c-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0150-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0154-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0158-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST015c-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0160-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST0164-osc-ffff880c3043a000: check error: Resource temporarily unavailable
lsc-OST012c-osc-ffff880c3043a000: check error: Resource temporarily unavailable

Example dmesg from client:

# aztec3 /root > dmesg | grep OST012c
Lustre: 7485:0:(client.c:1820:ptlrpc_expire_one_request()) @@@ Request sent has timed out for slow reply: [sent 1364918372/real 1364918372] req@ffff88011258ec00 x1430682336999865/t0(0) o400->lsc-OST012c-osc-ffff880c3043a000@172.19.1.121@o2ib100:28/4 lens 192/192 e 0 to 1 dl 1364918478 ref 1 fl Rpc:XN/0/ffffffff rc 0/-1
Lustre: lsc-OST012c-osc-ffff880c3043a000: Connection to lsc-OST012c (at 172.19.1.121@o2ib100) was lost; in progress operations using this service will wait for recovery to complete
Lustre: 7485:0:(client.c:1820:ptlrpc_expire_one_request()) @@@ Request sent has timed out for slow reply: [sent 1364918397/real 1364918397] req@ffff8804cf6c4800 x1430682337000483/t0(0) o400->lsc-OST012c-osc-ffff880c3043a000@172.19.1.121@o2ib100:28/4 lens 192/192 e 0 to 1 dl 1364918503 ref 1 fl Rpc:XN/0/ffffffff rc 0/-1
Lustre: 7485:0:(client.c:1820:ptlrpc_expire_one_request()) @@@ Request sent has timed out for slow reply: [sent 1364918447/real 1364918447] req@ffff880633f37c00 x1430682337002326/t0(0) o400->lsc-OST012c-osc-ffff880c3043a000@172.19.1.121@o2ib100:28/4 lens 192/192 e 0 to 1 dl 1364918553 ref 1 fl Rpc:XN/0/ffffffff rc 0/-1

Example dmesg for one server:

# sumom23 /root > dmesg | grep 172.16.66.53
Lustre: lsc-OST0156: Client ea981a59-5970-b37c-8c49-7b6886344dc2 (at 172.16.66.53@tcp) refused reconnection, still busy with 5 active RPCs
Lustre: lsc-OST0156: Bulk IO read error with ea981a59-5970-b37c-8c49-7b6886344dc2 (at 172.16.66.53@tcp), client will retry: rc -110
Lustre: lsc-OST0156: Bulk IO read error with ea981a59-5970-b37c-8c49-7b6886344dc2 (at 172.16.66.53@tcp), client will retry: rc -110
Lustre: lsc-OST0156: Bulk IO read error with ea981a59-5970-b37c-8c49-7b6886344dc2 (at 172.16.66.53@tcp), client will retry: rc -110
Lustre: lsc-OST013e: Bulk IO read error with ea981a59-5970-b37c-8c49-7b6886344dc2 (at 172.16.66.53@tcp), client will retry: rc -110
Lustre: lsc-OST0156: Client ea981a59-5970-b37c-8c49-7b6886344dc2 (at 172.16.66.53@tcp) refused reconnection, still busy with 1 active RPCs
LustreError: 23397:0:(ldlm_lib.c:2715:target_bulk_io()) @@@ Reconnect on bulk PUT  req@ffff8802fb0af000 x1430682219726723/t0(0) o3->ea981a59-5970-b37c-8c49-7b6886344dc2@172.16.66.53@tcp:0/0 lens 456/400 e 1 to 0 dl 1364611876 ref 1 fl Interpret:/2/0 rc 0/0
Lustre: lsc-OST0156: Bulk IO read error with ea981a59-5970-b37c-8c49-7b6886344dc2 (at 172.16.66.53@tcp), client will retry: rc -110

LLNL-bug-id: TOSS-2006



 Comments   
Comment by Ned Bass [ 02/Apr/13 ]

Attached console logs from OSS nodes sumom[1,12,23] and client aztec3.

Comment by Ned Bass [ 02/Apr/13 ]

From what I can gather, the "Resource temporarily unavailable" lfs check servers error originates from line 1073 in ptlrpc_import_delay_req():

1067         } else if (req->rq_send_state != imp->imp_state) {                     
1068                 /* invalidate in progress - any requests should be drop */     
1069                 if (cfs_atomic_read(&imp->imp_inval_count) != 0) {             
1070                         DEBUG_REQ(D_ERROR, req, "invalidate in flight");       
1071                         *status = -EIO;                                        
1072                 } else if (imp->imp_dlm_fake || req->rq_no_delay) {            
1073                         *status = -EWOULDBLOCK;                                
1074                 } else {                                                       
1075                         delay = 1;                                             
1076                 }                                                              
1077         }
Comment by Cliff White (Inactive) [ 02/Apr/13 ]

Can you get stack traces from the servers and client? (echo t > /proc/sysrq-trigger)

Comment by Ned Bass [ 02/Apr/13 ]

/proc/fs/lustre/osc/ data for one of the disconnected OSTs.

------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/active
1                                                                               
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/blocksize
cat: /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/blocksize: Resource temporarily unavailable
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/checksum_type
crc32 [adler]                                                                   
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/checksums
1                                                                               
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/connect_flags
flags=0x8d0a3440478                                                             
write_grant                                                                     
server_lock                                                                     
version                                                                         
request_portal                                                                  
truncate_lock                                                                   
max_byte_per_rpc                                                                
early_lock_cancel                                                               
adaptive_timeouts                                                               
lru_resize                                                                      
alt_checksum_algorithm                                                          
version_recovery                                                                
full20                                                                          
64bithash                                                                       
object_max_bytes                                                                
einprogress                                                                     
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/contention_seconds
0                                                                               
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/create_count
32                                                                              
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/cur_dirty_bytes
0                                                                               
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/cur_grant_bytes
2097152                                                                         
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/cur_lost_grant_bytes
0                                                                               
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/destroys_in_flight
0                                                                               
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/filesfree
cat: /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/filesfree: Resource temporarily unavailable
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/filestotal
cat: /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/filestotal: Resource temporarily unavailable
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/grant_shrink_interval
1200                                                                            
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/import
import:                                                                         
    name: lsc-OST0004-osc-ffff880c3043a000                                      
    target: lsc-OST0004_UUID                                                    
    state: REPLAY_WAIT                                                          
    connect_flags: [write_grant, server_lock, version, request_portal, truncate_lock, max_byte_per_rpc, early_lock_cancel, adaptive_timeouts, lru_resize, alt_checksum_algorithm, version_recovery, full20, 64bithash, object_max_bytes, einprogress]
    import_flags: [replayable, pingable]                                        
    connection:                                                                 
       failover_nids: [172.19.1.101@o2ib100, 172.19.1.103@o2ib100]              
       current_connection: 172.19.1.101@o2ib100                                 
       connection_attempts: 40                                                  
       generation: 1                                                            
       in-progress_invalidations: 0                                             
    rpcs:                                                                       
       inflight: 2                                                              
       unregistering: 0                                                         
       timeouts: 40                                                             
       avg_waittime: 133771 usec                                                
    service_estimates:                                                          
       services: 45 sec                                                         
       network: 45 sec                                                          
    transactions:                                                               
       last_replay: 0                                                           
       peer_committed: 133225247867                                             
       last_checked: 133225247867                                               
    read_data_averages:                                                         
       bytes_per_rpc: 811357                                                    
       usec_per_rpc: 347201                                                     
       MB_per_sec: 2.33                                                         
    write_data_averages:                                                        
       bytes_per_rpc: 248472                                                    
       usec_per_rpc: 161136                                                     
       MB_per_sec: 1.54                                                         
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/kbytesavail
cat: /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/kbytesavail: Resource temporarily unavailable
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/kbytesfree
cat: /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/kbytesfree: Resource temporarily unavailable
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/kbytestotal
cat: /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/kbytestotal: Resource temporarily unavailable
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/lockless_truncate
0                                                                               
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/max_create_count
20000                                                                           
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/max_dirty_mb
32                                                                              
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/max_pages_per_rpc
256                                                                             
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/max_rpcs_in_flight
8                                                                               
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/osc_stats
snapshot_time:         1364932311.305338 (secs.usecs)                           
lockless_write_bytes            0                                               
lockless_read_bytes             0                                               
lockless_truncate               0                                               
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/ost_conn_uuid
172.19.1.101@o2ib100                                                            
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/ost_server_uuid
lsc-OST0004_UUID        REPLAY_WAIT                                             
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/ping
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/prealloc_last_id
1                                                                               
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/prealloc_next_id
2                                                                               
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/resend_count
10                                                                              
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/rpc_stats
snapshot_time:         1364932311.309855 (secs.usecs)                           
read RPCs in flight:  0                                                         
write RPCs in flight: 0                                                         
pending write pages:  0                                                         
pending read pages:   0                                                         
                                                                                
                        read                    write                           
pages per rpc         rpcs   % cum % |       rpcs   % cum %                     
1:                    2323   2   2   |         26  74  74                       
2:                     268   0   3   |          0   0  74                       
4:                     402   0   3   |          0   0  74                       
8:                     551   0   4   |          0   0  74                       
16:                   1097   1   5   |          0   0  74                       
32:                   2104   2   7   |          0   0  74                       
64:                   4201   4  12   |          0   0  74                       
128:                  8408   9  22   |          1   2  77                       
256:                 65943  77 100   |          8  22 100                       
                                                                                
                        read                    write                           
rpcs in flight        rpcs   % cum % |       rpcs   % cum %                     
0:                    4407   5   5   |         30  85  85                       
1:                    8018   9  14   |          5  14 100                       
2:                   10761  12  27   |          0   0 100                       
3:                   11572  13  40   |          0   0 100                       
4:                   11097  13  53   |          0   0 100                       
5:                    9525  11  64   |          0   0 100                       
6:                    7767   9  74   |          0   0 100                       
7:                   21011  24  98   |          0   0 100                       
8:                    1108   1  99   |          0   0 100                       
9:                      31   0 100   |          0   0 100                       
                                                                                
                        read                    write                           
offset                rpcs   % cum % |       rpcs   % cum %                     
0:                   66045  77  77   |         31  88  88                       
1:                     724   0  78   |          3   8  97                       
2:                     664   0  79   |          1   2 100                       
4:                     463   0  79   |          0   0 100                       
8:                     578   0  80   |          0   0 100                       
16:                   1132   1  81   |          0   0 100                       
32:                   2184   2  84   |          0   0 100                       
64:                   4456   5  89   |          0   0 100                       
128:                  9051  10 100   |          0   0 100                       
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/srpc_contexts
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/srpc_info
rpc flavor:    null                                                             
bulk flavor:   null                                                             
flags:         -                                                                
id:            -1                                                               
refcount:      1280                                                             
nctx:          1                                                                
gc internal    0                                                                
gc next        0                                                                
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/state
current_state: REPLAY_WAIT                                                      
state_history:                                                                  
 - [1364613239, CONNECTING]                                                     
 - [1364613239, REPLAY]                                                         
 - [1364613239, REPLAY_LOCKS]                                                   
 - [1364613239, REPLAY_WAIT]                                                    
 - [1364613520, CONNECTING]                                                     
 - [1364613520, DISCONN]                                                        
 - [1364613564, CONNECTING]                                                     
 - [1364613564, RECOVER]                                                        
 - [1364613564, FULL]                                                           
 - [1364916472, DISCONN]                                                        
 - [1364916472, CONNECTING]                                                     
 - [1364916472, DISCONN]                                                        
 - [1364916522, CONNECTING]                                                     
 - [1364916522, REPLAY]                                                         
 - [1364916522, REPLAY_LOCKS]                                                   
 - [1364916522, REPLAY_WAIT]                                                    
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/stats
snapshot_time             1364932311.312475 secs.usecs                          
req_waittime              231719 samples [usec] 186 25613640 30997468460 20968321741396648
req_active                231760 samples [reqs] 1 10 589912 2877292             
read_bytes                85297 samples [bytes] 4096 1048576 69206327296 66376346221150208
write_bytes               35 samples [bytes] 180 1048576 8696534 8863953230766  
ost_setattr               3 samples [usec] 407 586 1461 728069                  
ost_read                  85297 samples [usec] 378 3008009 29615267854 19288318281959918
ost_write                 35 samples [usec] 9483 942569 5639773 3086328640697   
ost_destroy               63051 samples [usec] 254 5167025 621982709 541938684985359
ost_connect               7 samples [usec] 338 166069 232175 28686879269        
ost_punch                 121 samples [usec] 260 1072093 5498095 2397196392713  
ost_statfs                1194 samples [usec] 2250 744005 15761933 3826878647205
ldlm_cancel               238 samples [usec] 186 769820 6624432 2268731713178   
obd_ping                  17144 samples [usec] 315 25613640 613286727 1108431628095511
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/timeouts
last reply : 1364916601, 0d4h21m50s ago                                         
network    : cur  45  worst  50 (at 1364611097, 3d17h13m34s ago)   1   1   1   1
portal 28  : cur  45  worst  45 (at 1364404853, 6d2h30m58s ago)  45  45  45  45 
portal 7   : cur  45  worst  45 (at 1364406302, 6d2h06m49s ago)  45   0   0   0 
portal 17  : cur  45  worst  45 (at 1364422952, 5d21h29m19s ago)  45   0   0   0
portal 6   : cur  45  worst 600 (at 1364539917, 4d12h59m54s ago)  45  45  45  45
------------------------------------- /proc/fs/lustre/osc/lsc-OST0004-osc-ffff880c3043a000/uuid
ea981a59-5970-b37c-8c49-7b6886344dc2        
Comment by Ned Bass [ 02/Apr/13 ]

Attach process backtraces for client (sysrq-t and sysrq-l). One server crashed during sysrq-l so I'm not going to try the others. Client is probably more relevant anyways since it seems to be stuck in REPLAY_WAIT, blissfully unaware that it was evicted.

Comment by Ned Bass [ 02/Apr/13 ]

Attaching sysrq-t.sumom1 log for one of the servers. This is what was captured before the server crashed.

Comment by Peter Jones [ 02/Apr/13 ]

Lai

Could you please look into this one?

Thanks

Peter

Comment by Lai Siyao [ 08/Apr/13 ]

The analysis looks reasonable: the client seems to stuck in REPLAY_WAIT. I'm wondering whether it's stuck there, or in a loop trying to connect, could you confirm this?

I haven't found the code that will cause the stuck issue, and will review related code.

Comment by Ned Bass [ 20/May/13 ]

Lai, sorry but the client node crashed before I was able to confirm whether it was stuck or in a loop.

Comment by Minh Diep [ 25/Sep/13 ]

this is similar to LU-3998. Please let me know how I can assist in debugging this.

Comment by Minh Diep [ 25/Sep/13 ]

Hi Ned,

Does your cluster have any lustre router?

Comment by Christopher Morrone [ 26/Jun/14 ]

Yes, we have lots of Lustre routers.

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