Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

3.3.1. delete执行过程中的last cache清除

StorageGroupProcessor在执行delete的过程中,会基于用户输入的originPath以device为单位进行删除操作,originPath是一个可以包含通配符*的路径,需筛选device下与其相匹配的时间序列。

lastCache的删除过程中需根据删除数据的起始时间进行判断是否要清空缓存。StorageGroupProcessor在执行delete的过程中,会基于用户输入的originPath以device为单位进行删除操作,lastCache的删除过程中需根据删除数据的起始时间进行判断是否要清空缓存。

因此MManager提供deleteLastCacheByDevice(PartialPath deviceId, PartialPath originalPath, long startTime, long endTime)接口,MManager获取节点后,具体清除逻辑由LastCacheManager进行执行。

EntityMNode中template的LastCacheContainer与MeasurementMNode的LastCacheContainer均需检查是否需要清空。

多元序列情况需针对目标分量进行判断和操作。

3.3.2. upload tsfile执行过程中的last cache清除

...

MManager提供deleteLastCacheByDevice(PartialPath deviceId)接口,MManager获取节点后,具体清除逻辑由LastCacheManager进行执行。EntityMNode中template的LastCacheContainer与MeasurementMNode的LastCacheContainer均会被清空。接口,具体过程与3.3.1类似。


4. LastCache扩展方向

  1. LastCache缓存多条数据,LastCacheContainer向BatchedLastCacheContainer扩展
  2. 底层实现重写,如lastCache存储Memtable中最新的批量数据