utubettl: possible bug with on_task_change?
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne mit process_neighbour in utubettl und verfolge die utube-Indexsuche sowie die Aufrufe von on_task_change. Untersuche, wie das Framework die benachrichtigte Task verwendet und wie die Priorität dargestellt wird; abgeschlossen ist dies, wenn festgestellt wurde, ob der ausgewählte Nachbar die READY-Task mit der niedrigsten Priorität sein muss, und das erforderliche Verhalten oder die erforderliche Änderung festgehalten wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
When releasing/deleting a task in utubettl, the code finds a "neighbour" task - a task with the same utube field that is in READY state. It then notifies the framework that this neighbour task is now available for taking, by calling on_task_change.
local function process_neighbour(self, task, operation)
self:on_task_change(task, operation)
if task ~= nil then
local neighbour = self.space.index.utube:min{state.READY, task[i_utube]}
if neighbour ~= nil and neighbour[i_status] == state.READY then
self:on_task_change(neighbour)
end
end
return task
end
A possible bug is that this neighbour task may not be the one with the lowest priority, because the priority field not in the "utube" index.
Currently, the framework wakes up a consumer fiber, but does not look at the particular task being passed to on_task_change, so it doesn't matter.
Is this a bug?
- Vorherrschende Sprache
- Lua
- Sterne
- 243
- Forks
- 56
- Ø Merge
- 6 T. 8 Std.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus tarantool/queue
-
documentation good first issue
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
-
*ttl drivers: TTL branch dereferences delete() result without a nil check, killing the fiberEvtl. vergeben @maksimuimin hat das vor 19 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 76/100
-
*ttl drivers: a dead TTL fiber cannot be restarted and wedges the queue in ENDING on the next RO switchEvtl. vergeben @maksimuimin hat das vor 19 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
-
fifottl/limfifottl: stop() blocks forever while RW, drop() leaks the TTL fiberEvtl. vergeben @maksimuimin hat das vor 19 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
-
1sp bug teamE
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
Alle Issues in tarantool/queue
Ähnliche Issues
-
enhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 91/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 3 Tagen
-
Campaign WC
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 60/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
public-transport/transitous#2569 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag