Hi there,
We just upgrade to ROS melodic from kinetic recently, and found that node connections take too long to establish, sometimes even over 2 seconds.
Our application is very time sensitive, and this affects a lot.
After some debug, I found that the issue is caused by countFreeFDs() function in xmlrpcpp.
It's comments say:
int XmlRpcServer::countFreeFDs() {
// NOTE(austin): this function is not free, but in a few small tests it only
// takes about 1.2mS when querying 50k file descriptors.
But inside docker container, file descriptors number usually is 1048576:
$ python -c "import resource; print(resource.getrlimit(resource.RLIMIT_NOFILE))"
(1048576, 1048576)
that takes a huge time to query.
docker version we are using is
$ docker --version
Docker version 19.03.5, build 633a0ea838
Any idea how to fix this? Thanks