Comments (3)
@sanel I still went ahead and created a pr
from riemann.
My investigation suggests that this particular java.lang.NullPointerException
is triggered by a Fetch v6 Response
that's got no Message Set
attached to it. The riemann.kafka code is getting a record
like this: {:key nil, :offset 7053063, :partition 2, :topic "riemann", :value nil}
and then (event nil)
is throwing the java.lang.NullPointerException
.
Shortly after this empty Fetch v6 Response
arrives, the client sends a deliberate LeaveGroup v1 Request
and gets disconnected. According to KIP-219 the empty Fetch v6 Response
may be a legitimate throttling behaviour from Kafka trying to signal to the client to slow down it's requests. However I'm not sure this is the reason because throttle_time_ms
in the empty Fetch v6 Response
is set to 0 whereas in my understanding it should be set to >0 in these throttling situations.
from riemann.
Actually, the bug could be here [1]. In essence, if it receive (event nil)
, it will try to evaluate to (nil :time)
causing exception. Instead, it should be (:time opts)
and (:time nil)
will correctly return nil.
@jamtur01 will you be able to commit it directly or should I create a PR for this? I think the fix looks too small for a PR machinery :D
diff --git a/src/riemann/common.clj b/src/riemann/common.clj
index 8c86ffe..c41d15f 100644
--- a/src/riemann/common.clj
+++ b/src/riemann/common.clj
@@ -139,7 +139,7 @@
(defn event
"Create a new event from a map."
[opts]
- (let [t (long (round (or (opts :time)
+ (let [t (long (round (or (:time opts)
(unix-time))))]
(map->Event (merge opts {:time t}))))
[1] https://github.com/riemann/riemann/blob/main/src/riemann/common.clj#L142
from riemann.
Related Issues (20)
- Slack notifications do not work with new slack app webhooks
- Which versions of riemann, if any, are susceptible to log4shell (log4j vulnerability)? HOT 1
- Docker image builds switched architecture HOT 2
- Store the events for riemann in an external database HOT 3
- functions using riemann.folds/count drops suddenly on high load HOT 2
- Logback needs update to 1.2.10 HOT 1
- [influxdb.clj] SSLSocketfactory not supported on JDK 9+ HOT 1
- Netty executor queue size is infinite resulting in GC pressure / OOM HOT 4
- Has 0.3.8 been retagged? HOT 1
- `-XX:-StackTraceInThrowable` causes a index out of bounds exception HOT 1
- amazonica throws RuntimeException on jdk 17/18
- Expired events sometimes have the `:time` field set to a value of type `Ratio` HOT 2
- `influxdb2` keeps accumulating background threads HOT 3
- Riemann becomes unresponsive when CPU Count count is increased HOT 9
- "Throttle" is not working as expected HOT 5
- Query of `riemann streams rate` & instrumentation HOT 1
- Update to Clojure 1.11.1 HOT 5
- Riemann writes not all messages to InfluxDB HOT 2
- Implement InfluxDB 2.0 plugin HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from riemann.