Michael Ghen created UNOMI-211: ---------------------------------- Summary: Logging for "Failed to Parse" ElasticSearch errors Key: UNOMI-211 URL: https://issues.apache.org/jira/browse/UNOMI-211 Project: Apache Unomi Issue Type: Improvement Components: core Affects Versions: 1.3.0-incubating Reporter: Michael Ghen
I have been noticing a lot of 204 errors which tend to mean something failed. This is one of those issues and I think many people might stumble onto this and get confused. The problem happens when some invalid JSON is created that Elasticsearch does not like. In this case, I have a key value pair in the properties of a profile that looks like: {code:java} { "itemId": "f283309c-9bdc-11e8-9127-0a58ac100323", "itemType": "profile", "properties": { "firstName": "Mike", "lastName": "Ghen", "": "" # Something invalid that a programming language may form }, "systemProperties": {}, "segments": [], "scores": {}, "consents": {} }{code} When posted to update a profile with the `"": ""` key value, you'll get a 204 error. While this might be a silly ES error, I would expect Unomi to return such in the reponse. The 204 response code is not documented. The expected result should be a 415 error code and even better if the error came back in the reponse. When I looked into the Unomi logs I found this error: {code:java} Caused by: java.lang.IllegalArgumentException: object field starting or ending with a [.] makes object resolution ambiguous: [] {code} Which helped me trace the error down in my profile (which has 200 key value pairs). It would be ideal if Unomi could return this "Caused by" error message and a 415 for situations like this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)