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]

Reply via email to