vespa-engine / vespa

AI + Data, online. https://vespa.ai
https://vespa.ai
Apache License 2.0
5.85k stars 605 forks source link

validation-overrides.xml with an allow tag that has an `until` value of greater than 30 days fails to deploy without an error message #32921

Open jackh-ncl opened 4 days ago

jackh-ncl commented 4 days ago

Describe the bug I tried to add the following, without first reading the documentation outlined here which describes that until can be at most 30 days in the future:

<validation-overrides>
    <allow until="2024-11-30">field-type-change</allow>
    <allow until="2024-01-30">indexing-change</allow>
</validation-overrides>

I then get the following 400 response without an error message:

$ vespa prepare vespa-config

Uploading application package... failed
Error: invalid application package (status 400)
Invalid application:
indexing-change:
        Document type 'news':
Field 'publisher' changed:
indexing script:
'{ input publisher | tokenize normalize stem:"BEST" | index publisher | summary publisher; }' -> '{ input publisher | for_each { tokenize normalize stem:"BEST" } | index publisher | summary publisher; }'
        Document type 'internal_docs':
Field 'publisher' changed:
indexing script:
'{ input publisher | tokenize normalize stem:"BEST" | index publisher | summary publisher; }' -> '{ input publisher | for_each { tokenize normalize stem:"BEST" } | index publisher | summary publisher; }'
        Document type 'reports':
Field 'publisher' changed:
indexing script:
'{ input publisher | tokenize normalize stem:"BEST" | index publisher | summary publisher; }' -> '{ input publisher | for_each { tokenize normalize stem:"BEST" } | index publisher | summary publisher; }'
        Document type 'intelligence_fusion':
Field 'publisher' changed:
indexing script:
'{ input publisher | tokenize normalize stem:"BEST" | index publisher | summary publisher; }' -> '{ input publisher | for_each { tokenize normalize stem:"BEST" } | index publisher | summary publisher; }'
To allow this add <allow until='yyyy-mm-dd'>indexing-change</allow> to validation-overrides.xml, see https://docs.vespa.ai/en/reference/validation-overrides.html

Once I fix the until date, I can successfully prepare the deployment.

To Reproduce Steps to reproduce the behavior:

  1. Use the validation-overrides.xml from above
  2. Run vespa prepare
  3. See error

Expected behavior A useful error message that points out the validation failure of the until date would aid with debugging.

Environment (please complete the following information):

Vespa version Image: vespaengine/vespa:8.444.18 Vespa CLI: 8.441.21

Additional context Add any other context about the problem here.