the timestamp of any resource is mainly to avoid write conflict. say user A reads a resource R and made some modifications to make it R'. When A tries to persistent R' , it has to make sure resource R has not been changed by another concurrent user B.
This patch fixes potential bug when updating cube segments(especially in 2.x branches where streaming data ingestion is enabled, more frequent cube updating is occurring) the scenario is described by liyang: - A read content - B write content & timestamp - A read timestamp* (notice A did not read timestamp and content at same time, this is the root cause)* - A write again which overwrite B without detection if you're using versions prior to 2.0, it's fixing a bug that almost never happened(in theory it can happen,but we have never seen it) -- Regards, *Bin Mahone | 马洪宾* Apache Kylin: http://kylin.io Github: https://github.com/binmahone
