qubic/go-events

Tick event processing lags frequently

Opened this issue · 0 comments

Status quo: event info lags from time to time and therefore event info is not available for current ticks. This leads to problems in code that is relying on processing events.

Wanted behaviour: timely and consistent provision of tick information. I think a lag of one to two ticks is OK but it shouldn't vary too much.

Example log of an application that checks up to what tick the info is available (via /events/status endpoint):

2024-11-11T16:48:13.985Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128062]. Events are available until tick [17128040].
2024-11-11T16:48:15.584Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128063]. Events are available until tick [17128040].
2024-11-11T16:48:17.202Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128063]. Events are available until tick [17128040].
2024-11-11T16:48:18.813Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128063]. Events are available until tick [17128040].
2024-11-11T16:48:20.425Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128064]. Events are available until tick [17128040].
2024-11-11T16:48:22.079Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128064]. Events are available until tick [17128040].
2024-11-11T16:48:23.663Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128065]. Events are available until tick [17128042].
2024-11-11T16:48:23.663Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] org.qubic.qx.sync.job.TickSyncJob        : Syncing from tick [17128040] (incl) to [17128042] (excl). Number of ticks: [2].
2024-11-11T16:48:23.865Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128040] to set [ticks:processed].
2024-11-11T16:48:23.997Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128041] to set [ticks:processed].
2024-11-11T16:48:25.591Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128065]. Events are available until tick [17128045].
2024-11-11T16:48:25.591Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] org.qubic.qx.sync.job.TickSyncJob        : Syncing from tick [17128042] (incl) to [17128045] (excl). Number of ticks: [3].
2024-11-11T16:48:25.874Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128042] to set [ticks:processed].
2024-11-11T16:48:26.013Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128043] to set [ticks:processed].
2024-11-11T16:48:26.158Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128044] to set [ticks:processed].
2024-11-11T16:48:27.835Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128065]. Events are available until tick [17128047].
2024-11-11T16:48:27.835Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] org.qubic.qx.sync.job.TickSyncJob        : Syncing from tick [17128045] (incl) to [17128047] (excl). Number of ticks: [2].
2024-11-11T16:48:27.992Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128045] to set [ticks:processed].
2024-11-11T16:48:28.188Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128046] to set [ticks:processed].
2024-11-11T16:48:29.845Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128065]. Events are available until tick [17128050].
2024-11-11T16:48:29.845Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] org.qubic.qx.sync.job.TickSyncJob        : Syncing from tick [17128047] (incl) to [17128050] (excl). Number of ticks: [3].
2024-11-11T16:48:29.989Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128047] to set [ticks:processed].
2024-11-11T16:48:30.140Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128048] to set [ticks:processed].
2024-11-11T16:48:30.279Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128049] to set [ticks:processed].
2024-11-11T16:48:31.864Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128066]. Events are available until tick [17128052].
2024-11-11T16:48:31.865Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] org.qubic.qx.sync.job.TickSyncJob        : Syncing from tick [17128050] (incl) to [17128052] (excl). Number of ticks: [2].
2024-11-11T16:48:31.998Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128050] to set [ticks:processed].
2024-11-11T16:48:32.139Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128051] to set [ticks:processed].
2024-11-11T16:48:33.842Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128066]. Events are available until tick [17128054].
2024-11-11T16:48:33.842Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] org.qubic.qx.sync.job.TickSyncJob        : Syncing from tick [17128052] (incl) to [17128054] (excl). Number of ticks: [2].
2024-11-11T16:48:33.977Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128052] to set [ticks:processed].
2024-11-11T16:48:34.115Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128053] to set [ticks:processed].
2024-11-11T16:48:35.841Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128066]. Events are available until tick [17128057].
2024-11-11T16:48:35.841Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] org.qubic.qx.sync.job.TickSyncJob        : Syncing from tick [17128054] (incl) to [17128057] (excl). Number of ticks: [3].
2024-11-11T16:48:36.007Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128054] to set [ticks:processed].
2024-11-11T16:48:36.138Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128055] to set [ticks:processed].
2024-11-11T16:48:36.280Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128056] to set [ticks:processed].
2024-11-11T16:48:37.865Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128067]. Events are available until tick [17128060].
2024-11-11T16:48:37.865Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] org.qubic.qx.sync.job.TickSyncJob        : Syncing from tick [17128057] (incl) to [17128060] (excl). Number of ticks: [3].
2024-11-11T16:48:38.025Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128057] to set [ticks:processed].
2024-11-11T16:48:38.164Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128058] to set [ticks:processed].
2024-11-11T16:48:38.317Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128059] to set [ticks:processed].
2024-11-11T16:48:39.911Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128067]. Events are available until tick [17128062].
2024-11-11T16:48:39.911Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] org.qubic.qx.sync.job.TickSyncJob        : Syncing from tick [17128060] (incl) to [17128062] (excl). Number of ticks: [2].
2024-11-11T16:48:40.056Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128060] to set [ticks:processed].
2024-11-11T16:48:40.196Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128061] to set [ticks:processed].
2024-11-11T16:48:41.862Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128068]. Events are available until tick [17128064].
2024-11-11T16:48:41.862Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] org.qubic.qx.sync.job.TickSyncJob        : Syncing from tick [17128062] (incl) to [17128064] (excl). Number of ticks: [2].
2024-11-11T16:48:41.996Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128062] to set [ticks:processed].
2024-11-11T16:48:42.145Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128063] to set [ticks:processed].
2024-11-11T16:48:43.884Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] org.qubic.qx.sync.job.TickSyncJob        : Syncing from tick [17128064] (incl) to [17128067] (excl). Number of ticks: [3].
2024-11-11T16:48:44.043Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128064] to set [ticks:processed].
2024-11-11T16:48:44.190Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128065] to set [ticks:processed].
2024-11-11T16:48:44.328Z  INFO 273234 --- [qxsync] [llEventLoop-5-1] o.q.qx.sync.repository.TickRepository    : Added [17128066] to set [ticks:processed].
2024-11-11T16:48:45.911Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128069]. Events are available until tick [17128067].
2024-11-11T16:48:47.515Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128069]. Events are available until tick [17128067].
2024-11-11T16:48:49.120Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128070]. Events are available until tick [17128067].
2024-11-11T16:48:50.718Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128070]. Events are available until tick [17128067].
2024-11-11T16:48:52.324Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128070]. Events are available until tick [17128067].
2024-11-11T16:48:53.914Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128070]. Events are available until tick [17128067].
2024-11-11T16:48:55.520Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128071]. Events are available until tick [17128067].
2024-11-11T16:48:57.122Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128071]. Events are available until tick [17128067].
2024-11-11T16:48:58.713Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128072]. Events are available until tick [17128067].
2024-11-11T16:49:00.314Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128072]. Events are available until tick [17128067].
2024-11-11T16:49:01.928Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128072]. Events are available until tick [17128067].
2024-11-11T16:49:03.531Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128073]. Events are available until tick [17128067].
2024-11-11T16:49:05.123Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128073]. Events are available until tick [17128067].
2024-11-11T16:49:06.737Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128073]. Events are available until tick [17128067].
2024-11-11T16:49:08.326Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128074]. Events are available until tick [17128067].
2024-11-11T16:49:09.919Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128074]. Events are available until tick [17128067].
2024-11-11T16:49:11.521Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128074]. Events are available until tick [17128067].
2024-11-11T16:49:13.139Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128075]. Events are available until tick [17128067].
2024-11-11T16:49:14.730Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128075]. Events are available until tick [17128067].
2024-11-11T16:49:16.326Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128075]. Events are available until tick [17128067].
2024-11-11T16:49:17.924Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128076]. Events are available until tick [17128067].
2024-11-11T16:49:19.517Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128076]. Events are available until tick [17128067].
2024-11-11T16:49:21.121Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128076]. Events are available until tick [17128067].
2024-11-11T16:49:22.709Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128077]. Events are available until tick [17128067].
2024-11-11T16:49:24.302Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128077]. Events are available until tick [17128067].
2024-11-11T16:49:25.950Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128077]. Events are available until tick [17128067].
2024-11-11T16:49:27.541Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128077]. Events are available until tick [17128067].
2024-11-11T16:49:29.131Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128077]. Events are available until tick [17128067].
2024-11-11T16:49:30.878Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128078]. Events are available until tick [17128067].
2024-11-11T16:49:32.463Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128078]. Events are available until tick [17128067].
2024-11-11T16:49:34.060Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128079]. Events are available until tick [17128067].
2024-11-11T16:49:35.654Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128079]. Events are available until tick [17128067].
2024-11-11T16:49:37.274Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128079]. Events are available until tick [17128067].
2024-11-11T16:49:38.975Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128080]. Events are available until tick [17128067].
2024-11-11T16:49:40.573Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128080]. Events are available until tick [17128067].
2024-11-11T16:49:42.186Z  INFO 273234 --- [qxsync] [or-http-epoll-4] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128080]. Events are available until tick [17128067].
2024-11-11T16:49:43.772Z  INFO 273234 --- [qxsync] [or-http-epoll-5] org.qubic.qx.sync.job.TickSyncJob        : Current tick: [17128081]. Events are available until tick [17128067].

The same behaviour repeats. Sometimes lag is 20-30 ticks, then it catches up again, then lags again and so on