Hi Devs, Recently I was using LSN to set a component ID for every newly flushed disk component. From LSMBTreeIOOperationCallback (as well as other index callbacks), I saw that after every flush operation, the LSN was placed at the newly flushed disk component metadata. I was expecting that the LSN should be increasing for every newly flushed disk component. That is, if a disk component d1 is flushed later than another disk component d2, we should have d1.LSN>d2.LSN. (please correct me if I'm wrong)
However, based on my testing, this condition does not always hold. It is possible that a later flushed disk component has a smaller LSN than the previous flushed disk components (I found this by recording the previous LSN, and throwing an exception when it is larger than the current LSN). Is this behavior expected? Or we do not have the guarantee that LSNs placed at flushed disk components are monotonic increasing? Any help is appreciated. Best regards, Chen Luo
