GET followers/ids & friends/ids returning incomplete results with cursor -1, need to use -101


#1

Hey folks,

We’ve seen a bit of a strange bug over the past 3-4 days for both GET followers/ids and GET friends/ids

If the initial cursor sent is -1, then the first page of results is incomplete with only 5-40 results. The next_page cursor returned is ‘-101’. Setting this as the cursor then returns the correct results (starting from the beginning again) and all subsequent cursors are returned correctly.

My current workaround is just to use -101 as the starting cursor.

Just a heads up in case no-one had noticed this.

Cheers,
James


#2

Hi @zemaj,

Thanks for reporting this. Can you provide any screen names or user names that this is happening on?


#3

Seeing the same behaviour here …
First next cursor reported is “-101” …
Am including cursor values below, should they help.-


-> Inside FABIO loop. cursor: -101
-> Exiting FABIO loop. cursor: 1446050455349474647 nofetch: 0
-> Inside FABIO loop. cursor: 1446050455349474647
-> Exiting FABIO loop. cursor: 1445970402653965123 nofetch: 0
-> Inside FABIO loop. cursor: 1445970402653965123
-> Exiting FABIO loop. cursor: 1445904364158873023 nofetch: 0
-> Inside FABIO loop. cursor: 1445904364158873023
-> Exiting FABIO loop. cursor: 1445824979061548244 nofetch: 0
-> Inside FABIO loop. cursor: 1445824979061548244
-> Exiting FABIO loop. cursor: 1445735120614904351 nofetch: 0
-> Inside FABIO loop. cursor: 1445735120614904351
-> Exiting FABIO loop. cursor: 1445418849270034052 nofetch: 0
-> Inside FABIO loop. cursor: 1445418849270034052
-> Exiting FABIO loop. cursor: 1445332862633209169 nofetch: 0
-> Inside FABIO loop. cursor: 1445332862633209169
-> Exiting FABIO loop. cursor: 1445271934315462912 nofetch: 0
-> Inside FABIO loop. cursor: 1445271934315462912
-> Exiting FABIO loop. cursor: 1444710955694435308 nofetch: 0
-> Inside FABIO loop. cursor: 1444710955694435308
-> Exiting FABIO loop. cursor: 1443460170065525316 nofetch: 0
-> Inside FABIO loop. cursor: 1443460170065525316
-> Exiting FABIO loop. cursor: 1441526623367280713 nofetch: 0
-> Inside FABIO loop. cursor: 1441526623367280713
-> Exiting FABIO loop. cursor: 1434747887356149351 nofetch: 0
-> Inside FABIO loop. cursor: 1434747887356149351
-> Exiting FABIO loop. cursor: 1416236943412222869 nofetch: 0
-> Inside FABIO loop. cursor: 1416236943412222869
-> Exiting FABIO loop. cursor: 1415521690087488254 nofetch: 0
-> Inside FABIO loop. cursor: 1415521690087488254
-> Exiting FABIO loop. cursor: 0 nofetch: 1
->> Got grabjson 1448 ids…


#4

Hi everyone,

I’m hoping that you’re no longer seeing this issue. Please let me know if it persists over the next 24 hours.

Thanks,
Taylor


#5

Hi,
… and thanks for looking into this.-
Same code as above is now -indeed- seeing “-1” as first cursor!
(Will continue to keep an eye on this…)

We are also hitting what seems to be a 1500 friends limit, getting that many IDs instead of what should be 2314, thus an incomplete set, but that’s probably explained somewhere… :wink:


HJ.-

-> Inside FABIO loop. cursor: -1
–> Exiting FABIO loop. cursor: 1446054661796344389 nofetch: 0
-> Inside FABIO loop. cursor: 1446054661796344389
–> Exiting FABIO loop. cursor: 1445979701818898274 nofetch: 0
-> Inside FABIO loop. cursor: 1445979701818898274
–> Exiting FABIO loop. cursor: 1445904398900379065 nofetch: 0
-> Inside FABIO loop. cursor: 1445904398900379065
–> Exiting FABIO loop. cursor: 1445861498835217568 nofetch: 0
-> Inside FABIO loop. cursor: 1445861498835217568
–> Exiting FABIO loop. cursor: 1445735266195129528 nofetch: 0
-> Inside FABIO loop. cursor: 1445735266195129528
–> Exiting FABIO loop. cursor: 1445419366829626239 nofetch: 0
-> Inside FABIO loop. cursor: 1445419366829626239
–> Exiting FABIO loop. cursor: 1445335834998640151 nofetch: 0
-> Inside FABIO loop. cursor: 1445335834998640151
–> Exiting FABIO loop. cursor: 1445272556029235151 nofetch: 0
-> Inside FABIO loop. cursor: 1445272556029235151
–> Exiting FABIO loop. cursor: 1444733780962586243 nofetch: 0
-> Inside FABIO loop. cursor: 1444733780962586243
–> Exiting FABIO loop. cursor: 1443514903688807725 nofetch: 0
-> Inside FABIO loop. cursor: 1443514903688807725
–> Exiting FABIO loop. cursor: 1441631082144440363 nofetch: 0
-> Inside FABIO loop. cursor: 1441631082144440363
–> Exiting FABIO loop. cursor: 1435367003072050108 nofetch: 0
-> Inside FABIO loop. cursor: 1435367003072050108
–> Exiting FABIO loop. cursor: 1416886275002676468 nofetch: 0
-> Inside FABIO loop. cursor: 1416886275002676468
–> Exiting FABIO loop. cursor: 1415521788296233439 nofetch: 0
-> Inside FABIO loop. cursor: 1415521788296233439
–> Exiting FABIO loop. cursor: 1415059889768227199 nofetch: 0
-> Inside FABIO loop. cursor: 1415059889768227199
–> Exiting FABIO loop. cursor: 0 nofetch: 1
->> Got grabjson 1500 ids…


#6

There can be a few reasons – there can be suspended or now-deactivated accounts, the count itself could have drifted away from reality… Everything is highly cached on Twitter, and collections like these are “eventually consistent” and subject to some visibility rules based on the perspective of the account making requests. It’s possible for a user’s cache to get in a state that’s just wrong or stale, but such states should eventually resolve themselves.


#7

All good now. Everything is back to normal - cursor are in the correct places and results are complete. Thanks @episod !

Cheers,
James


#8

Thanks for those thoughts…
It is nice to know what to look for, and the interplay of “account perspectives” is very interesting…
In this case, we found the 1500 limit to be due some “simple” rate limiting issues, which we are working to adjust…

Wanted to take the opportunity to confirm that, some time having passed, the cursor is still behaving correctly…

Many thanks again.-

HJ.-