Seeing peer tcp connections for debugging

8 views
Skip to first unread message

Andrew Mellinger

unread,
Jan 13, 2017, 11:05:16 AM1/13/17
to project-voldemort

All,

Is there a way to programmatically see which of the peer a server has connections to?  I'm using an embedded server and I'd like to be able to extract which of the other servers it communicating.  (Based on my understanding of DHT approaches, it is usually some subset of full-mesh.)  I haven't dug into Voldemort's transport, so it may use transient connections and this may not be a nonsense question.

Thanks!
-Andrew

Arunachalam

unread,
Jan 13, 2017, 11:22:30 AM1/13/17
to project-...@googlegroups.com
The connection information is not exposed via admin commands. Voldemort server has both client and admin connections. 

But usually I have success with netstat commands (don't recall the exact parameters, the one that lists all the tcp connections for a process) and some grep. In some really bad situations, I usually resort to heapdump and look for client and admin connections, but that is only few times.

Thanks,
Arun.





--
You received this message because you are subscribed to the Google Groups "project-voldemort" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-voldemort+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/project-voldemort.
For more options, visit https://groups.google.com/d/optout.

Brendan Harris (a.k.a. stotch on irc.oftc.net)

unread,
Jan 13, 2017, 12:53:50 PM1/13/17
to project-voldemort
Hi Andrew,

As Arun pointed out, there's not an exposed way via the existing tooling to see the connections between the clients and the servers.

Your question is a little hard to understand, though. Perhaps if you explained a little more (offered some more details), we can offer some suggestions to you.

One thing to note is that the voldemort client maintains permanent connections to all voldemort servers in a cluster. So, you're not going to derive how the key is hashed based on what server the client is connecting to. If you're trying to understand how a key is hashed and where its Nary partitions are, there is a Java class you can use for that and there is also a vadmin.sh command you can use to query a single key and find all of it replicas.

Brendan
Reply all
Reply to author
Forward
0 new messages