Hi Again, Just to summarize once again the way we are implementing the "no-RollUp" (aka PlainFactsHolder) in Oak Incremental Index. If someone is familiar with this part of incremental index, please see if we are wrong in some assumptions. As a reminder, in Oak Incremental Index we are not using Facts Holder at all. The Incremental Index Row (aka Time&Dims) is mapped directly to the Row (Aggregators). However, we want to keep functionality of "RollUp" (aggregate the metrics of the same IncrementalIndexRow up to some time granularity) and "Plain" (no aggregation, each IncrementalIndexRow and its Row are held ordered by their timestamps).
Bottom line, PlainFactsHolder gives you the mapping from timestamp to IncrementalIndexRow+Row disregarding the order among the same timestamp. This is what we wanted to do, just without mapping timestamp to queues as it is done via PlainFactsHolder. We plan to have the same map just giving it a comparator that will order the IncrementalIndexRows according to their timestamps and disregarding the dimensions. The iterators will start from the first timestamp-to-start (with any dimensions) and end with the last timestamp-to-end (with any dimensions). This looks too us as a simplest way that can be also implemented in original incremental index. Any ideas why PlainFactsHolder was implemented with those queues? If I am not clear enough I would be happy to know and to explain myself better.Looking forward to hear your opinion! Thanks,Anastasia