errorMsg: Invalid value path error when loading/processing data


I’m self posting and answering this question as others may run into this.

When loading data and checking c3Grid(DataLoadUploadLog.fetch()), you may see an error like this:

errorMsg: Invalid value path ‘MyField1<*>’ at 8 for type CanonicalMyType

This means that there is some mismatch between the field defined in the canonical CanonicalMyType and the input file’s header line. At least two things to check:

  1. Check that the spelling of header matches the spelling of field names in your canonical type definition - remember this is case sensitive. For example, maybe your input file header line uses myField1, but your canonicalType defines MyField1

  2. Check the data file for hidden characters that may be throwing off the loader. In one such example, I received a file from a client where I could not see anything wrong with the file in vi, but when looking at the file with the linux “more” command, I could see there was a UTF-8 BOM (byte order mark) contained in the file. It looks like this:

<U+FEFF>MyField1,MyField2,MyField3, (etc…)

There are multiple ways to remove the byte order mark. One way is to open the file in vi and save with additional options:

:set nobomb   (this sets the option to remove BOM)
:wq           (write out the file and quite)

Then, re-upload the file which should trigger a re-process of the data.

1 Like