{"action":"created","issue":{"url":"https://api.github.com/repos/aphyr/riemann/issues/514","labels_url":"https://api.github.com/repos/aphyr/riemann/issues/514/labels{/name}","comments_url":"https://api.github.com/repos/aphyr/riemann/issues/514/comments","events_url":"https://api.github.com/repos/aphyr/riemann/issues/514/events","html_url":"https://github.com/aphyr/riemann/pull/514","id":57669990,"number":514,"title":"bad metrics submitted to graphite server  to be set to -1 instead of throwing a stack trace","user":{"login":"maguec","id":345153,"avatar_url":"https://avatars.githubusercontent.com/u/345153?v=3","gravatar_id":"","url":"https://api.github.com/users/maguec","html_url":"https://github.com/maguec","followers_url":"https://api.github.com/users/maguec/followers","following_url":"https://api.github.com/users/maguec/following{/other_user}","gists_url":"https://api.github.com/users/maguec/gists{/gist_id}","starred_url":"https://api.github.com/users/maguec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maguec/subscriptions","organizations_url":"https://api.github.com/users/maguec/orgs","repos_url":"https://api.github.com/users/maguec/repos","events_url":"https://api.github.com/users/maguec/events{/privacy}","received_events_url":"https://api.github.com/users/maguec/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-02-13T23:53:51Z","updated_at":"2015-02-14T00:00:12Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/aphyr/riemann/pulls/514","html_url":"https://github.com/aphyr/riemann/pull/514","diff_url":"https://github.com/aphyr/riemann/pull/514.diff","patch_url":"https://github.com/aphyr/riemann/pull/514.patch"},"body":"Often bad metrics are sent to riemann in graphite form\r\n\r\nFor example:\r\n```\r\ncollectd.prod.role.hosta_example_com.statistc.foo-example nan 1423864504\r\n```\r\n\r\nWhich causes a stack exception to be thrown, so instead set them to -1 with a test included\r\n\r\n```\r\nWARN [2015-02-13 13:55:04,742] defaultEventExecutorGroup-2-3 - riemann.transport.tcp - TCP handler caught\r\nio.netty.handler.codec.DecoderException: java.lang.RuntimeException: Graphite server parse error (NaN metric): \"collectd.prod.role.hosta_example_com.statistc.foo-example nan 1423864504 \"\r\n        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99)\r\n        at riemann.transport.graphite.proxy$io.netty.handler.codec.MessageToMessageDecoder$ff19274a.channelRead(Unknown Source)\r\n        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)\r\n        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)\r\n        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)\r\n        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)\r\n        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)\r\n        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:161)\r\n        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)\r\n        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)\r\n        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)\r\n        at io.netty.channel.epoll.EpollSocketChannel$EpollSocketUnsafe.epollInReady(EpollSocketChannel.java:722)\r\n        at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:326)\r\n        at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:264)\r\n        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)\r\n        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)\r\n        at java.lang.Thread.run(Thread.java:745)\r\nCaused by: java.lang.RuntimeException: Graphite server parse error (NaN metric): \"collectd.prod.role.hosta_example_com.statistc.foo-example nan 1423864504 \"\r\n        at riemann.transport.graphite$graphite_frame_decoder$fn__5167.invoke(graphite.clj:89)\r\n        at riemann.transport.graphite.proxy$io.netty.handler.codec.MessageToMessageDecoder$ff19274a.decode(Unknown Source)\r\n        at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)\r\n        ... 16 more\r\n```"},"comment":{"url":"https://api.github.com/repos/aphyr/riemann/issues/comments/74348727","html_url":"https://github.com/aphyr/riemann/pull/514#issuecomment-74348727","issue_url":"https://api.github.com/repos/aphyr/riemann/issues/514","id":74348727,"user":{"login":"aphyr","id":3748,"avatar_url":"https://avatars.githubusercontent.com/u/3748?v=3","gravatar_id":"","url":"https://api.github.com/users/aphyr","html_url":"https://github.com/aphyr","followers_url":"https://api.github.com/users/aphyr/followers","following_url":"https://api.github.com/users/aphyr/following{/other_user}","gists_url":"https://api.github.com/users/aphyr/gists{/gist_id}","starred_url":"https://api.github.com/users/aphyr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aphyr/subscriptions","organizations_url":"https://api.github.com/users/aphyr/orgs","repos_url":"https://api.github.com/users/aphyr/repos","events_url":"https://api.github.com/users/aphyr/events{/privacy}","received_events_url":"https://api.github.com/users/aphyr/received_events","type":"User","site_admin":false},"created_at":"2015-02-14T00:00:12Z","updated_at":"2015-02-14T00:00:12Z","body":"If you'd like to silently drop or log a one-liner message instead of throwing, I'm fine with that too; but I don't think we should accept messages that don't conform to the protocol."}}