lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Smith (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-1825) AttributeSource.getAttribute() should throw better IllegalArgumentException
Date Thu, 20 Aug 2009 17:08:14 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-1825?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745502#action_12745502
] 

Tim Smith commented on LUCENE-1825:
-----------------------------------

Looked a little closer on this and it looks like if the root TokenStream does not addAttribute()
for all attributes expected by the indexer, this exception occurs

I suppose if the Indexer called addAttribute() instead of getAttribute() this wouldn't happen
(attributes not provided by TokenStream, but required by Indexer would be initialized at index
time (and would remain "empty"))

> AttributeSource.getAttribute() should throw better IllegalArgumentException
> ---------------------------------------------------------------------------
>
>                 Key: LUCENE-1825
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1825
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Analysis
>    Affects Versions: 2.9
>            Reporter: Tim Smith
>            Priority: Minor
>
> when seting "use only new API" for TokenStream, i received the following exception:
> {code}
>    [junit] Caused by: java.lang.IllegalArgumentException: This AttributeSource does not
have the attribute 'interface org.apache.lucene.analysis.tokenattributes.TermAttribute'.
>     [junit] 	at org.apache.lucene.util.AttributeSource.getAttribute(AttributeSource.java:249)
>     [junit] 	at org.apache.lucene.index.TermsHashPerField.start(TermsHashPerField.java:252)
>     [junit] 	at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:145)
>     [junit] 	at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:244)
>     [junit] 	at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:772)
>     [junit] 	at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:755)
>     [junit] 	at org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:2613)
> {code}
> However, i can't actually see the culprit that caused this exception
> suggest that the IllegalArgumentException include "getClass().getName()" in order to
be able to identify which TokenStream implementation actually caused this

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


Mime
View raw message