Re: Solr query - response status

2016-07-22 Thread Shyam R
Thanks Shawn for your insight!

On Fri, Jul 22, 2016 at 6:32 PM, Shawn Heisey  wrote:

> On 7/22/2016 12:41 AM, Shyam R wrote:
> > I see that SOLR returns status value as 0 for successful searches
> > org.apache.solr.core.SolrCore; [users_shadow_shard1_replica1]
> > webapp=/solr path=/user/ping params={} status=0 QTime=0 I do see that
> > the status come's back as 400 whenever the search is invalid (
> > invoking query with parameters that are not available in the target
> > collection ) What are the legitimate values of status and reason for
> > choosing 0?
>
> Solr (Jetty, really) sends back "200" for the HTTP status code when the
> request status is zero.
>
> The reason Solr uses a status of zero internally has its origins in the
> way most operating systems deal with program exit codes.  Almost
> universally, when a program exits with an exit code of 0, it tells the
> operating system that the exit was normal, no errors.  Any positive
> number indicates some kind of error.  The reason this is not reversed is
> simple -- unlike HTTP, which has multiple codes meaning success,
> operating systems must handle many different error codes, but only one
> success code.  So the success code is assigned to the number that's
> inherently different from the rest -- zero.
>
> Internally, Solr doesn't necessarily know that the response is going to
> use HTTP, although that is the most common method.  In the mind of a
> typical open source developer, an exit status of ANY positive number
> means there was an error, including 200.  Once control is handed off to
> Jetty, then the zero success status is translated to the most-used
> success code for HTTP.
>
> Any number could *potentially* be valid for the status in Solr logs, but
> I've only ever seen zero, 40x, and 50x.  The 40x series means there was
> a problem detected in the request, 50x means an error happened inside
> Solr itself after the request was determined to be good.  The ping
> handler will return a 503 statusif the health check is put into a
> disabledstate.
>
> Thanks,
> Shawn
>
>


-- 
Ph: 9845704792


Re: Solr query - response status

2016-07-22 Thread Shawn Heisey
On 7/22/2016 12:41 AM, Shyam R wrote:
> I see that SOLR returns status value as 0 for successful searches
> org.apache.solr.core.SolrCore; [users_shadow_shard1_replica1]
> webapp=/solr path=/user/ping params={} status=0 QTime=0 I do see that
> the status come's back as 400 whenever the search is invalid (
> invoking query with parameters that are not available in the target
> collection ) What are the legitimate values of status and reason for
> choosing 0? 

Solr (Jetty, really) sends back "200" for the HTTP status code when the
request status is zero.

The reason Solr uses a status of zero internally has its origins in the
way most operating systems deal with program exit codes.  Almost
universally, when a program exits with an exit code of 0, it tells the
operating system that the exit was normal, no errors.  Any positive
number indicates some kind of error.  The reason this is not reversed is
simple -- unlike HTTP, which has multiple codes meaning success,
operating systems must handle many different error codes, but only one
success code.  So the success code is assigned to the number that's
inherently different from the rest -- zero.

Internally, Solr doesn't necessarily know that the response is going to
use HTTP, although that is the most common method.  In the mind of a
typical open source developer, an exit status of ANY positive number
means there was an error, including 200.  Once control is handed off to
Jetty, then the zero success status is translated to the most-used
success code for HTTP.

Any number could *potentially* be valid for the status in Solr logs, but
I've only ever seen zero, 40x, and 50x.  The 40x series means there was
a problem detected in the request, 50x means an error happened inside
Solr itself after the request was determined to be good.  The ping
handler will return a 503 statusif the health check is put into a
disabledstate.

Thanks,
Shawn



Solr query - response status

2016-07-22 Thread Shyam R
All,

I see that SOLR returns status value as 0 for successful searches

org.apache.solr.core.SolrCore; [users_shadow_shard1_replica1] webapp=/solr
path=/user/ping params={} status=0 QTime=0

I do see that the status come's back as 400 whenever the search is invalid
( invoking query with parameters that are not available in the target
collection )

What are the legitimate values of status and reason for choosing 0?


Thanks
Shyam
-- 
Ph: 9845704792