Bug #64546
openclient io requests hang when issued before the creation of the related pgs
0%
Description
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.