From 63c7ec5fddaf017c7b5182b8103b4efa3908fa25 Mon Sep 17 00:00:00 2001 From: Akinori MUSHA Date: Fri, 7 Oct 2016 19:15:41 +0900 Subject: [PATCH] Reorder received_events by id asc The implementation of latest_events() assumed that while it wasn't actually the case; the association of received_events has a default scope of `order(id: :desc)`. --- app/models/agents/data_output_agent.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/models/agents/data_output_agent.rb b/app/models/agents/data_output_agent.rb index e7027b7e..242f9727 100644 --- a/app/models/agents/data_output_agent.rb +++ b/app/models/agents/data_output_agent.rb @@ -190,6 +190,8 @@ module Agents end def latest_events(reload = false) + received_events = received_events().reorder(id: :asc) + events = if (event_ids = memory[:event_ids]) && memory[:events_order] == events_order && @@ -207,8 +209,7 @@ module Agents new_events = if last_event_id = memory[:last_event_id] - received_events.where(Event.arel_table[:id].gt(last_event_id)). - order(id: :asc).to_a + received_events.where(Event.arel_table[:id].gt(last_event_id)).to_a else source_ids.flat_map { |source_id| # dig twice as many events as the number of