You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Muir (JIRA)" <ji...@apache.org> on 2010/10/19 03:40:28 UTC
[jira] Updated: (SOLR-1794) Dataimport of CLOB fields fails when
getCharacterStream() is defined in a superclass
[ https://issues.apache.org/jira/browse/SOLR-1794?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Muir updated SOLR-1794:
------------------------------
Attachment: SOLR-1794.patch
I don't understand why reflection is being used here at all.
getCharacterStream and getBinaryStream are both defined as public methods in the java.sql.Clob/Blob interfaces since java 1.4, so all the reflection and comments like:
{noformat}
//Most of the JDBC drivers have getBinaryStream defined as public
{noformat}
make no sense to me... of course its public, it *must be* !
all tests patch with the reflection removed.
> Dataimport of CLOB fields fails when getCharacterStream() is defined in a superclass
> ------------------------------------------------------------------------------------
>
> Key: SOLR-1794
> URL: https://issues.apache.org/jira/browse/SOLR-1794
> Project: Solr
> Issue Type: Bug
> Components: contrib - DataImportHandler
> Affects Versions: 1.4
> Environment: Oracle WebLogic 10.3.2
> Reporter: Gunnar Gauslaa Bergem
> Attachments: FieldReaderDataSource.java, SOLR-1794.patch
>
>
> When running Solr on WebLogic application server 10.3.2, the dataimport for CLOB fields are failing. Line 109 in FieldReaderDataSource.java illustrates the problem:
> Method m = clob.getClass().getDeclaredMethod("getCharacterStream");
> Since getDeclaredMethod instead of getMethod is used, the getCharacterStream() method will not be found if it is defined in a superclass of clob. This is exactly what
> happens in e.g. WebLogic 10.3.2, since the object returned is a dynamically created wrapper class called Clob_oracle_sql_CLOB. This class does not define
> getCharacterStream(), but it inherits from another class that does. This problem will also occur in other places where getDeclaredMethod used in conjunction with the CLOB
> or BLOB datatypes.
> Stacktrace:
> org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to get reader from clob Processing Document # 1
> at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72)
> at org.apache.solr.handler.dataimport.FieldReaderDataSource.readCharStream(FieldReaderDataSource.java:118)
> at org.apache.solr.handler.dataimport.ClobTransformer.readFromClob(ClobTransformer.java:69)
> at org.apache.solr.handler.dataimport.ClobTransformer.transformRow(ClobTransformer.java:61)
> at org.apache.solr.handler.dataimport.EntityProcessorWrapper.applyTransformer(EntityProcessorWrapper.java:195)
> at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:241)
> at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:357)
> at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:383)
> at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:242)
> at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:180)
> at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:331)
> at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389)
> at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:370)
> Caused by: java.lang.NoSuchMethodException: weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB.getCharacterStream()
> at java.lang.Class.getDeclaredMethod(Class.java:1937)
> at org.apache.solr.handler.dataimport.FieldReaderDataSource.readCharStream(FieldReaderDataSource.java:109)
> ... 11 more
--
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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org