Problems with /Line/Timetable

And further woe, updates dated 30/4/2020 and 1/5/2020:
(data taken from the latter)

I’m getting a large number of ‘Error 500 Internal Server Error’ responses, specifically, all of these:

5/490011659E/outbound
11/490012391S/inbound
12/490000173RF/outbound
14/490011285E2/outbound
15/490013766F/inbound
30/490014662W/inbound
31/490003375WK/inbound
33/490005445D/outbound
33/490009353S/inbound
36/490010204K/inbound
38/490014050D/inbound
40/490006232W1/outbound
44/490014050R/outbound
60/490001279E/inbound
72/490015061O/outbound
73/490012837K/inbound
78/490012113N/outbound
94/490004996U/inbound
100/490012020B/inbound
101/490014816E/outbound
110/490014493E/inbound
110/490015241B/outbound
117/490014493HE/outbound
122/490005869B/inbound
123/490007657W/inbound
123/490015567G2/outbound
129/490007515C/inbound
146/490006159E/inbound
156/490000247E/inbound
157/490000151C/inbound
162/490001097A/inbound
164/490013060Q/outbound
167/490007657W/outbound
168/490011760D/outbound
172/490003193S/inbound
173/490015364E/inbound
181/490001177V/outbound
184/490013852S/outbound
197/490015223C10/inbound
198/490013634L/inbound
202/490005869B/outbound
205/490003554W/outbound
228/490013297S2/inbound
240/490000087GI/outbound
246/2400A006470A/inbound
253/490000077G/inbound
253/490001127J/outbound
255/490016323E/outbound
256/490009943N/outbound
258/210021903896/outbound
268/490010471Z/inbound
274/490003327K/outbound
282/490006292R/outbound
292/210021003960/outbound
297/490014687N/outbound
298/490000009W1/outbound
299/490000053B/inbound
301/490003975L/outbound
312/490010448S/inbound
312/490012272N/outbound
315/490000012A/inbound
317/490009222A/inbound
320/490003996S/outbound
326/490004282D/inbound
331/490000197B/outbound
335/490014782S/outbound
344/490000138B/inbound
346/490015474C/outbound
349/490007258P/outbound
353/490011409S/outbound
354/490010905E/outbound
356/490012092N/inbound
357/490005167S/outbound
370/490009810M/outbound
375/490001243ZA/outbound
376/490006317B/outbound
376/490010218W/inbound
382/490020301N/inbound
389/490013559S/outbound
393/490004451O/outbound
403/40004410152A/outbound
406/490005800A3/outbound
407/40004410084C/inbound
412/490013142C8/inbound
427/490005185N/outbound
432/490007523F/outbound
436/490001016A/inbound
450/490003849W1/inbound
452/490012622S/outbound
455/490004761N/outbound
464/490010848S/inbound
468/490003871DS/inbound
468/490013100G/outbound
469/490011307H3/outbound
474/490013802W/outbound
490/4900164307/inbound
490/490018677N/outbound
491/210021703425/outbound
491/490015155E1/inbound
533/490009353S/inbound
621/490001177X/outbound
621/490016229E/inbound
696/490013465E/outbound
b13/490001205D/inbound
c1/490014050R/outbound
d8/490012904T/outbound
district/940GZZLUUPM/inbound
e5/490013714S/outbound
e10/490008519N/outbound
el3/490003150B/outbound
g1/490008080S/outbound
h9/490016764HW/outbound
h25/490000103Z/inbound
k1/490001206S/outbound
k1/490005800A12/inbound
n3/490000173RF/outbound
n7/490000173OQ/inbound
n22/490012333E/outbound
n31/490001069D/inbound
n86/490012904B/outbound
n91/490000053B/outbound
n98/490011487G/inbound
n113/490013767T/inbound
n113/490015287E/outbound
n133/490000138D/inbound
n136/490000173RF/outbound
n137/490000173JC/inbound
n155/490000151C/outbound
n279/210021703425/outbound
n551/490013767B/outbound
p13/490010208L/inbound
r1/490007559E/outbound
r4/490006756W1/inbound
r6/490001220D/outbound
r7/490005204Z/inbound
r8/490001220E/outbound
rb1/930GWAS/inbound
rb2/930GTMP/inbound
rb4/930GNEL/outbound
s3/490001020C/outbound
tram/940GZZCRWMB/inbound
u5/490005356T/inbound
w3/490000083B/inbound
w11/490005173N/outbound
woolwich-ferry/930GWWS/outbound

1 Like

It’s getting worse - there are 627 Error 500 returns after the updated dated 4/5/2020

–Edit-- still true after rollback, followed by update dated 5/5/2020

The total this time is 614 - this represents over a third of all the 1820 requests made (plus another 50+ errors along the lines documented in previous posts)

–/Edit–

Hi @nickp

We’ve been experiencing some issues with the timetable back-end recently returning 5xx codes. We believe it partly to be load-related so I’d suggest throttling the rate of your requests and hopefully that will provide a more reliable set of results.

I’ll keep you updated on the progress of a fix here.

thanks,
James

Thanks @jamesevans

I’ll give it a go with a tick delay in place and report back. I just note in passing that this is the same code that I use for /Line/Route/Sequence downloads with no such problems there.

Regards
Nick

Hi @jamesevans

Ok, I’ve tried this with both a 1-second and a 3-second tick delay, with no significant improvement. Here’s the start of my log for the 3-second run, showing the results.

Each ‘… pause n’ line is my tick delay in operation. Additionally, each ‘…retrying…’ also has a built-in 3-second delay. Just to emphasise the point, this has been working reasonably, barring all the errors mentioned above, until a couple of weeks ago.

Back to your end, James.

Regards
Nick

Log extract:

Line/1/Timetable/490004733C?direction=inbound
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/2/Timetable/490000145L?direction=outbound paused 3
Line/2/Timetable/490010444W?direction=inbound paused 3
Line/3/Timetable/490005869D?direction=inbound paused 3
Line/3/Timetable/490019475P?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/4/Timetable/490000008NW?direction=outbound paused 3
Line/4/Timetable/490000023BA?direction=inbound paused 3
Line/5/Timetable/490000039F?direction=inbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/5/Timetable/490011659E?direction=outbound paused 3
Line/6/Timetable/490003193R?direction=inbound paused 3
Line/6/Timetable/490003935Z?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/7/Timetable/490000173OQ?direction=inbound paused 3
Line/7/Timetable/490015061O?direction=outbound paused 3
Line/8/Timetable/490000235Z?direction=inbound paused 3
Line/8/Timetable/490004215M?direction=outbound paused 3
Line/9/Timetable/490003193R?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/9/Timetable/490007705G?direction=inbound paused 3
Line/11/Timetable/490007057R?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/11/Timetable/490012391S?direction=inbound paused 3
Line/12/Timetable/490000173RF?direction=outbound paused 3
Line/12/Timetable/490006652N?direction=inbound paused 3
Line/13/Timetable/490000248ZZ?direction=inbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/13/Timetable/490015443P?direction=outbound paused 3
Line/14/Timetable/490000200E?direction=inbound paused 3
Line/14/Timetable/490003794O?direction=inbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/14/Timetable/490011285E2?direction=outbound paused 3
Line/15/Timetable/490002018P?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/15/Timetable/490013766F?direction=inbound paused 3
Line/16/Timetable/490000248ZZ?direction=inbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/16/Timetable/490010015S1?direction=outbound paused 3
Line/17/Timetable/490000008R?direction=outbound paused 3
Line/17/Timetable/490000139A?direction=inbound paused 3
Line/18/Timetable/490000077E?direction=inbound paused 3
Line/18/Timetable/490003597G?direction=outbound paused 3
Line/19/Timetable/490000083G?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/19/Timetable/490003683N?direction=inbound paused 3
Line/20/Timetable/1500IM1055?direction=inbound paused 3
Line/20/Timetable/490000249B?direction=outbound paused 3
Line/21/Timetable/490009105U?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/21/Timetable/490015396S?direction=inbound paused 3
Line/22/Timetable/490000173RF?direction=inbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/22/Timetable/490011281N?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/23/Timetable/490007419C?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/23/Timetable/490007705G?direction=inbound paused 3
Line/24/Timetable/490012280A?direction=inbound paused 3
Line/24/Timetable/490015832E?direction=outbound paused 3
Line/25/Timetable/490007657V?direction=inbound paused 3
Line/25/Timetable/490008275K?direction=outbound paused 3
Line/26/Timetable/490000254QA?direction=inbound paused 3
Line/26/Timetable/490008264S?direction=outbound paused 3
Line/27/Timetable/490000097T?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/27/Timetable/490004962W?direction=inbound paused 3
Line/28/Timetable/490009631N?direction=inbound paused 3
Line/28/Timetable/490012622S?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/29/Timetable/490013767C?direction=inbound paused 3
Line/29/Timetable/490015567G2?direction=outbound paused 3
Line/30/Timetable/490011133M?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/30/Timetable/490014662W?direction=inbound paused 3
Line/31/Timetable/490003375WK?direction=inbound paused 3
Line/31/Timetable/490003698W?direction=outbound paused 3
Line/32/Timetable/490000070D?direction=outbound paused 3
Line/32/Timetable/490000127KA?direction=inbound paused 3
Line/33/Timetable/490005445D?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/33/Timetable/490009353S?direction=inbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/34/Timetable/490003634G?direction=outbound paused 3
Line/34/Timetable/490014164D?direction=inbound paused 3
Line/35/Timetable/490009843G?direction=outbound paused 3
Line/35/Timetable/490012113N?direction=inbound paused 3
Line/36/Timetable/490005345C?direction=outbound paused 3
Line/36/Timetable/490010204K?direction=inbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/37/Timetable/490010877E?direction=inbound paused 3
Line/37/Timetable/490011285E2?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/38/Timetable/490009035E?direction=outbound paused 3
Line/38/Timetable/490014050D?direction=inbound paused 3
Line/39/Timetable/490000184Z?direction=outbound paused 3
Line/39/Timetable/490009843G?direction=inbound paused 3
Line/40/Timetable/490006232W1?direction=outbound paused 3
Line/40/Timetable/490015104S?direction=inbound paused 3
Line/41/Timetable/490000008Z?direction=outbound paused 3
Line/41/Timetable/490009917C?direction=inbound paused 3
Line/42/Timetable/490006336N?direction=outbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
Line/42/Timetable/490012391S?direction=inbound paused 3
Line/43/Timetable/490000139C?direction=inbound paused 3
Line/43/Timetable/490016643W?direction=outbound paused 3
Line/44/Timetable/490001296N?direction=inbound paused 3
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error
…retrying…
Error 500 Internal Server Error

Hi @nickp

Do you know what time you performed this test?

Thanks,
James

1 Like

Hi @jamesevans

The 3-second one finished about 30 mins ago, the 1-second one was this morning. The one for the update dated 4/5/2020, without the tick delay but with the 3-second pause for retries, was in the small hours of the morning of the 5th. I can run it again with a time stamp in the log if you want.

1 Like

Some observations based on the results of the update dated 21/7/202, following the changes at the Tfl end.

Code 400 errors still occurring, as originally described.

The number of 500 errors is significantly reduced, down to 288.

‘Departure stop does not match originator’ discrepancies still occurring, as before.

Still the same ‘stop has been removed’ errors, but I note that this includes route 521 in both directions. This was added manually to the Tfl build and may thus give a pointer to why/how these errors arise.

No change on the rail front, but my comment on 521 may be relevant here as well.

I think this might be related, and apologies if this has already been mentioned. But I’ve seen random 500 errors returned also for the timetable endpoint:

Endpoint: https://api.tfl.gov.uk/Line/36/Timetable/490010204K

Response:
{
“$type”: “Tfl.Api.Presentation.Entities.ApiError, Tfl.Api.Presentation.Entities”,
“timestampUtc”: “2020-07-27T22:50:59.461446Z”,
“exceptionType”: “ApiException”,
“httpStatusCode”: 500,
“httpStatus”: “InternalServerError”,
“relativeUri”: “/Line/36/Timetable/490010204K?app_id=2dc44de8&app_key=dc8ca8f52b3ab183573454d7d30fa83c”,
“message”: “No timetable available for 490010204K > 1010204, inbound > R, 36 > 45036.”
}

It’d say about 80% of the time it returns a 200 code just fine, but other times there are internal errors.

Result of update dated 8/9/2020:

All the usual suspects still in place, but we have a new one (everything after ‘HTTP 400:’ is the returned response):

Error loading timetable data for 404/490002178Z/outbound: ##HTTP 400: ‘Bad Request’ Response: ‘{"$type":“Tfl.Api.Presentation.Entities.ApiError, Tfl.Api.Presentation.Entities”,“timestampUtc”:“2020-09-09T13:42:58.1556113Z”,“exceptionType”:“ApiArgumentException”,“httpStatusCode”:400,“httpStatus”:“BadRequest”,“relativeUri”:"/Line/404/Timetable/490002178Z?direction=outbound&app_id=xxxxxxxx&app_key=yyyyyyyyyyyyyyyyyyyyyyyyy",“message”:"Could not find a matching ICS code for the Naptan Id 490002178Z. Argument name: fromNaptanId. "}’

I note that 4900029178Z is part of a contiguous block of StopPoints from 490002164HN to 490002189Z that are all missing ICS codes

1 Like

I’m also getting similar transient 500s for /Timetable. Happy to help if you want to request anything of me. For now, we will use a similar brute force approach to above and reduce dependency using local filesystem as we only need timetables for durations between stops.

Just to confirm what @lbennett has said, there seems currently to be about a 1-in-3 chance of getting an error (mostly 500s, with a handful of 503s and time-outs). As an example the run following the 24/11/2020 update produced the results shown below.

Note that all other errors reported earlier are still outstanding.

Out of a total of 1914 requests, the numbers of errors in successive passes was;

Pass Errors
1 643
2 268
3 123
4 55
5 26
6 10
7 3
8 2
9 1
10 1
11 1
12 0

@nickp

@neamanshafiq has raised an investigation with our Journey Planner vendor to look into the 5xx messages we’re getting back intermittently from the timetable API.

Thanks,
James

2 Likes

@jamesevans @neamanshafiq

Well, I don’t know what they’ve done, but it’s definitely not an improvement.

Errors per pass following the 15/12/2020 update (out of an initial total of 1895):
1641/771/238/81/33/10/2/2/0

With a 1st pass failure rate of 87%, I would question your use of the word ‘intermittently’

It was also extremely slow - running with a 10-second timeout, the 1st pass took from 20:38 to 23:07 last night, with the 8th pass complete at 00:37 this morning (9th pass waited on user response, so delayed until 01:04). This compares with 20:00-20:33 (2 timeouts and 2 503s in the first pass) for the equivalent set of requests on Line/Route/Sequence.

@jamesevans: Following further investigation, here’s an update on what I believe to be the outstanding issues with /Line/Timetable.
All data based on the update dated 25/5/2021.

All data - undocumented parameter
/Line/Timetable is documented as being /Line/{lineid}/Timetable/{fromStopPoint}, but it acually requires an additional ?direction={direction}

All data - 500 errors
A significant proportion of the requests return an error 500 ‘Internal Server Error’. This can be overcome by brute-force retry. For the date concerned, 647 out of 1907 requests returned an error on the first pass, nearly all 500s, with a scattering of 503 and timeout errors. Subsequent passes reduced the number of errors as follows:
647, 323, 151, 62, 34, 11, 6, 6, 4, 3, 1, 1, 1, 1, 1, 1, 0
In case it’s relevant, the request with an error in every pass was 286/490011319HB/outbound

Non–existent stop Ids - 400 errors
An orignating stop in the list returned by /Line/Route is rejected by /Line/Timetable with error code 400 and message “Could not find a matching ICS code for the Naptan Id xxxxxxxxxxx. Argument name: fromNaptanId.”
The only current example of this is cross-country/0000BRSTLTM1/inbound, but I note that there are 63 such stops, all of them rail, in the /Line/Route/Sequence data

Rail - No route sections
All the rail-related line/route/direction entries returned by /Line/Route are returned by /Line/Timetable with no route sections and the error message “The stop you selected has now been removed from the route, and therefore we cannot show you a timetable. The route page will be updated shortly to reflect these changes.”
It should be noted that the stations and stops sections of the returned data appear to be correctly populated

Bus - no route sections
The same problem arises with a handful of bus entries, in this case only two entries:
412/490013142C8/inbound and 434/40004410113A/inbound. If you can spot what is different about these two, it may give you a handle on the rail issue

Bus - no interval sets
I have only seen this with hereeast-shuttle/490001338Z/outbound. I note that this is a short, circular, outbound-only route and I suspect that this is related to the more genreal problem with looping or divergent routes.

Bus - departure stop does not match originator
This is where the stop returned by /Line/Route and used as a parameter to /Line/Timetable is not the same as the departureStop in the timetable section of the returned data. In the cases that I’ve examined, the correct sequence appears to be originator/departureStop/remaining stops in the interval set. The first three instances of this are:
18/490000077E/inbound - departure stop 490000077H
24/490015832E/outbound - departure stop 490011003E
40/490006232W1/outbound - departure stop 490015428N
This may turn out to be a special case of the more general missing stop problem below.

Bus - missing 2nd stop
There are over 300 instances where the second stop in sequence is missing. This is the first stop in the interval set, after originator/departureStop. This affects lines 2/inbound, 3/both/, 4/outbound, 6/outbound, 7/both and many more. Again this may be a special case of the more general missing stop problem.

Bus - general missing stop problem
There are just under 200 other instances of both stops other than the 2nd and multiple stopns missing from the timetable. Examples are 27/outbound, 81/both, 96/outbound, 101/outbound, 107/both.
This, and the previous two categories, could all be related to the issue of stops in the same StopArea that you have mentioned previously.

Bus - duplicate stop
There are a number of instances where the same stop occurs twice in succession in an interval set. These are:
490000054CA in 125/outbound/0
40004402075A in 203/inbound/0
490011630S2 in 366/outbound/0
490011630S2 in 366/outbound/1
490002115Z in 483/inbound/0
930GTMP in city-cruises/outbound/0 - I know this isn’t a bus

Bus - multiple routes with missing stops
This may be a variant of the issues above. At least two routes are present with stops missing, typically in one of them. Unlike the TxC files, there are no start and end dates so I can only assume that all routes apply to the current period.
Examples are:
18/inbound, 40/outbound, 125/inbound, 150/outbound

Bus - miscellaneous
20/inbound: tt is wrong at Loughton, also missing 2nd stop
Route: …/1500IM504/150042015006/1500SAINS1/1500LOUGHTON /150042010002/…
Timetbl: …/1500IM504/150042015006/1500SAINS1/ 1500IM504/150042010002/…
20/outbound: tt is also wrong at Loughton
Route: …/1500IM504/150042015007/1500SAINS1/150042010004/ 150042010005/…
Timetbl:…/1500IM504/150042015007/1500SAINS1/ 1500IM504/150042010005/…
108/outbound: tt missing 2nd entry, tt & route both showing route via Tower Bridge, rather than via Blackwall Tunnel, tt also has erroneous non-stop route between Chrisp Street Market & North Greenwich Station
192/outbound: route has 490001024Z, tt has 490001024X at Bush Hill Park Station
224/outbound: tt missing 2nd stop, route has incorrect segment linkages, caused by the loop at Belmarsh Prison, should be straightforward 1>2>3
358/inbound: route has a variant path missing, tt is correct
371/outbound: tt has variants with erroneously missing stops
384/inbound: multiple differences between route & timetable
397/both: same mix-up at Loughton as line 20
401/both: route is missing a variant, tt is correct
463/outbound: route & tt differ
605/outbound: tt truncated
663/both: route & tt differ
655/both: tt is showing only a limited-stop service, route has full sequence
681/inbound: tt has limited-stop service
718/outbound: route & tt differ
B12/outbound: tt has limited-stop service
EL2/inbound: tt has limited-stop service
R5/inbound: tt has 2 variants, one missing 2nd stop, the other missing stops 2-41
R6/inbound: route has loop problem, similar to 224, tt correct
R10/inbound: tt has two variants, one missing a couple of stops, the other missing a lot
I think that R5 and R10 are mixed up with each other, as they are essentially the same route in opposite directions

DLR
Timetable is missing Poplar>Stratford via Pudding Mill Lane

River
RB1/inbound: route missing limited-stop services
RB1/outbound: route missing CAW-GNW non-stop, both missing EMB-WMR-WMP-BFR
RB2/inbound: route missing MBK-BSP non-stop
RB6/inbound: both missing GNW, route has WMR - not in timetable, both missing BSP-CHP non-stop
RB6/outbound: both missing MIL-WRF-WAS

Tube
Central/outbound: tt missing GGH-HLT
Circle/inbound: mix-up between PAC and PAH at Paddington - tt has a section PAC-RYO which is not possible
District/inbound: tt missing ECT-KOY
Metropolitan/both: route missing fasts and semi-fasts
Metropolitan/outbound: route has Willesden Green stop, missing from tt
Piccadilly/both: route missing non-stop TNG

1 Like

@nickp

I’ve been using this myself in the last week and it does seem that, despite having a 500-requests-a-minute limit to my calls for each of my projects, I quickly start seeing the error message saying I’m over my rate limit if I don’t wait 5 seconds after each call.

Something appears to have changed on or about 17:00 on 18/11/2021.

Background info:
I download all the timetables through the API in numerical/alphabetical order. Any 500/503/530/timeout errors are stacked up and processed in a subsequent pass. This is repeated until the download is complete.

During pass 1, there were only timeout errors until line 679, only 503 errors until merseyrail, and then only timeout errors to the end.

Subsequent passes had only timeout errors with a much better drop off rate than heretofore - number of errors per pass was 702/149/26/2/1/0

The first pass took from 16:32 to 18:02, due to all the timeouts, so any changes made during that period may be pointers to the underlying issue.

1 Like

Actually it changed about 14:00 yesterday!

After a deep dive, we found some configuration issues in our loadbalancer which we have now rectified and it looks a lot better in terms of timetable performance.

We’re still looking at some errors on timetables, but we’re a lot happier than we were.

Thanks,
James

1 Like

It’s been one of those weeks for you, James…

2 Likes

As it’s a new year, I thought it would be a good opportunity to resurrect this thread.

A lot of earlier issues are still outstanding and I shall detail them in a future post, but one problem is apparent on a very large number of lines and is swamping my error reporting, so that it is difficult to spot other errors.

In many cases, one or more stops immediately after the initial stop are missing. I suspect that these are ones with a timeToArrival of 0.

The first dozen or so occurrences are 1/outbound, 2/both, 3/inbound, 4/both, 5/outbound, 6/outbound, 11/outbound, 12/inbound, 14/outbound, 16/both

I attach a screenshot of 3/inbound as it is a good example of two consecutive stops missing

Note that this problem only occurs in /Line/Timetable - /Line/Route/Sequence has the correct data, as does the Tfl TxC file, TNDS and BODS