You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by an...@apache.org on 2015/05/27 09:10:53 UTC

svn commit: r1681919 - in /lucene/dev/branches/branch_5x: ./ solr/ solr/core/ solr/core/src/test/org/apache/solr/cloud/

Author: anshum
Date: Wed May 27 07:10:52 2015
New Revision: 1681919

URL: http://svn.apache.org/r1681919
Log:
SOLR-7183: Fix Locale blacklisting for Minikdc based tests.(merge from trunk)

Modified:
    lucene/dev/branches/branch_5x/   (props changed)
    lucene/dev/branches/branch_5x/solr/   (props changed)
    lucene/dev/branches/branch_5x/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/branch_5x/solr/core/   (props changed)
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/KerberosTestUtil.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/SaslZkACLProviderTest.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestAuthenticationFramework.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterKerberos.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberos.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberosAlt.java

Modified: lucene/dev/branches/branch_5x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/CHANGES.txt?rev=1681919&r1=1681918&r2=1681919&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_5x/solr/CHANGES.txt Wed May 27 07:10:52 2015
@@ -430,6 +430,9 @@ Other Changes
   enable auto soft-commits for the bin/solr -e cloud example using the Config API.
   (Timothy Potter)
 
+* SOLR-7183: Fix Locale blacklisting for Minikdc based tests. (Ishan Chattopadhyaya, hossman
+  via Anshum Gupta)
+
 ==================  5.1.0 ==================
 
 Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/KerberosTestUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/KerberosTestUtil.java?rev=1681919&r1=1681918&r2=1681919&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/KerberosTestUtil.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/KerberosTestUtil.java Wed May 27 07:10:52 2015
@@ -1,7 +1,10 @@
 package org.apache.solr.cloud;
 
 import java.io.File;
+import java.util.Arrays;
 import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Properties;
 
@@ -119,4 +122,27 @@ public class KerberosTestUtil {
       return krb5LoginModuleName;
     }
   }
+
+  /**
+   *  These Locales don't generate dates that are compatibile with Hadoop MiniKdc.
+   */
+  private final static List<String> brokenLanguagesWithMiniKdc =
+      Arrays.asList(
+          new Locale("th").getLanguage(), 
+          new Locale("ja").getLanguage(), 
+          new Locale("hi").getLanguage()
+          );
+  /** 
+   *returns the currently set locale, and overrides it with {@link Locale#US} if it's 
+   * currently something MiniKdc can not handle
+   *
+   * @see Locale#setDefault
+   */
+  public static final Locale overrideLocaleIfNotSpportedByMiniKdc() {
+    Locale old = Locale.getDefault();
+    if (brokenLanguagesWithMiniKdc.contains(Locale.getDefault().getLanguage())) {
+      Locale.setDefault(Locale.US);
+    }
+    return old;
+  }
 }

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/SaslZkACLProviderTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/SaslZkACLProviderTest.java?rev=1681919&r1=1681918&r2=1681919&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/SaslZkACLProviderTest.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/SaslZkACLProviderTest.java Wed May 27 07:10:52 2015
@@ -3,8 +3,6 @@ package org.apache.solr.cloud;
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.Charset;
-import java.util.Arrays;
-import java.util.List;
 import java.util.Locale;
 
 import javax.security.auth.login.Configuration;
@@ -52,12 +50,7 @@ public class SaslZkACLProviderTest exten
       .getLogger(SaslZkACLProviderTest.class);
 
   private static final Charset DATA_ENCODING = Charset.forName("UTF-8");
-  // These Locales don't generate dates that are compatibile with Hadoop MiniKdc.
-  protected final static List<String> brokenLocales =
-    Arrays.asList(
-      "th_TH_TH_#u-nu-thai",
-      "ja_JP_JP_#u-ca-japanese",
-      "hi_IN");
+
   protected Locale savedLocale = null;
 
   protected ZkTestServer zkServer;
@@ -77,10 +70,7 @@ public class SaslZkACLProviderTest exten
   @Override
   public void setUp() throws Exception {
     super.setUp();
-    if (brokenLocales.contains(Locale.getDefault().toString())) {
-      savedLocale = Locale.getDefault();
-      Locale.setDefault(Locale.US);
-    }
+    savedLocale = KerberosTestUtil.overrideLocaleIfNotSpportedByMiniKdc();
     log.info("####SETUP_START " + getTestName());
     createTempDir();
 
@@ -124,10 +114,7 @@ public class SaslZkACLProviderTest exten
   @Override
   public void tearDown() throws Exception {
     zkServer.shutdown();
-
-    if (savedLocale != null) {
-      Locale.setDefault(savedLocale);
-    }
+    Locale.setDefault(savedLocale);
     super.tearDown();
   }
 

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestAuthenticationFramework.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestAuthenticationFramework.java?rev=1681919&r1=1681918&r2=1681919&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestAuthenticationFramework.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestAuthenticationFramework.java Wed May 27 07:10:52 2015
@@ -23,9 +23,6 @@ import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Locale;
 import java.util.Map;
 import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
 import org.apache.http.HttpException;
@@ -63,12 +60,6 @@ public class TestAuthenticationFramework
   static String requestUsername = MockAuthenticationPlugin.expectedUsername;
   static String requestPassword = MockAuthenticationPlugin.expectedPassword;
   
-  protected final static List<String> brokenLocales =
-      Arrays.asList(
-        "th_TH_TH_#u-nu-thai",
-        "ja_JP_JP_#u-ca-japanese",
-        "hi_IN");
-
   @Rule
   public TestRule solrTestRules = RuleChain
       .outerRule(new SystemPropertiesRestoreRule());
@@ -80,9 +71,6 @@ public class TestAuthenticationFramework
 
   @Override
   public void setUp() throws Exception {
-    if (brokenLocales.contains(Locale.getDefault().toString())) {
-      Locale.setDefault(Locale.US);
-    }
     setupAuthenticationPlugin();
     super.setUp();
   }

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterKerberos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterKerberos.java?rev=1681919&r1=1681918&r2=1681919&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterKerberos.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestMiniSolrCloudClusterKerberos.java Wed May 27 07:10:52 2015
@@ -19,8 +19,6 @@ package org.apache.solr.cloud;
 
 import javax.security.auth.login.Configuration;
 import java.io.File;
-import java.util.Arrays;
-import java.util.List;
 import java.util.Locale;
 
 import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
@@ -62,14 +60,9 @@ public class TestMiniSolrCloudClusterKer
     REPLICATION_FACTOR = 2;
   }
   
-  protected final static List<String> brokenLocales =
-      Arrays.asList(
-        "th_TH_TH_#u-nu-thai",
-        "ja_JP_JP_#u-ca-japanese",
-        "hi_IN");
-
   private MiniKdc kdc;
 
+  private Locale savedLocale; // in case locale is broken and we need to fill in a working locale
   @Rule
   public TestRule solrTestRules = RuleChain
       .outerRule(new SystemPropertiesRestoreRule());
@@ -81,9 +74,7 @@ public class TestMiniSolrCloudClusterKer
 
   @Override
   public void setUp() throws Exception {
-    if (brokenLocales.contains(Locale.getDefault().toString())) {
-      Locale.setDefault(Locale.US);
-    }
+    savedLocale = KerberosTestUtil.overrideLocaleIfNotSpportedByMiniKdc();
     super.setUp();
     setupMiniKdc();
   }
@@ -171,6 +162,7 @@ public class TestMiniSolrCloudClusterKer
     if (kdc != null) {
       kdc.stop();
     }
+    Locale.setDefault(savedLocale);
     super.tearDown();
   }
 }

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberos.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberos.java?rev=1681919&r1=1681918&r2=1681919&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberos.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberos.java Wed May 27 07:10:52 2015
@@ -18,10 +18,9 @@ package org.apache.solr.cloud;
  */
 
 import javax.security.auth.login.Configuration;
+
 import java.io.File;
 import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
 import java.util.Locale;
 
 import org.apache.commons.io.Charsets;
@@ -49,20 +48,14 @@ public class TestSolrCloudWithKerberos e
   static final int TIMEOUT = 10000;
   private MiniKdc kdc;
 
-  protected final static List<String> brokenLocales =
-      Arrays.asList(
-          "th_TH_TH_#u-nu-thai",
-          "ja_JP_JP_#u-ca-japanese",
-          "hi_IN");
+  private Locale savedLocale; // in case locale is broken and we need to fill in a working locale
 
   Configuration originalConfig = Configuration.getConfiguration();
   
   @Override
   public void distribSetUp() throws Exception {
     //SSLTestConfig.setSSLSystemProperties();
-    if (brokenLocales.contains(Locale.getDefault().toString())) {
-      Locale.setDefault(Locale.US);
-    }
+    savedLocale = KerberosTestUtil.overrideLocaleIfNotSpportedByMiniKdc();
     // Use just one jetty
     this.sliceCount = 0;
     this.fixShardCount(1);
@@ -198,6 +191,7 @@ public class TestSolrCloudWithKerberos e
       kdc.stop();
     }
     //SSLTestConfig.clearSSLSystemProperties();
+    Locale.setDefault(savedLocale);
     super.distribTearDown();
   }
 }

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberosAlt.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberosAlt.java?rev=1681919&r1=1681918&r2=1681919&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberosAlt.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithKerberosAlt.java Wed May 27 07:10:52 2015
@@ -20,7 +20,6 @@ package org.apache.solr.cloud;
 import javax.security.auth.login.Configuration;
 
 import java.io.File;
-import java.util.Arrays;
 import java.util.List;
 import java.util.Locale;
 import java.util.Properties;
@@ -76,14 +75,9 @@ public class TestSolrCloudWithKerberosAl
     REPLICATION_FACTOR = 1;
   }
 
-  protected final static List<String> brokenLocales =
-      Arrays.asList(
-          "th_TH_TH_#u-nu-thai",
-          "ja_JP_JP_#u-ca-japanese",
-          "hi_IN");
-
   private MiniKdc kdc;
 
+  private Locale savedLocale; // in case locale is broken and we need to fill in a working locale
   @Rule
   public TestRule solrTestRules = RuleChain
       .outerRule(new SystemPropertiesRestoreRule());
@@ -95,9 +89,7 @@ public class TestSolrCloudWithKerberosAl
 
   @Override
   public void setUp() throws Exception {
-    if (brokenLocales.contains(Locale.getDefault().toString())) {
-      Locale.setDefault(Locale.US);
-    }
+    savedLocale = KerberosTestUtil.overrideLocaleIfNotSpportedByMiniKdc();
     super.setUp();
     setupMiniKdc();
     HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());
@@ -237,6 +229,7 @@ public class TestSolrCloudWithKerberosAl
     if (kdc != null) {
       kdc.stop();
     }
+    Locale.setDefault(savedLocale);
     super.tearDown();
   }
 }