开始

flushQueue

是否还有DWPT

取出一个DWPT

u111_seg0 u111_seg1

主动flush

flushQueue

是否还有DWPT

或者

DWPTP中是否还有被置为flushPending的

ThreadState?

开始

自动flush

u116_seg0 u116_seg1
u117_seg0 u117_seg1

将DWPT中收集的索引信息

生成一个段newSegment

DWPT是否取自

flushQueue?

更新拖延状态

u122_seg0 u122_seg1

synchronized开始

synchronized结束

是否新增删除信息?

删除信息添加到

全局BufferedUpdates

u128_seg0 u128_seg1

全局BufferedUpdates

是否有删除信息?

u130_seg0 u130_seg1
u131_seg0 u131_seg1 u131_seg2 u131_seg3 u131_seg4

生成FrozenBufferedUpdates

并清空全局BufferedUpdates

u135_seg0 u135_seg1

更新DWPT的私有BufferedUpdates

u137_seg0 u137_seg1

FlushTicket添加到TicketQueue

u141_seg0 u141_seg1
u142_seg0 u142_seg1
u143_seg0 u143_seg1 u143_seg2 u143_seg3 u143_seg4