Pipeline rule simulator: fields with timezone offset are incorrectly serialized/deserialized and lose the timezone information
Timezone information is lost when simulating a pipeline rule.
Expected Behavior
Timezone information should be preserved
Current Behavior
Create a rule using timezones, e.g.:
rule "x" when true then set_field(field: "1_Utctimestamp3", value: parse_unix_milliseconds( value: 1715673672000, timezone: "America/Denver") ); set_field(field: "1_Utctimestamp4", value: parse_unix_milliseconds( value: 1715673672000, timezone: "America/Toronto") ); end
When this is run in the simulator, the fields show up with the same UTC value in the results pane. Debugging confirmed that the pipeline interpreter returns the correct values.; however, the JSON data returned from system/pipelines/rule/simulate lacks the timezone offset. It is lost in serializing/deserializing.
This is a known Jackson/Joda issue.
Context
This does not affect the actual pipeline, since the problem only occurs when sending the results back to the frontend. However, simulator results should match the values from the running pipeline.
Your Environment
- Graylog Version: 6.1