This content has been marked as final. Show 3 replies
We've run into similar problems during some of our Replication Manager testing.
One way to find out more about what port 8080 is doing if you are on Linux or a similar OS is to do the following:
lsof -i TCP:8080
The output will contain PIDs. You can see what a PID (e.g. 3892) is running with the following:
ps -p 3892
One issue we ran into was that our tests were sometimes using ephemeral ports, which can be arbitrarily assigned by the OS for other purposes. We resolved this issue by making sure we avoid using an ephemeral port on the OS where we are running a test. You may want to check if 8080 is in the ephemeral port range for your OS. Here's a link that explains more about ephemeral ports and how to determine the range on various operating systems:
Thanks you your reply.
I managed to replicate the problem, just before seeing your post.
In a few words, I can panic my database and eventually kill JVM by sending a simple http request to the replication port.
Based on your suggestions, we need to make some firewall and port configuration on the server, to allow only valid requests reaching the replication port.
My understanding, is that the replication manager does not validate incoming requests. I think it makes sense for the manager to check (a) if a request comes from one of the (defined in configuration) remote hosts and (b) if the request satisfies some information criteria. Of course, I'm not aware of implementation restrictions and problems, but I think this will be a nice future improvement, especially if the database needs shutdown and recovery.
Again, thanks for your reply and thanks for sharing the ephemeral ports link.
Edited by: Stelios Limnaios on Jul 1, 2011 1:21 AM
Thanks for your enhancement request. Something similar is already on our list for future consideration, and I have forwarded your specific request to it so that your ideas are also considered.