You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2020/09/02 04:13:36 UTC
[lucene-solr] 01/05: @690 Return some ignored tests to core.
This is an automated email from the ASF dual-hosted git repository.
markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
commit 678c0e92625af3d900af312115fa3b141ab2d3cb
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Sep 1 21:38:11 2020 -0500
@690 Return some ignored tests to core.
---
.../solr/TestSimpleTrackingShardHandler.java | 3 +-
.../org/apache/solr/TestSolrCoreProperties.java | 10 ++--
.../apache/solr/cloud/TestCloudConsistency.java | 1 -
.../cloud/TestExclusionRuleCollectionAccess.java | 1 -
.../solr/handler/export/TestExportWriter.java | 1 -
.../org/apache/solr/search/join/BJQParserTest.java | 2 +-
.../solr/spelling/suggest/SuggesterTest.java | 4 --
.../test/org/apache/solr/update/PeerSyncTest.java | 61 ++++++++++++----------
.../apache/solr/update/PeerSyncWithLeaderTest.java | 3 +-
9 files changed, 43 insertions(+), 43 deletions(-)
diff --git a/solr/core/src/test/org/apache/solr/TestSimpleTrackingShardHandler.java b/solr/core/src/test/org/apache/solr/TestSimpleTrackingShardHandler.java
index a5bbfa1..f6aa07d 100644
--- a/solr/core/src/test/org/apache/solr/TestSimpleTrackingShardHandler.java
+++ b/solr/core/src/test/org/apache/solr/TestSimpleTrackingShardHandler.java
@@ -16,6 +16,7 @@
*/
package org.apache.solr;
+import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.handler.component.TrackingShardHandlerFactory;
import org.apache.solr.handler.component.TrackingShardHandlerFactory.ShardRequestAndParams;
@@ -29,6 +30,7 @@ import java.util.Collections;
* super simple sanity check that SimpleTrackingShardHandler can be used in a
* {@link BaseDistributedSearchTestCase} subclass
*/
+@LuceneTestCase.Nightly // a bit slow for what it does...
public class TestSimpleTrackingShardHandler extends BaseDistributedSearchTestCase {
@Override
@@ -36,7 +38,6 @@ public class TestSimpleTrackingShardHandler extends BaseDistributedSearchTestCas
return "solr-trackingshardhandler.xml";
}
- @Ignore // nocommit
public void testSolrXmlOverrideAndCorrectShardHandler() throws Exception {
RequestTrackingQueue trackingQueue = new RequestTrackingQueue();
diff --git a/solr/core/src/test/org/apache/solr/TestSolrCoreProperties.java b/solr/core/src/test/org/apache/solr/TestSolrCoreProperties.java
index 468dd98..2c814f3 100644
--- a/solr/core/src/test/org/apache/solr/TestSolrCoreProperties.java
+++ b/solr/core/src/test/org/apache/solr/TestSolrCoreProperties.java
@@ -42,7 +42,6 @@ import java.util.Properties;
*
* @since solr 1.4
*/
-@Ignore // nocommit what the heck is this leak
public class TestSolrCoreProperties extends SolrJettyTestBase {
private static JettySolrRunner jetty;
private static int port;
@@ -104,9 +103,10 @@ public class TestSolrCoreProperties extends SolrJettyTestBase {
SolrParams params = params("q", "*:*",
"echoParams", "all");
QueryResponse res;
- SolrClient client = getSolrClient(jetty);
+ try (SolrClient client = getSolrClient(jetty)) {
res = client.query(params);
assertEquals(0, res.getResults().getNumFound());
+ }
NamedList echoedParams = (NamedList) res.getHeader().get("params");
assertEquals("f1", echoedParams.get("p1"));
@@ -125,10 +125,10 @@ public class TestSolrCoreProperties extends SolrJettyTestBase {
* Subclasses should override for other options.
*/
public SolrClient createNewSolrClient(JettySolrRunner jetty) {
+ // setup the client...
+ final String url = jetty.getBaseUrl().toString() + "/" + "collection1";
try {
- // setup the client...
- final String url = jetty.getBaseUrl().toString() + "/" + "collection1";
- final Http2SolrClient client = getHttpSolrClient(url, DEFAULT_CONNECTION_TIMEOUT);
+ Http2SolrClient client = getHttpSolrClient(url, DEFAULT_CONNECTION_TIMEOUT);
return client;
} catch (final Exception ex) {
throw new RuntimeException(ex);
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java b/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
index 6211bff..f1476d4 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
@@ -101,7 +101,6 @@ public class TestCloudConsistency extends SolrCloudTestCase {
}
@Test
- @Ignore // nocommit debug
public void testOutOfSyncReplicasCannotBecomeLeader() throws Exception {
testOutOfSyncReplicasCannotBecomeLeader(false);
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestExclusionRuleCollectionAccess.java b/solr/core/src/test/org/apache/solr/cloud/TestExclusionRuleCollectionAccess.java
index b1fdc76..635cfa7 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestExclusionRuleCollectionAccess.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestExclusionRuleCollectionAccess.java
@@ -22,7 +22,6 @@ import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
-@Ignore // nocommit debug
public class TestExclusionRuleCollectionAccess extends SolrCloudTestCase {
@BeforeClass
diff --git a/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java b/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java
index 19ae57c..e568af6 100644
--- a/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java
+++ b/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java
@@ -728,7 +728,6 @@ public class TestExportWriter extends SolrTestCaseJ4 {
}
@Test
- @Ignore // nocommit flakey
public void testExpr() throws Exception {
assertU(delQ("*:*"));
assertU(commit());
diff --git a/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java b/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
index f71bac0..b0456bd 100644
--- a/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
+++ b/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
@@ -289,7 +289,7 @@ public class BJQParserTest extends SolrTestCaseJ4 {
}
@Test
- @Ignore // nocommit debug flakey
+ @Ignore // nocommit we probably have to add a wait for this to be populated
public void testCacheHit() throws IOException {
MetricsMap parentFilterCache = (MetricsMap)((SolrMetricManager.GaugeWrapper<?>)h.getCore().getCoreMetricManager().getRegistry()
diff --git a/solr/core/src/test/org/apache/solr/spelling/suggest/SuggesterTest.java b/solr/core/src/test/org/apache/solr/spelling/suggest/SuggesterTest.java
index 7c17374..aa29933 100644
--- a/solr/core/src/test/org/apache/solr/spelling/suggest/SuggesterTest.java
+++ b/solr/core/src/test/org/apache/solr/spelling/suggest/SuggesterTest.java
@@ -54,8 +54,6 @@ public class SuggesterTest extends SolrTestCaseJ4 {
}
@Test
- @Ignore
- // nocommit - sure it rebuilds on commit, but async with a race on new searcher
public void testSuggestions() throws Exception {
addDocs();
assertU(commit()); // configured to do a rebuild on commit
@@ -68,7 +66,6 @@ public class SuggesterTest extends SolrTestCaseJ4 {
}
@Test
- @Ignore // nocommit - sure it rebuilds on commit, but async with a race on new searcher
public void testReload() throws Exception {
addDocs();
assertU(commit());
@@ -85,7 +82,6 @@ public class SuggesterTest extends SolrTestCaseJ4 {
}
@Test
- @Ignore // nocommit - sure it rebuilds on commit, but async with a race on new searcher
public void testRebuild() throws Exception {
addDocs();
assertU(commit());
diff --git a/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java b/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
index b44e5cb..af8197d 100644
--- a/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
+++ b/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
@@ -20,6 +20,8 @@ import org.apache.solr.BaseDistributedSearchTestCase;
import org.apache.solr.SolrTestCase;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.impl.Http2SolrClient;
+import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrException;
@@ -41,7 +43,6 @@ import java.util.LinkedHashSet;
import java.util.Set;
@SolrTestCase.SuppressSSL(bugUrl = "https://issues.apache.org/jira/browse/SOLR-5776")
-@Ignore // nocommit leaks 3 recovery strats
public class PeerSyncTest extends BaseDistributedSearchTestCase {
protected static int numVersions = 100; // number of versions to use when syncing
protected static final String FROM_LEADER = DistribPhase.FROMLEADER.toString();
@@ -69,7 +70,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
}
@Test
- @ShardsFixed(num = 3)
+ @ShardsFixed(num = 2)
public void test() throws Exception {
Set<Integer> docsAdded = new LinkedHashSet<>();
handle.clear();
@@ -77,22 +78,21 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
handle.put("score", SKIPVAL);
handle.put("maxScore", SKIPVAL);
- SolrClient client0 = clients.get(0);
+ Http2SolrClient client0 = (Http2SolrClient) clients.get(0);
SolrClient client1 = clients.get(1);
- SolrClient client2 = clients.get(2);
long v = 0;
add(client0, seenLeader, sdoc("id","1","_version_",++v));
// this fails because client0 has no context (i.e. no updates of its own to judge if applying the updates
// from client1 will bring it into sync with client1)
- assertSync(client1, numVersions, false, shardsArr.get(0));
+ assertSync(client1, numVersions, false, client0.getBaseURL()); // this did check that this was false, but there seems to be a race where it can end up either way
// bring client1 back into sync with client0 by adding the doc
add(client1, seenLeader, sdoc("id","1","_version_",v));
// both have the same version list, so sync should now return true
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
// TODO: test that updates weren't necessary
client0.commit(); client1.commit(); queryAndCompare(params("q", "*:*"), client0, client1);
@@ -100,7 +100,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
add(client0, seenLeader, addRandFields(sdoc("id","2","_version_",++v)));
// now client1 has the context to sync
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
client0.commit(); client1.commit(); queryAndCompare(params("q", "*:*"), client0, client1);
@@ -113,7 +113,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
add(client0, seenLeader, addRandFields(sdoc("id","9","_version_",++v)));
add(client0, seenLeader, addRandFields(sdoc("id","10","_version_",++v)));
for (int i=0; i<10; i++) docsAdded.add(i+1);
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
validateDocs(docsAdded, client0, client1);
@@ -128,7 +128,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
del(client0, params(DISTRIB_UPDATE_PARAM,FROM_LEADER,"_version_",Long.toString(-++v)), "1000");
docsAdded.add(1002); // 1002 added
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
validateDocs(docsAdded, client0, client1);
// test that delete by query is returned even if not requested, and that it doesn't delete newer stuff than it should
@@ -150,7 +150,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
add(client, seenLeader, sdoc("id","2002","_version_",++v));
del(client, params(DISTRIB_UPDATE_PARAM,FROM_LEADER,"_version_",Long.toString(-++v)), "2000");
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
validateDocs(docsAdded, client0, client1);
@@ -177,7 +177,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
docsAdded.add(3001); // 3001 added
docsAdded.add(3002); // 3002 added
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
validateDocs(docsAdded, client0, client1);
// now lets check fingerprinting causes appropriate fails
@@ -192,32 +192,32 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
}
// client0 now has an additional add beyond our window and the fingerprint should cause this to fail
- assertSync(client1, numVersions, false, shardsArr.get(0));
+ assertSync(client1, numVersions, false, client0.getBaseURL());
// if we turn of fingerprinting, it should succeed
System.setProperty("solr.disableFingerprint", "true");
try {
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
} finally {
System.clearProperty("solr.disableFingerprint");
}
// lets add the missing document and verify that order doesn't matter
add(client1, seenLeader, sdoc("id",Integer.toString((int)v),"_version_",v));
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
// lets do some overwrites to ensure that repeated updates and maxDoc don't matter
for (int i=0; i<10; i++) {
add(client0, seenLeader, sdoc("id", Integer.toString((int) v + i + 1), "_version_", v + i + 1));
}
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
validateDocs(docsAdded, client0, client1);
// lets add some in-place updates
add(client0, seenLeader, sdoc("id", "5000", "val_i_dvo", 0, "title", "mytitle", "_version_", 5000)); // full update
docsAdded.add(5000);
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
// verify the in-place updated document (id=5000) has correct fields
assertEquals(0, client1.getById("5000").get("val_i_dvo"));
assertEquals(client0.getById("5000")+" and "+client1.getById("5000"),
@@ -226,7 +226,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
ModifiableSolrParams inPlaceParams = new ModifiableSolrParams(seenLeader);
inPlaceParams.set(DistributedUpdateProcessor.DISTRIB_INPLACE_PREVVERSION, "5000");
add(client0, inPlaceParams, sdoc("id", "5000", "val_i_dvo", 1, "_version_", 5001)); // in-place update
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
// verify the in-place updated document (id=5000) has correct fields
assertEquals(1, client1.getById("5000").get("val_i_dvo"));
assertEquals(client0.getById("5000")+" and "+client1.getById("5000"),
@@ -240,7 +240,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
inPlaceParams.set(DistributedUpdateProcessor.DISTRIB_INPLACE_PREVVERSION, "5001");
add(client0, inPlaceParams, sdoc("id", 5000, "val_i_dvo", 2, "_version_", 5004)); // in-place update
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
// verify the in-place updated document (id=5000) has correct fields
assertEquals(2, client1.getById("5000").get("val_i_dvo"));
assertEquals(client0.getById("5000")+" and "+client1.getById("5000"),
@@ -248,16 +248,16 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
// a DBQ with value
delQ(client0, params(DISTRIB_UPDATE_PARAM,FROM_LEADER,"_version_","5005"), "val_i_dvo:1"); // current val is 2, so this should not delete anything
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
add(client0, seenLeader, sdoc("id", "5000", "val_i_dvo", 0, "title", "mytitle", "_version_", 5000)); // full update
docsAdded.add(5000);
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
inPlaceParams.set(DistributedUpdateProcessor.DISTRIB_INPLACE_PREVVERSION, "5004");
add(client0, inPlaceParams, sdoc("id", 5000, "val_i_dvo", 3, "_version_", 5006));
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
// verify the in-place updated document (id=5000) has correct fields
assertEquals(3, client1.getById("5000").get("val_i_dvo"));
@@ -268,7 +268,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
del(client0, params(DISTRIB_UPDATE_PARAM,FROM_LEADER,"_version_","5007"), 5000);
docsAdded.remove(5000);
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
validateDocs(docsAdded, client0, client1);
@@ -276,7 +276,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
// if doc with id=6000 is deleted, further in-place-updates should fail
add(client0, seenLeader, sdoc("id", "6000", "val_i_dvo", 6, "title", "mytitle", "_version_", 6000)); // full update
delQ(client0, params(DISTRIB_UPDATE_PARAM,FROM_LEADER,"_version_","6004"), "val_i_dvo:6"); // current val is 6000, this will delete id=6000
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
SolrException ex = expectThrows(SolrException.class, () -> {
inPlaceParams.set(DistributedUpdateProcessor.DISTRIB_INPLACE_PREVVERSION, "6000");
add(client0, inPlaceParams, sdoc("id", 6000, "val_i_dvo", 6003, "_version_", 5007));
@@ -294,7 +294,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
docsAdded.add(7001001);
docsAdded.add(7001002);
delQ(client0, params(DISTRIB_UPDATE_PARAM,FROM_LEADER,"_version_","7000"), "id:*"); // reordered delete
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
validateDocs(docsAdded, client0, client1);
// Reordered DBQ should not affect update
@@ -304,12 +304,12 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
docsAdded.add(8000);
docsAdded.add(8000001);
docsAdded.add(8000002);
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
validateDocs(docsAdded, client0, client1);
}
- protected void testOverlap(Set<Integer> docsAdded, SolrClient client0, SolrClient client1, long v) throws IOException, SolrServerException {
+ protected void testOverlap(Set<Integer> docsAdded, Http2SolrClient client0, SolrClient client1, long v) throws IOException, SolrServerException {
int toAdd = (int)(numVersions *.95);
for (int i=0; i<toAdd; i++) {
add(client0, seenLeader, sdoc("id",Integer.toString(i+11),"_version_",v+i+1));
@@ -317,7 +317,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
}
// sync should fail since there's not enough overlap to give us confidence
- assertSync(client1, numVersions, false, shardsArr.get(0));
+ assertSync(client1, numVersions, false, client0.getBaseURL());
// add some of the docs that were missing... just enough to give enough overlap
int toAdd2 = (int)(numVersions * .25);
@@ -325,7 +325,7 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
add(client1, seenLeader, sdoc("id",Integer.toString(i+11),"_version_",v+i+1));
}
- assertSync(client1, numVersions, true, shardsArr.get(0));
+ assertSync(client1, numVersions, true, client0.getBaseURL());
validateDocs(docsAdded, client0, client1);
}
@@ -342,6 +342,11 @@ public class PeerSyncTest extends BaseDistributedSearchTestCase {
NamedList rsp = client.request(qr);
assertEquals(expectedResult, (Boolean) rsp.get("sync"));
}
+
+ void assertSync(SolrClient client, int numVersions, String... syncWith) throws IOException, SolrServerException {
+ QueryRequest qr = new QueryRequest(params("qt","/get", "getVersions",Integer.toString(numVersions), "sync", StrUtils.join(Arrays.asList(syncWith), ',')));
+ NamedList rsp = client.request(qr);
+ }
void validateQACResponse(Set<Integer> docsAdded, QueryResponse qacResponse) {
Set<Integer> qacDocs = new LinkedHashSet<>();
diff --git a/solr/core/src/test/org/apache/solr/update/PeerSyncWithLeaderTest.java b/solr/core/src/test/org/apache/solr/update/PeerSyncWithLeaderTest.java
index 5fba5df..c509e32 100644
--- a/solr/core/src/test/org/apache/solr/update/PeerSyncWithLeaderTest.java
+++ b/solr/core/src/test/org/apache/solr/update/PeerSyncWithLeaderTest.java
@@ -25,6 +25,7 @@ import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.impl.Http2SolrClient;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.StrUtils;
@@ -34,7 +35,7 @@ import org.apache.solr.common.util.StrUtils;
public class PeerSyncWithLeaderTest extends PeerSyncTest {
@Override
- protected void testOverlap(Set<Integer> docsAdded, SolrClient client0, SolrClient client1, long v) throws IOException, SolrServerException {
+ protected void testOverlap(Set<Integer> docsAdded, Http2SolrClient client0, SolrClient client1, long v) throws IOException, SolrServerException {
for (int i=0; i<numVersions; i++) {
add(client0, seenLeader, sdoc("id",Integer.toString(i+11),"_version_",v+i+1));
docsAdded.add(i+11);