我在 ScanQuery 中使用了一个过滤器,它比简单的过滤执行更多的逻辑 - 它是有状态的并创建一些聚合/计数器。我是否需要在该筛选器中使用线程安全结构,还是单个线程扫描单个分区?
如果您启动单个扫描查询,并且不再有并行迭代同一分区的扫描查询,则筛选器的代码将始终由单个线程执行。
但是,根据ScanQuery.pageSize
参数,此线程可能会有所不同。
不要在筛选器的逻辑中执行任何与缓存相关的操作,因为这可能会导致分布式死锁。