[
https://issues.apache.org/jira/browse/LUCY-204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13175429#comment-13175429
]
Nick Wellnhofer commented on LUCY-204:
--------------------------------------
bq. The "Blocking" argument to IO::Socket::INET#new is still commented out. If
I uncomment "Blocking", the tests still pass. However, we had a situation
before where the tests passed before yet users encountered errors – see
<http://markmail.org/message/66iwazc6fho3tvy2>. Our current tests are not
sufficient as they do not trigger partial writes and reads.
The new code should work with blocking and non-blocking sockets. When receiving
data, it shouldn't make a difference. Sending the requests should be even more
parallel with non-blocking.
To test partial reads, we could add a test mode to SearchServer and arbitrarily
delay sending parts of the response.
bq. I believe that send/recv are for UDP packets and that we should be using
syswrite/sysread. Tests still pass when they are swapped out.
You generally use send/recv to pass additional flags. Some of these flags can
also be used with TCP. syswrite/sysread should behave exactly like send/recv
without flags. I prefer send/recv because it makes clear that we're working
with sockets but we can also switch to syswrite/sysread.
bq. I'd advocate using confess() instead of die, so that we get a full stack
trace to work with.
OK, I'll address that.
> Process ClusterSearcher RPCs in parallel
> ----------------------------------------
>
> Key: LUCY-204
> URL: https://issues.apache.org/jira/browse/LUCY-204
> Project: Lucy
> Issue Type: Improvement
> Components: Search
> Reporter: Nick Wellnhofer
> Assignee: Nick Wellnhofer
> Attachments: LUCY-204.patch
>
>
> The ClusterSearcher should process "multi" RPCs to the shards in parallel.
> This should speed things up and release connections to the SearchServers
> earlier.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira