Getting Data In

ERROR JsonLineBreaker causes

pgriffith
Loves-to-Learn

I've run across two major causes of JsonLineBreaker errors.

One cause is character set encoding.  It's not enough to want, or intend, to use the UTF-8 character set for writing your JSON or JSONL.  You must succeed.  Use a UTF-8 validator as the first step in debugging a JsonLineBreaker error.   validation - How to check whether a file is valid UTF-8? - Stack Overflow

There are some JSON validators out there.  Not all of them check the character set encoding.  (I should add, JSON can also be written using UTF-16 or UTF-32.)

A second cause of JsonLineBreaker errors is allowing Splunk to read your JSON or JSONL file, while you are writing it.  Splunk is very aggressive about reading files while you're still writing to them.  If Splunk hits end-of-file on a JSON or JSONL file before it's fully formed, that can cause JsonLineBreaker errors. 

There's a simple trick to avoid this problem.  Suppose you have Splunk configured to read files ending with .json or .jsonl.  Write your JSON to a file with an name Splunk isn't configured to read.  Call it c:\temp\my_important_json_file.tmp.  When you get finished, close the file.  Then rename it from my_important_json_file.tmp to my_important_json_file.json.

There may be smarter ways of handling this race condition between Splunk and your JSON writer, but this one works.

Labels (1)
0 Karma
Get Updates on the Splunk Community!

Unlock Database Monitoring with Splunk Observability Cloud

  In today’s fast-paced digital landscape, even minor database slowdowns can disrupt user experiences and ...

Purpose in Action: How Splunk Is Helping Power an Inclusive Future for All

At Cisco, purpose isn’t a tagline—it’s a commitment. Cisco’s FY25 Purpose Report outlines how the company is ...

[Upcoming Webinar] Demo Day: Transforming IT Operations with Splunk

Join us for a live Demo Day at the Cisco Store on January 21st 10:00am - 11:00am PST In the fast-paced world ...