[
https://issues.apache.org/jira/browse/SOLR-7746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14706065#comment-14706065
]
Gregory Chanan commented on SOLR-7746:
--------------------------------------
Looks good Michael, a few questions/comments:
{code}
(params.getBool(ShardParams.IS_SHARD,false))
{code}
Convention is to put a space after ",". Also, are you using tabs? please
remove them.
{code}
handler = core.getRequestHandler( null );
ModifiableSolrParams wparams = new ModifiableSolrParams(params);
wparams.remove(CommonParams.QT);
req.setParams(wparams);
{code}
Is it correct ot remove the QT or replace the QT with the default handler you
are calling?
{code}
// In case it's a query for shard, return the result from delegated handler
for distributed query to merge result
if (params.getBool(ShardParams.IS_SHARD,false)) {
core.execute(handler, req, rsp );
ex = rsp.getException();
} else {
core.execute(handler, req, pingrsp );
ex = pingrsp.getException();
}
...
if (!params.getBool(ShardParams.IS_SHARD,false)) {
rsp.add( "status", "OK" );
}
{code}
Is all the if-elsing necessary? What happens if you use pingrsp for whether
IS_SHARD is true or not and then remove the if around the status check? What
you have now doesn't look correct to me, the non-IS_SHARD case won't have OK
status, right?
> Ping requests stopped working with distrib=true in Solr 5.2.1
> -------------------------------------------------------------
>
> Key: SOLR-7746
> URL: https://issues.apache.org/jira/browse/SOLR-7746
> Project: Solr
> Issue Type: Bug
> Components: SolrCloud
> Affects Versions: 5.2.1
> Reporter: Alexey Serba
> Attachments: SOLR-7746.patch, SOLR-7746.patch, SOLR-7746.patch
>
>
> {noformat:title="steps to reproduce"}
> # start 1 node SolrCloud cluster
> sh> ./bin/solr -c -p 8888
> # create a test collection (we won’t use it, but I just want to it to load
> solr configs to Zk)
> ./bin/solr create_collection -c test -d sample_techproducts_configs -p 8888
> # create another test collection with 2 shards
> curl
> 'http://localhost:8888/solr/admin/collections?action=CREATE&name=test2&numShards=2&replicationFactor=1&maxShardsPerNode=2&collection.configName=test'
> # try distrib ping request
> curl
> 'http://localhost:8888/solr/test2/admin/ping?wt=json&distrib=true&indent=true'
> ...
> "error":{
> "msg":"Ping query caused exception: Error from server at
> http://192.168.59.3:8888/solr/test2_shard2_replica1: Cannot execute the
> PingRequestHandler recursively"
> ...
> {noformat}
> {noformat:title="Exception"}
> 2116962 [qtp599601600-13] ERROR org.apache.solr.core.SolrCore [test2 shard2
> core_node1 test2_shard2_replica1] – org.apache.solr.common.SolrException:
> Cannot execute the PingRequestHandler recursively
> at
> org.apache.solr.handler.PingRequestHandler.handlePing(PingRequestHandler.java:246)
> at
> org.apache.solr.handler.PingRequestHandler.handleRequestBody(PingRequestHandler.java:211)
> at
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:143)
> at org.apache.solr.core.SolrCore.execute(SolrCore.java:2064)
> at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:654)
> at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:450)
> at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:227)
> at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:196)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]