Description
Doing a jstack on a region server process shows that the IPC Reader threads are not created as daemon threads whereas IPC Server threads (and other types are).
This could cause the region server to not exit after the main method does if for some reason these non-daemon threads don't exit themselves.
Servers are daemon
"IPC Server handler 7 on 60020" daemon prio=10 tid=0x00002aaabc998800 nid=0x7157 waiting on condition [0x0000000044b4e000]
"IPC Server handler 6 on 60020" daemon prio=10 tid=0x00002aaabc996800 nid=0x7156 waiting on condition [0x0000000044a4d000]
"IPC Server handler 5 on 60020" daemon prio=10 tid=0x00002aaabc995000 nid=0x7155 waiting on condition [0x000000004494c000]
Readers are not
"IPC Reader 5 on port 60020" prio=10 tid=0x00002aaabc47d000 nid=0x712a runnable [0x0000000043033000]
"IPC Reader 4 on port 60020" prio=10 tid=0x00002aaabc462000 nid=0x7129 runnable [0x0000000042f32000]
"IPC Reader 3 on port 60020" prio=10 tid=0x00002aaabc447000 nid=0x7128 runnable [0x0000000042e31000]