Look into data rejected by ET Elasticsearch due to changed type
See original GitHub issueWhat should we do?
We have received emails this morning from Google error reporting that the ET production Elasticsearch has rejected some modeler error data, specifically the json.message.product.internals.deployment.error
field that contained a string
instead of a long
.
The reason behind this is that elasticsearch is trained every morning depending on which data comes in first on this day. Today this happens to be the value 20
of type long
. So today, only values of this type are going to be accepted by elasticsearch for this specific field. Tomorrow, this could change back to a string if the first value that Elasticsearch receives is of type string
again.
Since you have sent a string
(mostly DIAGRAM_PARSE_ERROR
) for this field for 498 of the last 500 records, we want to make you aware of this and suggest you look into whether or not there is anything that needs to be changed in the way the errors are sent to ET.
Here is a link to the ET production Kiban where you can check out what these error messages have looked like in the past weeks up until this morning.
/cc @casulond (Thanks for pointing this out and helping to analyze it!) and @dlavrenuek (Our new/current medic, could you have an eye on this as well?)
Why should we do it?
The data that is rejected by Elasticsearch will not show up in Kibana to be analyzed by you and might distort your analysis of the usage data.
Issue Analytics
- State:
- Created 3 years ago
- Comments:9 (5 by maintainers)
Top GitHub Comments
Quick update: we discussed and decided to improve the errorHandling in DeploymentTool. (See reasoning ). This would be released then next month (09.02.) and we should then
Please note that old Modelers would still have the existing behavior. So would it still be possible to allow for data types
long
andstring
likewise on ET side?I will follow-up with a PR, but leave this issue open to track overall progress 👍
Thanks for highlighting and the first analysis. I looked into it from Modeler perspective and so far only have a status update (and no fix yet unfortunately) :
error.code
20
is sent, while mostly a String (DIAGRAM_PARSE_ERROR
,FORBIDDEN
, …) is sent.20
is valid (yet we need to find what it means 😉 ). In this case, we might just ensure to stringify it / or E.T. might make sure to allow both types (as @btepe said). However, lets not discuss this before having understood why20
is sent.error.code
is extracted from thedeployment.error
event, which is fired by the DeploymentToolerror.code
to some string.saveProcessDefinition
I will sync with the team about this direction for the solution and follow-up.