QuakeWang commented on PR #8809: URL: https://github.com/apache/paimon/pull/8809#issuecomment-5059329322
> * The newly added `ScoredGlobalIndexResult.merge` is correct in itself; all 8 unit tests passed. > * However, `SparkDataEvolutionVectorRead.java:217-228` still repeatedly executes `result = result.or(splitResult)`, followed by a call to `topK/results/serialize`. > * When a task contains a large number of raw range splits, it still creates a recursive chain of `ScoreGetter` with thousands of levels, triggering a `StackOverflowError`. > * Here, too, the splits should be collected into a list and then `ScoredGlobalIndexResult.merge` should be called once. @JingsongLi Thanks for catching this. Fixed in d7eae933b: the raw Spark task now collects all split results and performs a single ScoredGlobalIndexResult.merge(results).topK(limit), removing the remaining recursive or chain. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
