Dashboard Backend returns duplicate entries for scheduled run and the actual run record. Let's say there is scheduled run for 2pm, there will be 1 entry for the scheduled run (without runId) with start time 2pm, then there will be an entry for the workflow with the runId.
From preliminary investigation, this happens when the time range requested contains future time. (ie. request is made at 2pm, with range from 2AM today - 2AM tomorrow).
Attaching a screenshot with the problem:
As seen on the list, there is a schedule for pipeline basic and basic_30 for 3:00:00pm, then there's the actual workflow run at 3:00:01 pm
I noticed that the backend (ops dashboard) uses the user provided start time and end- time instead of current time as start time when getting future schedules.
however there is java docs explaining that this will always give the schedule after system's current time and not before (since its based on quartz scheduler)
why that isn't happening is a separate question, but the backend should not rely on that, rather it should just use System's current time as start time range for the query to get schedules.