[ 
https://issues.apache.org/jira/browse/SOLR-8292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15805015#comment-15805015
 ] 

Erick Erickson commented on SOLR-8292:
--------------------------------------

[~caomanhdat317] All I was really looking for was whether, in your opinion, 
this was even possible any more, I was just being lazy. This wasn't 
particularly about CDCR, it was just that CDCR exercised it I think.

Please don't spend time trying to reproduce. It sure would have been helpful if 
I'd recorded _what_ test failed a year ago wouldn't it? Siiiigggghhh.

It's been a long time since I opened this. I'll just start monitoring CDCR 
Jenkins failures (I've noticed a few go by but mostly haven't pursued them) and 
see if anything similar reappears and if not, maybe we can close it. That'll 
take a while before anyone would feel comfortable. Probably should have been 
doing that all along. Ditto with SOLR-4116.

> TransactionLog.next() does not honor contract and return null for EOF
> ---------------------------------------------------------------------
>
>                 Key: SOLR-8292
>                 URL: https://issues.apache.org/jira/browse/SOLR-8292
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Erick Erickson
>            Assignee: Erick Erickson
>         Attachments: SOLR-8292.patch
>
>
> This came to light in CDCR testing, which stresses this code a lot, there's a 
> stack trace showing this line (641 trunk) throwing an EOF exception:
> o = codec.readVal(fis);
> At first I thought to just wrap reading fis in a try/catch and return null, 
> but looking at the code a bit more I'm not so sure, that seems like it'd mask 
> what looks at first glance like a bug in the logic.
> A few lines earlier (633-4) there's these lines:
> // shouldn't currently happen - header and first record are currently written 
> at the same time
> if (fis.position() >= fos.size()) {
> Why are we comparing the the input file position against the size of the 
> output file? Maybe because the 'i' key is right next to the 'o' key? The 
> comment hints that it's checking for the ability to read the first record in 
> input stream along with the header. And perhaps there's a different issue 
> here because the expectation clearly is that the first record should be there 
> if the header is.
> So what's the right thing to do? Wrap in a try/catch and return null for EOF? 
> Change the test? Do both?
> I can take care of either, but wanted a clue whether the comparison of fis to 
> fos is intended.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to