The GitHub Actions job "CI" on rocketmq-dashboard.git/fix/yy-ai-timeline-order 
has failed.
Run started by GitHub user yyqdbngt (triggered by yyqdbngt).

Head commit for run:
fb6e14c6d5378f10a5d02bfa3274d62d5c5c50db / yyqdbngt <[email protected]>
fix(ai): order AI timeline events before limiting the slice

MybatisPlusAiEventRepository.findByConversationIdAfterSeq built
"WHERE (conversation_id = ? AND seq > ?) LIMIT n" and sorted the returned
slice in Java. SQL does not define which qualifying rows a LIMIT keeps without
an ORDER BY, so the page AiConversationService.timeline cuts its nextAfter
cursor from was an arbitrary subset of the index range.

Add ORDER BY seq ASC in front of the LIMIT and drop the in-memory sort: the
range scan that applies the seq predicate on uk_ai_event_conversation_seq
already visits the qualifying rows in seq order, so MySQL serves the ordering
from that index instead of materialising the MEDIUMTEXT payload into
sort_buffer_size. The javadocs that pinned the opposite decision now state the
ordering contract.

Test: AiTimelineRepositoryTest requires the ordering before the limit and that
the repository hands back the database-ordered slice unchanged.

Report URL: 
https://github.com/apache/rocketmq-dashboard/actions/runs/36962588208

With regards,
GitHub Actions via GitBox

Reply via email to