0: jdbc:hive2://analytics1003.eqiad.wmnet:100> select count(*) count, client, status from (select case when userAgent like 'WikipediaApp/%iOS%' then 'iOS' when userAgent like 'WikipediaApp/%Android%' then 'Android' else 'other' end client, concat_ws(',', errorCodes) status from ApiAction where year = 2018 and month = 4 and day >= 20 and (params['action'] = 'readinglists' or params['meta'] = 'readinglists' or params['list'] = 'readinglistentries'))x group by client, status order by count desc limit 100; count client status 256063 iOS 113351 Android 109745 iOS readinglists-db-error-not-set-up 19911 Android readinglists-db-error-not-set-up 12895 Android readinglists-db-error-no-such-project 2928 iOS readinglists-db-error-no-such-project 2454 iOS notloggedin 1909 Android notloggedin 777 iOS readinglists-db-error-entry-limit 577 iOS readinglists-db-error-already-set-up 112 Android badtoken 85 Android readinglists-db-error-no-such-list 42 Android readinglists-too-old 41 Android readinglists-db-error-already-set-up 37 iOS badtoken 33 iOS readinglists-db-error-list-entry-deleted 33 other 21 other readinglists-db-error-not-set-up 14 Android readinglists-db-error-list-entry-deleted 13 Android readinglists-db-error-list-limit 8 Android maxbytes 7 other notloggedin 4 Android readinglists-db-error-no-such-list-entry 4 iOS readinglists-db-error-not-own-list 2 Android readinglists-db-error-list-deleted
That means ~30% of all iOS requests and ~15% of all Android requests fail because the backend has not been set up. Given that (AIUI) sync does not start until the user opts in, that seems like a logic error with those apps (or the backend, but that's less likely).
Also, there's plenty of invalid project name errors; would be nice to see where those are coming from.
None of that is too much of a problem, but it makes actual problems harder to find.