Source:
<code>public void connect() throws IOException { synchronized (lock) { if (!connected) { Socket socket = new Socket(); socket.setSoTimeout(readTimeoutMs); socket.setKeepAlive(true); socket.setTcpNoDelay(true); if (readBufferSize > 0) { socket.setReceiveBufferSize(readBufferSize); } if (writeBufferSize > 0) { socket.setSendBufferSize(writeBufferSize); } socket.connect(new InetSocketAddress(host, port), connectTimeoutMs); sslSocket = (SSLSocket) sslSocketFactory.createSocket(socket, host, port, true); ArrayList<String> protocolsList = Utils.splitString(sslConfig.sslEnabledProtocols, ","); if (protocolsList != null && protocolsList.size() > 0) { String[] enabledProtocols = protocolsList.toArray(new String[protocolsList.size()]); sslSocket.setEnabledProtocols(enabledProtocols); } ArrayList<String> cipherSuitesList = Utils.splitString(sslConfig.sslCipherSuites, ","); if (cipherSuitesList != null && cipherSuitesList.size() > 0 && !(cipherSuitesList.size() == 1 && cipherSuitesList.get(0).equals(""))) { String[] cipherSuites = cipherSuitesList.toArray(new String[cipherSuitesList.size()]); sslSocket.setEnabledCipherSuites(cipherSuites); } try { sslSocket.startHandshake(); } catch (IOException e) { <START> sslClientHandshakeCount.inc(); <END> throw e; } writeChannel = Channels.newChannel(sslSocket.getOutputStream()); readChannel = sslSocket.getInputStream(); connected = true; logger.debug( "Created socket with SO_TIMEOUT = (requested {}), SO_RCVBUF = (requested {}), SO_SNDBUF = (requested {})", sslSocket.getSoTimeout(), readTimeoutMs, sslSocket.getReceiveBufferSize(), readBufferSize, sslSocket.getSendBufferSize(), writeBufferSize); } } }</code><technical_language>this sslClientHandshakeExceptionCount</technical_language>

Target:
public void connect() throws IOException { synchronized (lock) { if (!connected) { Socket socket = new Socket(); socket.setSoTimeout(readTimeoutMs); socket.setKeepAlive(true); socket.setTcpNoDelay(true); if (readBufferSize > 0) { socket.setReceiveBufferSize(readBufferSize); } if (writeBufferSize > 0) { socket.setSendBufferSize(writeBufferSize); } socket.connect(new InetSocketAddress(host, port), connectTimeoutMs); sslSocket = (SSLSocket) sslSocketFactory.createSocket(socket, host, port, true); ArrayList<String> protocolsList = Utils.splitString(sslConfig.sslEnabledProtocols, ","); if (protocolsList != null && protocolsList.size() > 0) { String[] enabledProtocols = protocolsList.toArray(new String[protocolsList.size()]); sslSocket.setEnabledProtocols(enabledProtocols); } ArrayList<String> cipherSuitesList = Utils.splitString(sslConfig.sslCipherSuites, ","); if (cipherSuitesList != null && cipherSuitesList.size() > 0 && !(cipherSuitesList.size() == 1 && cipherSuitesList.get(0).equals(""))) { String[] cipherSuites = cipherSuitesList.toArray(new String[cipherSuitesList.size()]); sslSocket.setEnabledCipherSuites(cipherSuites); } try { sslSocket.startHandshake(); } catch (IOException e) { sslClientHandshakeErrorCount.inc(); throw e; } writeChannel = Channels.newChannel(sslSocket.getOutputStream()); readChannel = sslSocket.getInputStream(); connected = true; logger.debug( "Created socket with SO_TIMEOUT = (requested {}), SO_RCVBUF = (requested {}), SO_SNDBUF = (requested {})", sslSocket.getSoTimeout(), readTimeoutMs, sslSocket.getReceiveBufferSize(), readBufferSize, sslSocket.getSendBufferSize(), writeBufferSize); } } }