Comments (11)
It looks like the management DB ended up storing details for multiple different connection processes under the same name. We assume that each connection has a unique name.
So either there's some way for connection names to clash, or they are not getting removed correctly in this case.
from rabbitmq-management.
Maybe i am able to contribute a little to this, we also have the stomp plugin running and due to:
we quite frequently have stale connections with the same src_ip:src_port -> dst_ip:dst_port as running
connections, when we try to close them via the management frontend nothing happens.
Once we have those entries, the node running the management db keeps allocating memory until
it crashes. I recently managed to attach an observer with the following result, which showed all
memory going into the process with the name rabbit_mgmt_db.
I can provide the dump if needed.
Martin
from rabbitmq-management.
Interesting. rabbit_mgmt_db
is part of the management plugin.
Do MCollective clients immediately re-connect after being disconnected?
from rabbitmq-management.
Also, do you configure the management plugin in any way?
from rabbitmq-management.
As to the reconnect: yes they do.
As to the config:
{rabbitmq_management, [
{listener, [{port, 15671},
{ssl, true}
]},
{sample_retention_policies,
[{global, [{60, 5}, {3600, 60}, {86400, 1200}]},
{basic, []},
{detailed, []}]
}
]}
from rabbitmq-management.
Yesterday i updated rabbitmq to the latest version and now i get a new message from the web ui
The management statistics database currently has a queue of 385536 events to process. If this number keeps increasing, so will the memory used by the management plugin. You may find it useful to set the rates_mode config item to none.
With the queue constantly growing and with it the memory of cause.
On the Cluster i can see the following duplicate connections:
10.173.0.251:33639 -> 10.67.76.151:61613
10.173.0.251:33639 -> 10.67.76.151:61613
10.173.0.251:33639 -> 10.67.76.151:61613
10.173.1.58:39900 -> 10.67.76.151:61613
10.173.1.58:39900 -> 10.67.76.151:61613
With rabbitmqctl report showing :
<[email protected]> 10.173.0.251:33639 -> 10.67.76.151:61613 (1) <[email protected]> 1 guest /mcollective false false 10 0 0 0 0 0 0 running
<[email protected]> 10.173.0.251:33639 -> 10.67.76.151:61613 (1) <[email protected]> 1 guest /mcollective false false 11 0 0 0 0 0 0 running
<[email protected]> 10.173.0.251:33639 -> 10.67.76.151:61613 (1) <[email protected]> 1 guest /mcollective false false 10 0 0 0 0 0 0 running
trying to kill the connection vie rabbitmqctl results in:
rabbitmqctl close_connection '<[email protected]>' "go away"
Closing connection "<[email protected]>" ...
Error: {not_a_connection_pid,<5604.28426.120>}
Erlang observer cant find the pid either, is there any way to manually delete the entry from the
table ?
Thanks
Martin
from rabbitmq-management.
See rabbitmq/rabbitmq-stomp#8. We identify connections using STOMP socket's IPs and ports. So at some point ephemeral port range rolls over and we get duplicate connection names.
I believe this can be closed. Please leave a comment if you think otherwise.
from rabbitmq-management.
Sorry for writing in the closed thread, but I'm just curious whether this issue has already fixed in the version 3.5.2, because we can still see channels with the same name in the management plugin and still get error like I posted in the rabbitmq-users forum(link in the first message of this thread).
Thanks in advance
Sem
from rabbitmq-management.
@SeriousSem rabbitmq/rabbitmq-stomp#8 has made it into 3.5.2 and the fix was confirmed by @martink2.
from rabbitmq-management.
@michaelklishin we are still facing this problem in the 3.5.2.
=ERROR REPORT==== 10-Jun-2015::14:19:14 ===
webmachine error: path="/api/channels/{ip}"
{exit,
{{{case_clause,[[<0.7527.210>],[<0.14129.210>]]},
[{rabbit_mgmt_db,created_event,3,[]},
{rabbit_mgmt_db,handle_call,3,[]},
{gen_server2,handle_msg,2,[]},
{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,247}]}]},
{gen_server2,call,
[{global,rabbit_mgmt_db},
{get_channel,<<"{ip} -> 0.0.0.0:0 (1)">>,
{no_range,
{range,1433938690000,1433938750000,5000},
no_range,no_range}},
infinity]}},
[{gen_server2,call,3,[]},
{rabbit_misc,with_exit_handler,2,[]},
{rabbit_mgmt_wm_channel,is_authorized,2,[]},
{webmachine_resource,resource_call,3,[]},
{webmachine_resource,do,3,[]},
{webmachine_decision_core,resource_call,1,[]},
{webmachine_decision_core,decision,1,[]},
{webmachine_decision_core,handle_request,2,[]}]}
Any points what could I forget to eliminate this error?
from rabbitmq-management.
@SeriousSem as rabbitmq/rabbitmq-stomp#8 explains, the issue is in the event emitting part. Do you use STOMP? Something else? Do you observe connections that never go away?
A single stack trace does not explain much. I highly recommend starting a discussion on the mailing list first.
from rabbitmq-management.
Related Issues (20)
- unable to grant a user permissions to a custom topic via web ui HOT 2
- Add headers to HTTP logging HOT 2
- jquery 3.4.1 has security vulnerabilities and needs to be upgraded
- Make it possible to configure stats_event_max_backlog via new style format HOT 1
- Respect management.load_definitions for backwards compatibility
- UI fails to load with a ReferenceError: login_route is not defined in Firefox after an upgrade HOT 4
- Make it possible to configure rabbitmq_management.management_db_cache_multiplier via rabbitmq.conf
- When upgrading to a new version, JS is cached HOT 1
- Get Message can't deal unicode HOT 4
- Double encoded JSON payload 500s HOT 5
- Failed healthchecks return HTTP 200 status HOT 4
- UI: Policy definition with empty value not sent to API HOT 2
- Expose key individual health checks via HTTP API
- The 'unack' value is negative number HOT 2
- Disable HTTP OPTIONS method or make it configurable HOT 2
- unexpected_trailing_sections,{{'v1_0.delivery_annotations', HOT 1
- Missing confirm metrics from /api/exchanges/?message_stats HOT 2
- API request to aliveness-test when message-ttl is 0 results in a 500 HOT 1
- TLS listener port is reported incorrectly by `rabbitmq-diagnostics listeners` HOT 8
- Documentation: Example of Apache Reverse Proxy config does not work with 2.4+ 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 rabbitmq-management.