influxdb-storage-exchange
influxdb-storage-exchange copied to clipboard
Internal error after upgrade to RabbitMQ v3.5.1 (from v3.4.4)
Hi! It looks like the plugin is broken after upgrading to RabbitMQ v3.5.1. Here are the logged errors:
** Reason for termination ==
** {function_clause,
[{influxdb_storage_lib,post,
[{exchange,
{resource,<<"/tc">>,exchange,<<"influxex">>},
'x-influxdb-storage',true,false,false,
[{<<"x-dbname">>,longstr,<<"tele_db">>},
{<<"x-user">>,longstr,<<"dbuser1">>},
{<<"x-password">>,longstr,<<"dbpass1">>}],
undefined,undefined,
{[],[]}},
{delivery,false,true,<0.5519.0>,
{basic_message,
{resource,<<"/tc">>,exchange,<<"mqttex">>},
[<<"db.sera1.sensor8">>],
{content,60,
{'P_basic',undefined,undefined,
[{<<"x-mqtt-publish-qos">>,byte,1},
{<<"x-mqtt-dup">>,bool,true}],
2,undefined,undefined,undefined,undefined,
undefined,undefined,undefined,undefined,
undefined,undefined},
none,none,
[<<"{\"value\": 29.1, \"time\": 1429190478889}">>]},
<<72,57,71,253,214,121,81,98,22,150,39,54,16,105,65,174>>,
true},
1,noflow}],
[{file,"src/influxdb_storage_lib.erl"},{line,32}]},
{influxdb_storage_exchange,route,2,
[{file,"src/influxdb_storage_exchange.erl"},{line,67}]},
{rabbit_exchange,route1,3,[]},
{rabbit_exchange,route,2,[]},
{rabbit_channel,handle_method,3,[]},
{rabbit_channel,handle_cast,2,[]},
{gen_server2,handle_msg,2,[]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]}
** Reason for termination ==
** {connection_died,
{shutdown,
{connection_closing,
{internal_error,541,
<<"<0.5516.0>:{function_clause,\n [{influxdb_storage_lib,post,\n [{exchange,\n {resource,<<\"/tc\">>,exchange,<<\"influxex\">>},\n 'x-influxdb-storage',true,false,false,\n [{<<\"x-dbname\">>,longstr,<<\"tele_db\">>},\n {<<\"x-user\">>,longstr,<<\"dbuser1\">>},\n {<<\"x-password\">>,longstr,<<\"dbpass1\">>}],\n undefined,undefined,\n {[],[]}},\n {delivery,false,true,<0.5519.0>,\n {basic_message,\n {resource,<<\"/tc\">>,exchange,<<\"mqttex\">>},\n [<<\"db.sera1.sensor8\">>],\n {content,60,\n {'P_basic',undefined,undefined,\n [{<<\"x-mqtt-publish-qos\">>,byte,1},\n {<<\"x-mqtt-dup\">>,bool,true}],\n 2,undefined,undefined,undefined,\n undefined,undefined,undefined,undefined,\n undefined,undefined,undefined},\n none,none,\n [<<\"{\\\"value\\\": 29.1, \\\"time\\\": 1429190478889}\">>]},\n <<72,57,71,253,214,121,81,98,22,150,39,54,16,105,\n 65,174>>,\n true},\n 1,noflow}],\n [{file,\"src/influxdb_storage_lib.erl\"},{line,32}]},\n {influxdb_storage_exchange,route,2,\n [{file,\"src/influxdb_storage_exchange.erl\"},{line,67}]},\n {rabbit_exchange,route1,3,[]},\n {rabbit_exchange,route,2,[]},\n {rabbit_channel,handle_method,3,[]},\n {rabbit_channel,handle_cast,2,[]},\n {gen_server2,handle_msg,2,[]},\n {proc_lib,init_p_do_apply,3,\n [{file,\"proc_lib.erl\"},{line,237}]}]}">>}}}}
** Reason for termination ==
** {connection_died,
{function_clause,
[{influxdb_storage_lib,post,
[{exchange,
{resource,<<"/tc">>,exchange,<<"influxex">>},
'x-influxdb-storage',true,false,false,
[{<<"x-dbname">>,longstr,<<"tele_db">>},
{<<"x-user">>,longstr,<<"dbuser1">>},
{<<"x-password">>,longstr,<<"dbpass1">>}],
undefined,undefined,
{[],[]}},
{delivery,false,false,<0.1389.0>,
{basic_message,
{resource,<<"/tc">>,exchange,<<"mqttex">>},
[<<"db.gorodconnect.287D14F905000078">>],
{content,60,
{'P_basic',undefined,undefined,
[{<<"x-mqtt-publish-qos">>,byte,0},
{<<"x-mqtt-dup">>,bool,false}],
1,undefined,undefined,undefined,undefined,
undefined,undefined,undefined,undefined,
undefined,undefined},
none,none,
[<<"{\"value\": 21.62, \"time\": 1429191432325.188}">>]},
<<35,1,199,187,60,194,84,223,176,95,160,42,71,159,92,
171>>,
false},
undefined,noflow}],
[{file,"src/influxdb_storage_lib.erl"},{line,32}]},
{influxdb_storage_exchange,route,2,
[{file,"src/influxdb_storage_exchange.erl"},{line,67}]},
{rabbit_exchange,route1,3,[]},
{rabbit_exchange,route,2,[]},
{rabbit_channel,handle_method,3,[]},
{rabbit_channel,handle_cast,2,[]},
{gen_server2,handle_msg,2,[]},
{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,247}]}]}}
Thanks!
By the way, note that I have a customized version of influxdb_storage_lib.erl, in which I have removed the checking for <application/json> content-type
property, here's its source: http://pastebin.com/VZrCn4E0
Sorry, closed by accident :)
+1 any progress on this issue ? Do you intend to support upgrade to Rabbit 3.5
Yes, it's on the to-do list, which is a bit long at the moment unfortunately.