"java.net.SocketTimeoutException: Read timed out" while calling getPiwikReportURL

We got the error “java.net.SocketTimeoutException: Read timed out” while calling getPiwikReportURL, we suspect it’s due to the front-end connection pool maybe full, is that any soluation on it?

1 Like

Any one facing the same issue?

Hi @F_Man

What did you try to achieve?

Could i increase the connection pool of matomo web deamon? & where should i config

What kind of web server are you running? Java itself has nothing to do with Matomo.

1 Like

Windows Server with nginx

Hi @F_Man
Sorry, but we really don’t understand your problem with Matomo… There is no relation with java… :thinking:

Your Java socket is timing out (throws java.net.SocketTimeoutException: Connection timed out) means that it takes too long to get respond from other device and your request expires before getting response.

You can effectively handle it from client side by define a connection timeout and later handle it by using a try/catch/finally block. You can use the connect(SocketAddress endpoint, int timeout) method and set the timeout parameter:

Socket socket = new Socket();
SocketAddress socketAddress = new InetSocketAddress(host, port);
socket.connect(socketAddress, 12000); //12000 are milli seconds

From server side you can use the setSoTimeout(int timeout) method to set a timeout value. The timeout value defines how long the ServerSocket.accept() method will block:

ServerSocket serverSocket = new new ServerSocket(port);
serverSocket.setSoTimeout(12000);

So to avoid this exception in another way, you should keep the connection be alive using the method Socket.setKeepAlive() method although possibly you have not used the method setTimeout() , meaning asking the socket to unlimited block to receive.