Bug #7267
Metacat replication got a handshake_failure message
100%
Description
I set up the replication between valley.duckdns.org(my local host) and mn-demo-7.test.dataone.org. It got the error message when they were both running java 1.7 and one was running java 1.8 and the other was running java 1.7. Actually the replication worked couple weeks ago:
metacat 20150721-16:52:18: [INFO]: ReplicationService.getURLStream - Before sending request to: https://valley.duckdns.org/metacat/servlet/replication?action=forcereplicate&server=mn-demo-6.test.dataone.org/knb/servlet/replication&docid=autogen.2015072109514747505.1&dbaction=INSERT [ReplicationLogging]
metacat 20150721-16:52:18: [ERROR]: Unexpected Throwable encountered. Logging and moving on: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure [ReplicationLogging]
metacat 20150721-16:52:18: [ERROR]: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1979)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1086)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:891)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:136)
at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:152)
at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:270)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:260)
at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:161)
at sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.http.impl.conn.CPoolProxy.invoke(CPoolProxy.java:138)
at com.sun.proxy.$Proxy19.receiveResponseHeader(Unknown Source)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:271)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:254)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
at org.dataone.client.rest.RestClient.doRequest(RestClient.java:294)
at org.dataone.client.rest.RestClient.doRequestNoBody(RestClient.java:230)
at org.dataone.client.rest.RestClient.doGetRequest(RestClient.java:148)
at edu.ucsb.nceas.metacat.replication.ReplicationService.getURLStream(ReplicationService.java:2315)
at edu.ucsb.nceas.metacat.replication.ReplicationService.getURLContent(ReplicationService.java:2291)
at edu.ucsb.nceas.metacat.replication.ForceReplicationHandler.run(ForceReplicationHandler.java:328)
at java.lang.Thread.run(Thread.java:745)
[ReplicationLogging]
History
#1 Updated by Jing Tao over 9 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
There were two local issues. First my local apache server (version 2.4, coming with mac os Yosemite) doesn't support tls 1.2. I had to install another apache server from mac ports.
Second issue, the certificate of mn-demo-6 and geotrust_intermediate certificate were changed. But my local ca path still contained the old version. After I replaced them, the replication works.