Incorrect value sent to solr

Shawn Heisey elyograg at elyograg.org
Sun Apr 4 00:15:17 EEST 2021


On 4/3/2021 12:12 PM, Łukasz Szczepański wrote:
> Rows isn't part of manage-schema for solr collection its build in common 
> query parameters in solr, and type of this field cannot be changed. It 
> controls the number of returned results (by default 10).
> I still think that an issue on dovecot side, but I was also wrong, this 
> parameter is important and have to be sent. Dovecot should send a count 
> of messages in mailbox (or imap folder) not the highest uid in folder.

I just tried a query on a stock Solr example with rows set to 3000000000 
and got an error similar to the one you reported.

org.apache.solr.common.SolrException: For input string: "3000000000"

No mention of "int" in this error.  I'm wondering if that part was 
something you added to the email, not text that was actually in the error.

I was using Solr 8.5.1, the newest version I have downloaded right now.

This error also occurs in cloud mode. With distributed indexes, it could 
be perfectly acceptable to use a rows parameter that exceeds what a 
signed int can hold.  Performance would probably suck when using a value 
that high, but it would be acceptable.  Which smells like a bug in Solr.

I can tell you that using a value from uid in the rows parameter is 
almost certainly not the right thing to do.  That field would have no 
connection to rows.

Thanks,
Shawn


More information about the dovecot mailing list