Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
The current aggregation cannot satisfy the needs in the distributed version, to be specific, there are two points that should be satisfied:
1. The FirstValueAggrResult and LastValueAggrResult should also contain timestamp.
Without a timestamp, the coordinator node cannot tell the result from which node is the true first/last.
2. An AggrResult should be able to merge with another. When we get AggrResults from all nodes that participate in the query, these results should be merged to generate a new result.
To resolve the issue, you should:
1. Add a field `timestamp` in FirstValueAggrResult and LastValueAggrResult
2. Add an abstract method `merge(AggregateResult another)` in AggregateResult and implement it properly.