data4development / IATI-data-validator

GNU Affero General Public License v3.0
5 stars 6 forks source link

XML validator is not returning output. #78

Closed rolfkleef closed 4 years ago

rolfkleef commented 4 years ago

we are trying to validate our XML and uploading the file it stops at step 1 and does not proceed further. ,URI:,https://stage.dataworkbench.io/iati-feedback/validate/403dcbbd-db63-4fe8-aac8-2ecf96a63670, ,Reporter,: Madhukar,E-mail,: ,madhukar_rao@yahoo.com

submitted via feedback button USER-33

PetyaKangalova commented 4 years ago

I am unable to replicate the error so have emailed the user directly. Will provide an update here once I get a response.

tahb commented 4 years ago

Hey @PetyaKangalova, I think we are experiecing this issue too!

Using the same upload we get stuck on the first 3 attempts. At the time of writing they have been stuck for around 20-25 minutes:

https://test-validator.iatistandard.org/validate/a41e9634-a61f-4e2e-b3de-96edebc3ab9b https://test-validator.iatistandard.org/validate/7c56d3bb-0584-4151-a122-6f63863c8e87 https://test-validator.iatistandard.org/validate/d97ce097-9a34-4813-ab7b-72586a84600f

Trying the same file 11 minutes later than our last attempt successfully validates, albeit after roughly 12 minutes. I mention that duration there as usually it's pretty quick so it might be a clue.

https://test-validator.iatistandard.org/validate/6261fbdd-1ad2-41e5-9959-3a2fa9385b5b

I had been validating a few files before I noticed the problem so it feels like a similar experience to being rate limited.

Our file is:

<iati-activities generated-datetime="2020-02-27T13:25:46" version="2.03">
  <iati-activity default-currency="gbp" xml:lang="en">
    <iati-identifier>GB-GOV-13-GCRF-LWYHH-IND-ENT-IFIER-12345</iati-identifier>
  <reporting-org ref="GB-GOV-13" type="10">
    <narrative>Department for Business, Energy and Industrial Strategy</narrative>
  </reporting-org>
  <title>
    <narrative>1324</narrative>
  </title>
  <description type="1">
    <narrative>2134</narrative>
  </description>
  <participating-org ref="GB-GOV-1" role="1" type="10">
    <narrative>Department for Business, Energy and Industrial Strategy</narrative>
  </participating-org>
  <participating-org ref="GB-GOV-1" role="2" type="10">
    <narrative>Department for Business, Energy and Industrial Strategy</narrative>
  </participating-org>
  <participating-org ref="GB-GOV-13" role="3" type="10">
    <narrative>Department for Business, Energy and Industrial Strategy</narrative>
    </participating-org>
    <activity-status code="1" />
    <activity-date type="1" />
    <activity-date type="2" />
    <activity-date type="3" />
    <activity-date type="4" />
    <recipient-region code="998" />
    <sector code="91010" vocabulary="1" />
    <default-flow-type code="10" />
    <default-finance-type code="423" />
    <default-aid-type code="E02" />
    <default-tied-status code="5" />
  </iati-activity>
</iati-activities>
PetyaKangalova commented 4 years ago

@tahb thanks for the additional information. It does look like a bug- I have also tested with Madhukar's file. @rolfkleef , one to look into and provide an update on Github?

rolfkleef commented 4 years ago

This should work better now. The Validator was reprocessing uploaded files every 48 hours, so the queue became too big once there were some 20,000 files added to test integration with the Datastore.

PetyaKangalova commented 4 years ago

I just spoke to Madhu and tested myself but looks like the file still gets stuck at step 2. I am not really sure whether it is again another issue with some of the schema tests that stops the tool from running full validation?

Error 1824 Element 'value', attribute 'value-date': 'NULL' is not a valid value of the atomic type 'xs:date'.
PetyaKangalova commented 4 years ago

I managed to find a work around. Once the schema error with the ''value-date" was fixed, I re-uploaded the file and it successfully went through the validator: https://test-validator.iatistandard.org/view/dqf/files/b948ad4e-3f15-47b5-acd7-add5833aa610?isTestfiles=true

Will still keep open as there is a bug that has to be looked at. @rolfkleef

rolfkleef commented 4 years ago

this is working now, the invalid dates don't break the rules anymore

PetyaKangalova commented 4 years ago

Thanks for the update @rolfkleef . I have now tested with @tahb file and that works fine. When value date is missing, it returns the error message. However, when I tested with Madhu's file the validator still gets stuck at step 2. Element 'value', attribute 'value-date': 'NULL' is not a valid value of the atomic type 'xs:date'.

rolfkleef commented 4 years ago

This should now work, there are test scenarios for all date fields in activities and organisations files. I don't have Madhu's file @PetyaKangalova, so I can't do a test with that one.

rolfkleef commented 4 years ago

it turned out somewhere in the process only files with lowercase .xml extensions were selected, Madhu's file had uppercase .XML... the system now works with any filename extension

PetyaKangalova commented 4 years ago

Thanks @rolfkleef I tested and all works now so closing the issue.