Project

General

Profile

Bug #64546

Updated by Xuehan Xu 3 months ago

The issue is as follows: 

 1. Pool X is created at osdmap epoch 16 
 2. The monitor sends out pg_create messages to osd.A at osdmap epoch 17 
 3. The client sends an IO request to osd.A after epoch 16 before epoch 17 
 4. Before the client's io request is processed by osd.A, osdmap 17 reaches it and creates the corresponding pgs whose "same_interval_since" are set to 17 
 5. The client's io request is discarded as its osdmap epoch is 16, less than 17 

 Although the client receives osdmap 17 later, it doesn't resend the io request because there's no related changes to the io request between 16 and 17; so the client's io request can only be resent after the client's timeout which defaults to half an hour. 

 the mon/osd log is here: https://drive.google.com/drive/folders/1bqcFgS1CR8bvhtFUNmvI4Ah52V2JPZur?usp=drive_link 

 PG 46.0 and io client:4303:0.2 is the example.

Back