Skip to content

Report a data update download cut short as the specification's access error #125

Open

Description

@jwrosewell

The problem

On rc at b78810f,
DataUpdateServiceDefault.java lines 838 to 852
catches a failure reading the body of a 200 response at line 844, and logs
it at warning as "An error occurred while downloading a data file update for
<engine> from <url>." followed by "Error detail:" and the cause. The status,
AUTO_UPDATE_HTTPS_ERR, is the one the specification gives. The level and
the message are not. A failed connection, at
lines 882 to 887,
is also logged at warning, as "An error occurred when connecting to ...",
rather than as the first row.

What the specification says

A data update download that starts and then ends before the whole file has
arrived is the first row of the
Errors table in data-updates.md,
whose messages "are the messages and levels of the .NET data update
service". It is logged at Error as Error during check for data update,
with "Error accessing data update service at '<url>' for engine '<Engine
type name>'" and the cause attached, and its status is
AUTO_UPDATE_HTTPS_ERR. .NET reports it that way because
_httpClient.SendAsync(message) reads the whole response before it returns,
inside the try whose catch throws that message
(DataUpdateService.cs lines 1305 to 1326,
and Microsoft's documentation of that form of SendAsync).
The wording of that row is raised in the specification issue, and Node made the same
change in 51degrees-node#94.

What to change

Log both failures at Error as the first row, with the cause attached. A test
needs no timer if its server sends the headers with a Content-Length
larger than the body it sends and never finishes, and the test closes the
connection once the response has arrived.

Activity

  1. added a commit that references this issue on Nov 15, 2026
    80ff50f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions