[ https://issues.apache.org/jira/browse/SOLR-11638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16249350#comment-16249350 ]
Shalin Shekhar Mangar commented on SOLR-11638: ---------------------------------------------- Hi [~gerlowskija],in the description you said that the test depends on {{directUpdatesToLeadersOnly}} but you used {{sendDirectUpdatesToAnyShardReplica}} in your patch. Did you mean to use {{sendDirectUpdatesToShardLeadersOnly}} instead? > CloudSolrClientTest periodic failures > ------------------------------------- > > Key: SOLR-11638 > URL: https://issues.apache.org/jira/browse/SOLR-11638 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: SolrJ, Tests > Affects Versions: master (8.0) > Reporter: Jason Gerlowski > Assignee: Shalin Shekhar Mangar > Attachments: SOLR-11638.patch > > > The test-randomization recently-added as a part of SOLR-11507 has caused > {{CloudSolrClientTest.testRetryUpdatesWhenClusterStateIsStale}} to fail > semi-regularly on master. The test only succeeds for me on 3 out of 10 test > runs. The test fails with the message: > {code} > [junit4] 2> 14848 ERROR > (TEST-CloudSolrClientTest.testRetryUpdatesWhenClusterStateIsStale-seed#[64E89FBB977E15AA]) > [ ] o.a.s.c.s.i.CloudSolrClient Request to collection > [stale_state_test_col] failed due to (404) > org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error > from server at > http://127.0.0.1:38925/solr/stale_state_test_col_shard1_replica_n1: Expected > mime type application/octet-stream but got text/html. <html> > [junit4] 2> <head> > [junit4] 2> <meta http-equiv="Content-Type" > content="text/html;charset=ISO-8859-1"/> > [junit4] 2> <title>Error 404 </title> > [junit4] 2> </head> > [junit4] 2> <body> > [junit4] 2> <h2>HTTP ERROR: 404</h2> > [junit4] 2> <p>Problem accessing > /solr/stale_state_test_col_shard1_replica_n1/update. Reason: > [junit4] 2> <pre> Can not find: > /solr/stale_state_test_col_shard1_replica_n1/update</pre></p> > [junit4] 2> <hr /><a href="http://eclipse.org/jetty">Powered by Jetty:// > 9.3.20.v20170531</a><hr/> > [junit4] 2> </body> > [junit4] 2> </html> > [junit4] 2> , retry? 0 > [junit4] 2> 14851 INFO > (TEST-CloudSolrClientTest.testRetryUpdatesWhenClusterStateIsStale-seed#[64E89FBB977E15AA]) > [ ] o.a.s.SolrTestCaseJ4 ###Ending testRetryUpdatesWhenClusterStateIsStale > [junit4] 2> NOTE: reproduce with: ant test > -Dtestcase=CloudSolrClientTest > -Dtests.method=testRetryUpdatesWhenClusterStateIsStale > -Dtests.seed=64E89FBB977E15AA -Dtests.slow=true -Dtests.locale=es-VE > -Dtests.timezone=Indian/Chagos -Dtests.asserts=true > -Dtests.file.encoding=US-ASCII > [junit4] ERROR 5.86s | > CloudSolrClientTest.testRetryUpdatesWhenClusterStateIsStale <<< > [junit4] > Throwable #1: > org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error > from server at > http://127.0.0.1:38925/solr/stale_state_test_col_shard1_replica_n1: Expected > mime type application/octet-stream but got text/html. <html> > [junit4] > <head> > [junit4] > <meta http-equiv="Content-Type" > content="text/html;charset=ISO-8859-1"/> > [junit4] > <title>Error 404 </title> > [junit4] > </head> > [junit4] > <body> > [junit4] > <h2>HTTP ERROR: 404</h2> > [junit4] > <p>Problem accessing > /solr/stale_state_test_col_shard1_replica_n1/update. Reason: > [junit4] > <pre> Can not find: > /solr/stale_state_test_col_shard1_replica_n1/update</pre></p> > [junit4] > <hr /><a href="http://eclipse.org/jetty">Powered by Jetty:// > 9.3.20.v20170531</a><hr/> > [junit4] > </body> > [junit4] > </html> > [junit4] > at > __randomizedtesting.SeedInfo.seed([64E89FBB977E15AA:D0D9075374976386]:0) > [junit4] > at > org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:607) > [junit4] > at > org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:255) > [junit4] > at > org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:244) > [junit4] > at > org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:483) > [junit4] > at > org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:413) > [junit4] > at > org.apache.solr.client.solrj.impl.CloudSolrClient.directUpdate(CloudSolrClient.java:559) > [junit4] > at > org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1016) > [junit4] > at > org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:883) > [junit4] > at > org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:816) > [junit4] > at > org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:194) > [junit4] > at > org.apache.solr.client.solrj.request.UpdateRequest.commit(UpdateRequest.java:233) > [junit4] > at > org.apache.solr.client.solrj.impl.CloudSolrClientTest.testRetryUpdatesWhenClusterStateIsStale(CloudSolrClientTest.java:844) > [junit4] > at java.lang.Thread.run(Thread.java:748) > {code} > After some digging, it looks like the issue is that > testRetryUpdatesWhenClusterStateIsStale implicitly relies on > {{directUpdatesToLeadersOnly}}, and {{parallelUpdates}}, which are now > randomized when using SolrTestCaseJ4's CloudSolrClient creation helpers. > Attached is a patch ensuring that testRetryUpdatesWhenClusterStateIsStale > insists on those two update-related properties, instead of taking the > randomized defaults. Without the patch, this test passes maybe 5 out of > twenty times. With the patch, it passes consistently (20 out of 20 runs). -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org