Missing kline when no transaction (change was made after 22th april 9:57AM UTC)

Hi, after some investigations: from today 22th april 09:57AM UTC
kline 1 minute stream was not send every minute from binance if there is no transaction in this interval.
And when a transaction is done we receive all missing kline stream at the same time
No see change log about that.
A good example is for BATBTC 1 minute kline, and it’s visible too in the app or on web site

I too have this issue.

I can see that for many of my 1 minute kline the last tick is not updated for some time.
For example my logging shows there is currently no update for PNTUSDT in the last six minutes.
warn: 23-04-2022-18:08:26 Stale entry found “PNTUSDT” last tick=23-04-2022-18:02:00

I haven’t found the reason yet but @davidkbroadbent may be on to something.

The first occurrence I see in the log is
warn: 22-04-2022-08:56:10 Stale entry found “MLNUSDT” last tick=22-04-2022-08:54:00

Try to explain with a sreenshot.
In this example the Event time show that we receive the kline 2 minutes after if no volume

I have noticed something similar on 3 minute Klines.
My program was receiving a set of 1300 or more, 3 minute klines data and writing these to an array.
So the program would count each websocket message received, starting from the end of the last kline period, and once the current total was reached for each kline period, usually in under 15 seconds, it would begin calculations.
Since 22nd April the code failed. Further investigation indicates that the total is now never reached with a large number of klines just not received at all during the next kline period.
Exactly what has been done by Binance needs to be documented so “work-arounds” can be designed.
The program was running fine continuously before 22nd as in the absence of a new kline it would use the previous kline values. As I stopped and re-started the program it now crashes on not receiving an initial full set of klines for the intended scope.
Any further information on this change in the Kline sockets operation would be greatly appreciated.

Yes looking at BATBTC on the website it is only showing new candlesticks when there is a trade.
So where previously a kline websocket would deliver a message every period it now only delivers a message if there was a trade. So if there are several minutes between trades do we then get multiple websocket messages for the same Kline, for the previous missing periods, when a single new trade takes place?
This is not good!

Thanks for feedback, we are looking into this.

1 Like

Good to know this is being followed up.
So is the operation likely to be corrected to as it was previously or was this an intended change?
If intended what was the purpose?
Having spent the weekend re-designing my code to try and handle the random delivery times of Kline messages I am surprised that this appears to be the only thread on the subject and has had few comments since the condition appeared. Surely more developers have had programs affected by this?

Thanks @dino, just saw issue is resolved.
It’s a very bad thing to do update on Friday. Need to wait monday to resolve problems if occurs.
@davidkbroadbent yes it’s very strange that only few people see this issue. Sad to hear you spent time.

1 Like