awslabs/benchmark-ai

[bff] Bubble up schema validation error to customer

Aperta

#950 aperta il 15 ott 2019

 (0 commenti) (0 reazioni) (0 assegnatari)Python (6 fork)auto 404
enhancementgood first issue

Metriche repository

Star
 (19 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

If there is a "TOML" schema validation error the user does not get an informative error message. What they get is:

[ERROR] Submission was NOT successful - submission rejected by service:
{"status":400,"headers":{},"body":"Could Not Parse Submitted Descriptor: JSON Validation error:"}

The validation takes place here, and thus the genesis of this exception https://github.com/awslabs/benchmark-ai/blob/master/bai-bff/src/bai_bff/events.clj#L45

What it really looks like is:

Execution error (ValidationException) at org.everit.json.schema.ValidationException/prepend (ValidationException.java:395).
#/ml/args: expected type: JSONArray, found: String

So the task here is to expose that exception's details through the bubbled up exception, "handled" in the calling environment: https://github.com/awslabs/benchmark-ai/blob/master/bai-bff/src/bai_bff/http_api.clj#L38

Guida contributor