You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by kr...@apache.org on 2017/01/28 17:20:58 UTC
[1/4] lucene-solr:jira/solr-8593: SOLR-9983: fixing
TestManagedSchemaThreadSafety NPE failure.
Repository: lucene-solr
Updated Branches:
refs/heads/jira/solr-8593 934a92e73 -> a9bdfdec1
SOLR-9983: fixing TestManagedSchemaThreadSafety NPE failure.
Also testing session expiration and set sensible Zookeeper connection
timeout.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/d9741205
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/d9741205
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/d9741205
Branch: refs/heads/jira/solr-8593
Commit: d9741205b5a39a5d0d4f63698adfcabe0a6a5892
Parents: 0187838
Author: Mikhail Khludnev <mk...@apache.org>
Authored: Fri Jan 20 23:07:42 2017 +0300
Committer: Mikhail Khludnev <mk...@apache.org>
Committed: Sat Jan 28 00:09:08 2017 +0300
----------------------------------------------------------------------
solr/CHANGES.txt | 3 ++
.../org/apache/solr/cloud/MockZkController.java | 36 ++++++++++++++++++++
.../schema/TestManagedSchemaThreadSafety.java | 32 ++++++++++++++---
3 files changed, 67 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d9741205/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 25d8cc9..ddff48f 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -140,6 +140,9 @@ Other Changes
* SOLR-9972: SpellCheckComponent collations and suggestions returned as a JSON object rather than a list
(Christine Poerschke in response to bug report from Ricky Oktavianus Lazuardy)
+* SOLR-9996: Fixing NullPointerException failure by TestManagedSchemaThreadSafety
+ adding check for Zookeeper session expiration (Steve Rowe, Mikhail Khludnev)
+
================== 6.4.1 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d9741205/solr/core/src/test/org/apache/solr/cloud/MockZkController.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/MockZkController.java b/solr/core/src/test/org/apache/solr/cloud/MockZkController.java
new file mode 100644
index 0000000..ac64f50
--- /dev/null
+++ b/solr/core/src/test/org/apache/solr/cloud/MockZkController.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.solr.cloud;
+
+import java.io.IOException;
+import java.util.concurrent.TimeoutException;
+
+import org.apache.solr.core.CloudConfig;
+import org.apache.solr.core.CoreContainer;
+
+public class MockZkController extends ZkController {
+
+ public MockZkController(CoreContainer cc, String zkServerAddress, int zkClientConnectTimeout, CloudConfig cloudConfig,
+ CurrentCoreDescriptorProvider registerOnReconnect) throws InterruptedException, TimeoutException, IOException {
+ super(cc, zkServerAddress, zkClientConnectTimeout, cloudConfig, registerOnReconnect);
+ }
+
+ @Override
+ public CoreContainer getCoreContainer() {
+ return super.getCoreContainer();
+ }
+}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/d9741205/solr/core/src/test/org/apache/solr/schema/TestManagedSchemaThreadSafety.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/schema/TestManagedSchemaThreadSafety.java b/solr/core/src/test/org/apache/solr/schema/TestManagedSchemaThreadSafety.java
index e4a5c48..a00129a 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestManagedSchemaThreadSafety.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestManagedSchemaThreadSafety.java
@@ -28,17 +28,20 @@ import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicReference;
import org.apache.solr.SolrTestCaseJ4;
+import org.apache.solr.cloud.MockZkController;
import org.apache.solr.cloud.ZkController;
import org.apache.solr.cloud.ZkSolrResourceLoader;
import org.apache.solr.cloud.ZkTestServer;
import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.common.util.NamedList;
+import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.SolrConfig;
import org.apache.solr.core.SolrResourceLoader;
import org.apache.solr.util.LogLevel;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.KeeperException.NoNodeException;
+import org.apache.zookeeper.KeeperException.SessionExpiredException;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.data.Stat;
import org.junit.AfterClass;
@@ -106,14 +109,14 @@ public class TestManagedSchemaThreadSafety extends SolrTestCaseJ4 {
final String configsetName = "managed-config";//
- try (SolrZkClient client = new SuspendingZkClient(zkServer.getZkHost(), 30)) {
+ try (SolrZkClient client = new SuspendingZkClient(zkServer.getZkHost(), 30000)) {
// we can pick any to load configs, I suppose, but here we check
client.upConfig(configset("cloud-managed-upgrade"), configsetName);
}
ExecutorService executor = ExecutorUtil.newMDCAwareCachedThreadPool("threadpool");
- try (SolrZkClient raceJudge = new SuspendingZkClient(zkServer.getZkHost(), 30)) {
+ try (SolrZkClient raceJudge = new SuspendingZkClient(zkServer.getZkHost(), 30000)) {
ZkController zkController = createZkController(raceJudge);
@@ -132,14 +135,35 @@ public class TestManagedSchemaThreadSafety extends SolrTestCaseJ4 {
}
private ZkController createZkController(SolrZkClient client) throws KeeperException, InterruptedException {
- ZkController zkController = mock(ZkController.class,
+
+ CoreContainer mockAlwaysUpCoreContainer = mock(CoreContainer.class,
+ Mockito.withSettings().defaultAnswer(Mockito.CALLS_REAL_METHODS));
+ when(mockAlwaysUpCoreContainer.isShutDown()).thenReturn(Boolean.FALSE); // Allow retry on session expiry
+
+
+ MockZkController zkController = mock(MockZkController.class,
Mockito.withSettings().defaultAnswer(Mockito.CALLS_REAL_METHODS));
+ when(zkController.getCoreContainer()).thenReturn(mockAlwaysUpCoreContainer);
+
when(zkController.getZkClient()).thenReturn(client);
Mockito.doAnswer(new Answer<Boolean>() {
+ volatile boolean sessionExpired=false;
+
@Override
public Boolean answer(InvocationOnMock invocation) throws Throwable {
- return client.exists((String) invocation.getArguments()[0], true);
+ String path = (String) invocation.getArguments()[0];
+ perhapsExpired();
+ Boolean exists = client.exists(path, true);
+ perhapsExpired();
+ return exists;
+ }
+
+ private void perhapsExpired() throws SessionExpiredException {
+ if (!sessionExpired && rarely()) {
+ sessionExpired = true;
+ throw new KeeperException.SessionExpiredException();
+ }
}
}).when(zkController).pathExists(Mockito.anyString());
return zkController;
[2/4] lucene-solr:jira/solr-8593: SOLR-9983: fixing CHANGES.txt
Posted by kr...@apache.org.
SOLR-9983: fixing CHANGES.txt
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/00065e0b
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/00065e0b
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/00065e0b
Branch: refs/heads/jira/solr-8593
Commit: 00065e0b5408dc8244f9ee6eecdaf3634f6f8372
Parents: d974120
Author: Mikhail Khludnev <mk...@apache.org>
Authored: Sat Jan 28 15:44:34 2017 +0300
Committer: Mikhail Khludnev <mk...@apache.org>
Committed: Sat Jan 28 15:45:59 2017 +0300
----------------------------------------------------------------------
solr/CHANGES.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/00065e0b/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index ddff48f..3b23570 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -140,7 +140,7 @@ Other Changes
* SOLR-9972: SpellCheckComponent collations and suggestions returned as a JSON object rather than a list
(Christine Poerschke in response to bug report from Ricky Oktavianus Lazuardy)
-* SOLR-9996: Fixing NullPointerException failure by TestManagedSchemaThreadSafety
+* SOLR-9983: Fixing NullPointerException failure by TestManagedSchemaThreadSafety
adding check for Zookeeper session expiration (Steve Rowe, Mikhail Khludnev)
================== 6.4.1 ==================
[3/4] lucene-solr:jira/solr-8593: SOLR-8491: solr.cmd SOLR_SSL_OPTS
is overwritten
Posted by kr...@apache.org.
SOLR-8491: solr.cmd SOLR_SSL_OPTS is overwritten
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/bb5bf3fb
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/bb5bf3fb
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/bb5bf3fb
Branch: refs/heads/jira/solr-8593
Commit: bb5bf3fbf733b2dcea1163cad7a70a6437ece93f
Parents: 00065e0
Author: Kevin Risden <kr...@apache.org>
Authored: Fri Jan 27 16:10:41 2017 -0500
Committer: Kevin Risden <kr...@apache.org>
Committed: Sat Jan 28 12:11:44 2017 -0500
----------------------------------------------------------------------
solr/CHANGES.txt | 1 +
solr/bin/solr.cmd | 40 ++++++++++++++++++++--------------------
2 files changed, 21 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/bb5bf3fb/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 3b23570..e93e468 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -159,6 +159,7 @@ Jetty 9.3.14.v20161028
Bug Fixes
----------------------
* SOLR-9969: "Plugin/Stats" section of the UI doesn't display empty metric types (Tom�s Fern�ndez L�bbe)
+* SOLR-8491: solr.cmd SOLR_SSL_OPTS is overwritten (Sam Yi, Andy Hind, Marcel Berteler, Kevin Risden)
================== 6.4.0 ==================
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/bb5bf3fb/solr/bin/solr.cmd
----------------------------------------------------------------------
diff --git a/solr/bin/solr.cmd b/solr/bin/solr.cmd
index 732c2de..65f2a57 100644
--- a/solr/bin/solr.cmd
+++ b/solr/bin/solr.cmd
@@ -45,71 +45,71 @@ set "SOLR_SSL_OPTS= "
IF DEFINED SOLR_SSL_KEY_STORE (
set "SOLR_JETTY_CONFIG=--module=https"
set SOLR_URL_SCHEME=https
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Dsolr.jetty.keystore=%SOLR_SSL_KEY_STORE%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Dsolr.jetty.keystore=%SOLR_SSL_KEY_STORE%"
IF DEFINED SOLR_SSL_KEY_STORE_PASSWORD (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Dsolr.jetty.keystore.password=%SOLR_SSL_KEY_STORE_PASSWORD%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Dsolr.jetty.keystore.password=%SOLR_SSL_KEY_STORE_PASSWORD%"
)
IF DEFINED SOLR_SSL_KEY_STORE_TYPE (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Dsolr.jetty.keystore.type=%SOLR_SSL_KEY_STORE_TYPE%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Dsolr.jetty.keystore.type=%SOLR_SSL_KEY_STORE_TYPE%"
)
IF DEFINED SOLR_SSL_TRUST_STORE (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Dsolr.jetty.truststore=%SOLR_SSL_TRUST_STORE%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Dsolr.jetty.truststore=%SOLR_SSL_TRUST_STORE%"
)
IF DEFINED SOLR_SSL_TRUST_STORE_PASSWORD (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Dsolr.jetty.truststore.password=%SOLR_SSL_TRUST_STORE_PASSWORD%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Dsolr.jetty.truststore.password=%SOLR_SSL_TRUST_STORE_PASSWORD%"
)
IF DEFINED SOLR_SSL_TRUST_STORE_TYPE (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Dsolr.jetty.truststore.type=%SOLR_SSL_TRUST_STORE_TYPE%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Dsolr.jetty.truststore.type=%SOLR_SSL_TRUST_STORE_TYPE%"
)
IF DEFINED SOLR_SSL_NEED_CLIENT_AUTH (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Dsolr.jetty.ssl.needClientAuth=%SOLR_SSL_NEED_CLIENT_AUTH%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Dsolr.jetty.ssl.needClientAuth=%SOLR_SSL_NEED_CLIENT_AUTH%"
)
IF DEFINED SOLR_SSL_WANT_CLIENT_AUTH (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Dsolr.jetty.ssl.wantClientAuth=%SOLR_SSL_WANT_CLIENT_AUTH%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Dsolr.jetty.ssl.wantClientAuth=%SOLR_SSL_WANT_CLIENT_AUTH%"
)
IF DEFINED SOLR_SSL_CLIENT_KEY_STORE (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.keyStore=%SOLR_SSL_CLIENT_KEY_STORE%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Djavax.net.ssl.keyStore=%SOLR_SSL_CLIENT_KEY_STORE%"
IF DEFINED SOLR_SSL_CLIENT_KEY_STORE_PASSWORD (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.keyStorePassword=%SOLR_SSL_CLIENT_KEY_STORE_PASSWORD%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Djavax.net.ssl.keyStorePassword=%SOLR_SSL_CLIENT_KEY_STORE_PASSWORD%"
)
IF DEFINED SOLR_SSL_CLIENT_KEY_STORE_TYPE (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.keyStoreType=%SOLR_SSL_CLIENT_KEY_STORE_TYPE%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Djavax.net.ssl.keyStoreType=%SOLR_SSL_CLIENT_KEY_STORE_TYPE%"
)
) ELSE (
IF DEFINED SOLR_SSL_KEY_STORE (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.keyStore=%SOLR_SSL_KEY_STORE%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Djavax.net.ssl.keyStore=%SOLR_SSL_KEY_STORE%"
)
IF DEFINED SOLR_SSL_KEY_STORE_PASSWORD (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.keyStorePassword=%SOLR_SSL_KEY_STORE_PASSWORD%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Djavax.net.ssl.keyStorePassword=%SOLR_SSL_KEY_STORE_PASSWORD%"
)
IF DEFINED SOLR_SSL_KEY_STORE_TYPE (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.keyStoreType=%SOLR_SSL_KEY_STORE_TYPE%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Djavax.net.ssl.keyStoreType=%SOLR_SSL_KEY_STORE_TYPE%"
)
)
IF DEFINED SOLR_SSL_CLIENT_TRUST_STORE (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.trustStore=%SOLR_SSL_CLIENT_TRUST_STORE%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Djavax.net.ssl.trustStore=%SOLR_SSL_CLIENT_TRUST_STORE%"
IF DEFINED SOLR_SSL_CLIENT_TRUST_STORE_PASSWORD (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.trustStorePassword=%SOLR_SSL_CLIENT_TRUST_STORE_PASSWORD%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Djavax.net.ssl.trustStorePassword=%SOLR_SSL_CLIENT_TRUST_STORE_PASSWORD%"
)
IF DEFINED SOLR_SSL_CLIENT_TRUST_STORE_TYPE (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.trustStoreType=%SOLR_SSL_CLIENT_TRUST_STORE_TYPE%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Djavax.net.ssl.trustStoreType=%SOLR_SSL_CLIENT_TRUST_STORE_TYPE%"
)
) ELSE (
IF DEFINED SOLR_SSL_TRUST_STORE (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.trustStore=%SOLR_SSL_TRUST_STORE%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Djavax.net.ssl.trustStore=%SOLR_SSL_TRUST_STORE%"
)
IF DEFINED SOLR_SSL_TRUST_STORE_PASSWORD (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.trustStorePassword=%SOLR_SSL_TRUST_STORE_PASSWORD%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Djavax.net.ssl.trustStorePassword=%SOLR_SSL_TRUST_STORE_PASSWORD%"
)
IF DEFINED SOLR_SSL_TRUST_STORE_TYPE (
- set "SOLR_SSL_OPTS=%SOLR_SSL_OPTS% -Djavax.net.ssl.trustStoreType=%SOLR_SSL_TRUST_STORE_TYPE%"
+ set "SOLR_SSL_OPTS=!SOLR_SSL_OPTS! -Djavax.net.ssl.trustStoreType=%SOLR_SSL_TRUST_STORE_TYPE%"
)
)
) ELSE (
[4/4] lucene-solr:jira/solr-8593: Merge branch 'apache-https-master'
into jira/solr-8593
Posted by kr...@apache.org.
Merge branch 'apache-https-master' into jira/solr-8593
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a9bdfdec
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a9bdfdec
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a9bdfdec
Branch: refs/heads/jira/solr-8593
Commit: a9bdfdec109abf410502b3804db4161abd33caf9
Parents: 934a92e bb5bf3f
Author: Kevin Risden <kr...@apache.org>
Authored: Sat Jan 28 12:20:51 2017 -0500
Committer: Kevin Risden <kr...@apache.org>
Committed: Sat Jan 28 12:20:51 2017 -0500
----------------------------------------------------------------------
solr/CHANGES.txt | 4 ++
solr/bin/solr.cmd | 40 ++++++++++----------
.../org/apache/solr/cloud/MockZkController.java | 36 ++++++++++++++++++
.../schema/TestManagedSchemaThreadSafety.java | 32 ++++++++++++++--
4 files changed, 88 insertions(+), 24 deletions(-)
----------------------------------------------------------------------