You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tez.apache.org by "Sergey Shelukhin (JIRA)" <ji...@apache.org> on 2017/08/03 19:32:00 UTC

[jira] [Updated] (TEZ-3812) race condition in ssl shuffle

     [ https://issues.apache.org/jira/browse/TEZ-3812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Shelukhin updated TEZ-3812:
----------------------------------
    Summary: race condition in ssl shuffle  (was: race condition in ssl shuffle?)

> race condition in ssl shuffle
> -----------------------------
>
>                 Key: TEZ-3812
>                 URL: https://issues.apache.org/jira/browse/TEZ-3812
>             Project: Apache Tez
>          Issue Type: Bug
>            Reporter: Sergey Shelukhin
>
> ShuffleUtils does the following:{noformat}
> if (sslFactory == null) {
>         synchronized (HttpConnectionParams.class) {
>           //Create sslFactory if it is null or if it was destroyed earlier
>           if (sslFactory == null || sslFactory.getKeystoresFactory().getTrustManagers() == null) {
>             sslFactory =
>                 new SSLFactory(org.apache.hadoop.security.ssl.SSLFactory.Mode.CLIENT, conf);
>             try {
>               sslFactory.init();
> {noformat}
> It is possible for a thread to get sslFactory that has been assigned but not initialized. It could result in e.g. the hostnameVerifier being null:
> {noformat}
> Caused by: java.lang.IllegalArgumentException: no HostnameVerifier specified
> at javax.net.ssl.HttpsURLConnection.setHostnameVerifier(HttpsURLConnection.java:265)
> at org.apache.tez.http.SSLFactory.configure(SSLFactory.java:219)
> at org.apache.tez.http.HttpConnection.setupConnection(HttpConnection.java:98)
> at org.apache.tez.http.HttpConnection.connect(HttpConnection.java:137)
> at org.apache.tez.http.HttpConnection.connect(HttpConnection.java:123)
> at org.apache.tez.runtime.library.common.shuffle.orderedgrouped.FetcherOrderedGrouped.setupConnection(FetcherOrderedGrouped.java:340)
> at org.apache.tez.runtime.library.common.shuffle.orderedgrouped.FetcherOrderedGrouped.copyFromHost(FetcherOrderedGrouped.java:260)
> at org.apache.tez.runtime.library.common.shuffle.orderedgrouped.FetcherOrderedGrouped.fetchNext(FetcherOrderedGrouped.java:178)
> at org.apache.tez.runtime.library.common.shuffle.orderedgrouped.FetcherOrderedGrouped.callInternal(FetcherOrderedGrouped.java:191)
> at org.apache.tez.runtime.library.common.shuffle.orderedgrouped.FetcherOrderedGrouped.callInternal(FetcherOrderedGrouped.java:54) 
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)