On 12/21/2012 3:31 PM, Chris Hostetter wrote:
: My Solr 4.1 dev server doesn't seem to have a problem handling this.  I see a
: substantially similar exception when I send a similar request.
:
: I have a clarification, at least for 4.1: That specific exception is when it's
: a large negative number - larger than the numFound of the query.  With a small
: negative number, it's a different exception.  I won't be trying a small

weird ... definitely seems like something we should just nip in the bud --
fail hard and fast if start is < 0.

can you file a jira please?

Looks like it was a malicious user trying to break into our site. That user was sending unusual values for our site parameters, including a negative page number. The webapp happily used that value as-is. The inputs are now being scrubbed.

In 3.5, the negative start parameter on the distributed search is resulting in the same negative number being moved to the rows parameter on the searches being sent to the shards. If I'm not mistaken, a negative number for rows means "all results." I suspect that the DoS problem is because the shards are trying to send all their matching rows - the log entries say this is about 8 million on each of six shards. This overloads the system, which valiantly tries to make the insane request finish, and everything comes to a halt.

Failing hard & fast if there's a negative number on the start parameter would stop the entire problem from happening. I am thinking this means that I should not worry about the underlying DoS issue in 3.x and just file the first one for 3.6 and 4.0. Is that right?

I have been experimenting in 4.1 and it doesn't seem to have the denial of service problem. It looks like the entire request gets killed at the first exception.

Thanks,
Shawn

Reply via email to