Error logs
Intelligent Recommendations creates an error log for each data object that the service processes in your Azure Data Lake Storage. The error log is written back to the Data Lake Storage account. If you have issues with data configuration, use this article to understand the errors reported in the log and how to correct them.
This article lists the types of errors in the log found by the Intelligent Recommendations service, what they mean, and tips on how to resolve them.
When errors are corrected, Intelligent Recommendations picks up the new data automatically and processes the changes during the next periodic modeling cycle. To learn more about this process, go to Manually trigger modeling.
Types of errors
Use the following table to understand the different types of errors that may be returned by Intelligent Recommendations.
Some types of errors cause a row to be dropped from processing, while other types of errors might be fatal and cause the cooking pipeline to stop processing entirely.
For errors that cause the row to be dropped from processing, if it's widespread in the input data, then it may result in product poor quality or even empty results.
Error type | Description | Suggested resolution |
---|---|---|
AttributeValueNotAllowed | An attribute is using a reserved or improper value. | The "0" value is reserved in the system. If possible, change the value for this attribute. For more information, go to Catalog data entities. |
DataTypeMismatch | The format of a specified data type is incorrect. | Check your formatting carefully and ensure there aren't any improper characters or spaces in either the model.json or Data Contract. For more information on formatting, see our Data Contract Formatting Guidelines. |
EmptyMandatoryAttribute | One of the mandatory attributes in a row is empty. | Fill in the missing data. |
InvalidGuidIdFormat | If the system is set to work with ItemID GUID types, all the IDs should be GUIDs. | Make the ItemID type consistent across all rows. |
InvalidIdFormat | If the system is set to work with alphanumeric (16) ItemID types, all the IDs should be alphanumeric (16). | Make the ItemID type consistent across all rows. |
ImageContentIsEmpty | The downloaded image is empty. | Check the image URL. |
ImageDownloadFailed | Images must be on Data Lake Storage and protected with authentication (non-anonymous access). | Check the image URL. |
ImageMalwareDetected | Malware scan detected an issue with the image. | Check the image URL. |
ImageNotFound | Image wasn't found in the specified URL. | Check the image URL. |
ImageSizeLargerThanAllowed | Image is bigger than the maximum size allowed. | Check the image URL. |
ImageUnexpectedContentType | Image URL contains unexpected content type. | Check the image URL. |
MalwareDetected | Check the image files. They might be infected. | Check the image URL. |
InvalidListName | Ensure the List Name matches the documentation. | For more information, go to Recommendations Enrichment data entities. |
InvalidDateFormat | In the ItemsAndVariants input, the release date isn't in the supported date-time format yyyy-MM-ddTHH:mm:ss.fffZ . |
Confirm that your date-time format matches the requirements in our Data Contract schema, or leave the release date blank. |
InvalidListAvailabilityRange | The Start Date should be earlier than End Date, and both should be non-empty. | Check the dates of the availabilities. For more information, go to Catalog data entities. |
UniqueAttributeCountExceedsThreshold | Some attributes are limited in terms of unique values. This error means the Intelligent Recommendations service has reached data size beyond supported limits. | If this error occurs, and you're unable to resolve the issue, go to Support. |
CsvInvalidFormat | Input data entity may have the wrong CSV format. | The error log file will indicate to the client the location of the error and more details on the error. For more information, see the Data Contract Data Format Guidelines. |
MissingAttribute | A specified data entity doesn't contain all required attributes. | For more information regarding what the required attributes of specific data entities are, see the Data contract overview. |
MandatoryInputIsMisssing | The model.json file is missing. | Reconfirm that you've correctly uploaded your model.json files to your storage account underneath the ir_root folder. Secondly, check that the modeling resource connection string is pointing to the folder that has the model.json file. If your model.json file has been modified, is broken, or missing, you can download a fresh model.json file from the Data Contract and add it to your ir_root folder. |
MulitpleFilterTypes | Reco_ItemAndVariantFilters contains a filter name with more than one filter type(s). | Review the Data contract and confirm that all values related to a specific FilterName all have the same FilterType. For more information, see our Item and Variant Filters guidelines. |
NonNumericFilterValue | Numeric filters assume all the values are numeric. | Change filter to numeric data. |
TotalLineCountExceedsThreshold | Input data entities currently exceed the lines count threshold. | The service has a default threshold for the number of unique values and combinations for certain data entities and values. Check the log files to see where is error is occurring and follow the Data Contract formatting guidelines to identify the proper thresholds for each data entity. |
UnexpectedColumnCount | You're either missing or have more columns than allowed per the Data Contract. Some columns may have optional values and can be left empty, but all columns must be present for the service to work correctly. | For non-mandatory columns or unavailable data, leave the column empty. Don't remove columns. There should be exactly 12 columns in the input schema. Improperly escaped strings might contain commas and break the column count. Don't edit the model.json file, which could break your data contract. If your model.json file has been modified or broken, you can download a fresh model.json file from the Data Contract. |
UniqueAttributeCountExceedsThreshold | Input data entities currently exceed the unique values/combinations count threshold. | The service has a default threshold for the number of unique values and combinations for certain data entities and values. Check the log files to see where is error is occurring and follow the Data Contract formatting guidelines to identify the proper thresholds for each data entity. |
UnsupportedFilterType | The service suspects you're using an unsupported filter type. | Ensure the filter type is one of the supported values in the documentation.For more information, go to Catalog data entities. |
DistinctValueViolation | The ItemsAndVariants.csv has duplicate variant IDs. Check the logs for the item variant ID with duplicates. | If duplicates are identified in the data contract, the service will stop processing the relevant data entity so that scenario that uses the data entity won't be processed. This error will trigger between the first few minutes or within the hour depending on the quantity of data. To resolve, remove any duplicates and restart the modeling cycle. |
DistinctValueViolation | The Interactions.csv contains two different Master items with the same variant ID. Check the logs for the item IDs that have the same variant ID. | If duplicates are identified in the data contract, the service will stop processing the relevant data entity so that scenario that uses the data entity won't be processed. This error will trigger between the first few minutes or within the hour depending on the quantity of data. To resolve, remove any duplicates and restart the modeling cycle. |
UniqueAttributesCombinationExceedsThreshold | There's an input data combination that has exceeded its limit. For example: itemId, variantId unique count cross limit. | Check the log files to see where the error is occurring and follow the Data Contract formatting guidelines to identify the proper thresholds for each data entity. |
MaxUniqueAttributeCountPerItemExceedsThreshold | An input data combination has crossed a limit, which is per product. For example: number of different images per item is crossing the limit. | Check the log files to see where the error is occurring and follow the Data Contract formatting guidelines to identify the proper thresholds for each data entity. |
Internal | General error; any error other than the ones listed that couldn't be identified. | If this error occurs, and you're unable to resolve the issue, Contact our Team. |
Example log file
Here's an example of a log file. The response contains the following sections:
- TotalRecordCount: The total number of rows processed correctly.
- TotalDroppedRecords: The total number of rows that were dropped due issues with the data configuration.
- Errors: The types of errors discovered and grouped into categories. Each error type includes the total number of rows and a sample of the mis-formatted data.
In the example given, you'll notice that two types of errors are returned. The first error "EmptyMandatoryAttribute" shows that there's an ItemId currently left with an empty string. The second error "InvalidIdFormat" references an invalid format for ItemIds and examples of which ItemIds are configured incorrectly.
{
"TotalRecordCount": 12803,
"TotalDroppedRecords": 69,
"Errors": [
{
"ErrorCategory": "EmptyMandatoryAttribute",
"ColumnName": "ItemId",
"ErrorCount": 1,
"Samples": [
""
]
},
{
"ErrorCategory": "InvalidIdFormat",
"ColumnName": "ItemId",
"ErrorCount": 68,
"Samples": [
"6.92E+13",
"4.18E+171",
"5.74E+13",
"6.70E+36",
"9.95E+11",
"5.13E+23",
"9.26E+14",
"1.02E+11",
"5.43E+14",
"9.07E+80"
]
}
]
}
Still need help?
If issues occur that 'sn't included in this table, go to Support for information on how to reach the Intelligent Recommendations support team.
See also
Set up error logging
Data contract overview
Intelligent Recommendations API reference
API Status Codes
Quick start guide: Set up and run Intelligent Recommendations with sample data
Deployment overview