You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Nikolai Derzhak <ni...@zapatec.net> on 2009/05/12 11:20:17 UTC
How to deal with "Mark invalid"?
Good day, people.
We use solr to search in mailboxes (dovecot).
But with some "bad" messages solr 1.4-dev generate error:
"
SEVERE: java.io.IOException: Mark invalid
at java.io.BufferedReader.reset(BufferedReader.java:485)
at
org.apache.solr.analysis.HTMLStripReader.restoreState(HTMLStripReader.java:171
.....
"
It's issue known as SOLR-42.
How i can log field stored in index (i need message uid) ?
How to ignore such error and/or message ?
Thanks
Re: How to deal with "Mark invalid"?
Posted by Nikolai Derzhak <ni...@zapatec.net>.
No. This patch not help in case, when data is not HTML, but is parsed by
HTMLStripReader.
Look like we need just fine tuned try/catch in code. To catch only non-HTML
data case.
On Tue, May 12, 2009 at 6:05 PM, Yonik Seeley <yo...@lucidimagination.com>wrote:
> I just committed a minor match suggested by Jim Murphy in SOLR-42 to
> slightly lower the safe read ahead limit to avoid reading beyond a a
> mark. Could you try out trunk (or wait until the next nightly build?)
>
> -Yonik
> http://www.lucidimagination.com
>
> On Tue, May 12, 2009 at 10:57 AM, Nikolai Derzhak <ni...@zapatec.net>
> wrote:
> > OK. I've applied dirty hack as temporary solution:
> >
> > in src/java/org/apache/solr/analysis/HTMLStripReader.java of 1.4-dev -
> > enclosed io.reset in try structure.
> >
> > ( * @version $Id: HTMLStripReader.java 646799 2008-04-10 13:36:23Z yonik
> $)
> > "
> > private void restoreState() throws IOException {
> > try {
> > in.reset();
> > } catch (Exception e) {
> > }
> > pushed.setLength(0);
> > }
> >
> > "
> >
> > But how to resolve this problem more civilized ?
> >
> > On Tue, May 12, 2009 at 12:20 PM, Nikolai Derzhak <nikolai@zapatec.net
> >wrote:
> >
> >> Good day, people.
> >>
> >> We use solr to search in mailboxes (dovecot).
> >> But with some "bad" messages solr 1.4-dev generate error:
> >> "
> >> SEVERE: java.io.IOException: Mark invalid
> >> at java.io.BufferedReader.reset(BufferedReader.java:485)
> >> at
> >>
> org.apache.solr.analysis.HTMLStripReader.restoreState(HTMLStripReader.java:171
> >>
> >> .....
> >> "
> >> It's issue known as SOLR-42.
> >>
> >> How i can log field stored in index (i need message uid) ?
> >>
> >> How to ignore such error and/or message ?
> >>
> >> Thanks
> >
>
Re: How to deal with "Mark invalid"?
Posted by Yonik Seeley <yo...@lucidimagination.com>.
I just committed a minor match suggested by Jim Murphy in SOLR-42 to
slightly lower the safe read ahead limit to avoid reading beyond a a
mark. Could you try out trunk (or wait until the next nightly build?)
-Yonik
http://www.lucidimagination.com
On Tue, May 12, 2009 at 10:57 AM, Nikolai Derzhak <ni...@zapatec.net> wrote:
> OK. I've applied dirty hack as temporary solution:
>
> in src/java/org/apache/solr/analysis/HTMLStripReader.java of 1.4-dev -
> enclosed io.reset in try structure.
>
> ( * @version $Id: HTMLStripReader.java 646799 2008-04-10 13:36:23Z yonik $)
> "
> private void restoreState() throws IOException {
> try {
> in.reset();
> } catch (Exception e) {
> }
> pushed.setLength(0);
> }
>
> "
>
> But how to resolve this problem more civilized ?
>
> On Tue, May 12, 2009 at 12:20 PM, Nikolai Derzhak <ni...@zapatec.net>wrote:
>
>> Good day, people.
>>
>> We use solr to search in mailboxes (dovecot).
>> But with some "bad" messages solr 1.4-dev generate error:
>> "
>> SEVERE: java.io.IOException: Mark invalid
>> at java.io.BufferedReader.reset(BufferedReader.java:485)
>> at
>> org.apache.solr.analysis.HTMLStripReader.restoreState(HTMLStripReader.java:171
>>
>> .....
>> "
>> It's issue known as SOLR-42.
>>
>> How i can log field stored in index (i need message uid) ?
>>
>> How to ignore such error and/or message ?
>>
>> Thanks
>
Re: How to deal with "Mark invalid"?
Posted by Nikolai Derzhak <ni...@zapatec.net>.
OK. I've applied dirty hack as temporary solution:
in src/java/org/apache/solr/analysis/HTMLStripReader.java of 1.4-dev -
enclosed io.reset in try structure.
( * @version $Id: HTMLStripReader.java 646799 2008-04-10 13:36:23Z yonik $)
"
private void restoreState() throws IOException {
try {
in.reset();
} catch (Exception e) {
}
pushed.setLength(0);
}
"
But how to resolve this problem more civilized ?
On Tue, May 12, 2009 at 12:20 PM, Nikolai Derzhak <ni...@zapatec.net>wrote:
> Good day, people.
>
> We use solr to search in mailboxes (dovecot).
> But with some "bad" messages solr 1.4-dev generate error:
> "
> SEVERE: java.io.IOException: Mark invalid
> at java.io.BufferedReader.reset(BufferedReader.java:485)
> at
> org.apache.solr.analysis.HTMLStripReader.restoreState(HTMLStripReader.java:171
>
> .....
> "
> It's issue known as SOLR-42.
>
> How i can log field stored in index (i need message uid) ?
>
> How to ignore such error and/or message ?
>
> Thanks