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 Joel Bernstein <jo...@gmail.com> on 2016/06/23 11:56:13 UTC

Re: Errors for Streaming Expressions using JDBC (Oracle) stream source

I'm wondering if you're selecting an unsupported data type. The exception
being thrown looks like it could happen if that were the case. The
supported types are in the Java doc.
https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.0/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java

Joel Bernstein
http://joelsolr.blogspot.com/

On Wed, Jun 22, 2016 at 11:46 PM, Hui Liu <hl...@opentext.com> wrote:

> Hi,
>
>
>
>               I have Solr 6.0.0 installed on my PC (windows 7), I was
> experimenting with ‘Streaming Expression’ by using Oracle jdbc as the
> stream source, following is the http command I am using:
>
>
>
> http://localhost:8988/solr/document5/stream?expr=jdbc(connection=
> "jdbc:oracle:thin:qa_docrep/
> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
> document_id,sender_msg_dest,recip_msg_dest,document_type,document_key,sender_bu_id,recip_bu_id,date_created
> FROM tg_document WHERE rownum < 5",sort="document_id
> asc",driver="oracle.jdbc.driver.OracleDriver")
>
>
>
>               I can access this Oracle db from my PC via regular JDBC
> connection. I did put Oracle jdbc driver jar ‘ojdbc14.jar’ (same jar used
> in my regular jdbc code) under Solr/server/lib dir and restarted Solr
> cloud. Below is the error from solr.log (got a null pointer error); I am
> merely trying to get the data returned from Oracle table, I have not tried
> to index them in the Solr yet, attached is the shema.xml and solrconfig.xml
> for this collection ‘document5’; does anyone know what am I missing? thanks
> for any help!
>
>
>
> Regards,
>
> Hui Liu
>
>
>
> Error from Solr.log:
>
> =====================
>
> 2016-06-23 03:17:34.413 INFO  (qtp1389647288-19) [c:document5 s:shard2
> r:core_node2 x:document5_shard2_replica1] o.a.s.c.S.Request
> [document5_shard2_replica1]  webapp=/solr path=/stream
> params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+document_id,sender_msg_dest,recip_msg_dest,document_type,document_key,sender_bu_id,recip_bu_id+FROM+tg_document+WHERE+rownum+<+5",sort%3D"document_id+asc",driver%3D"oracle.jdbc.OracleDriver")}
> status=0 QTime=0
>
> 2016-06-23 03:17:37.588 ERROR (qtp1389647288-19) [c:document5 s:shard2
> r:core_node2 x:document5_shard2_replica1] o.a.s.c.s.i.s.ExceptionStream
> java.lang.NullPointerException
>
>               at
> org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.java:305)
>
>               at
> org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionStream.java:64)
>
>               at
> org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.java:374)
>
>               at
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:305)
>
>               at
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
>
>               at
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
>
>               at
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
>
>               at
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
>
>               at
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
>
>               at
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>
>               at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
>
>               at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>
>               at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>
>               at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>
>               at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
>
>               at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
>
>               at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
>
>               at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
>
>               at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>
>               at org.eclipse.jetty.server.Server.handle(Server.java:518)
>
>               at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>
>               at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
>
>               at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
>
>               at
> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>
>               at
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>
>               at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
>
>               at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
>
>               at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>
>               at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>
>               at java.lang.Thread.run(Thread.java:745)
>
>
>
> 2016-06-23 03:17:37.589 ERROR (qtp1389647288-19) [c:document5 s:shard2
> r:core_node2 x:document5_shard2_replica1] o.a.s.s.HttpSolrCall
> null:java.lang.RuntimeException: java.lang.AbstractMethodError: Method
> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>
>               at
> org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:605)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
>
>               at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
>
>               at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>
>               at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>
>               at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>
>               at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
>
>               at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
>
>               at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
>
>               at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
>
>               at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>
>               at org.eclipse.jetty.server.Server.handle(Server.java:518)
>
>               at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>
>               at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
>
>               at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
>
>               at
> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>
>               at
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>
>               at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
>
>               at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
>
>               at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>
>               at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>
>               at java.lang.Thread.run(Thread.java:745)
>
> Caused by: java.lang.AbstractMethodError: Method
> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>
>               at
> oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
>
>               at
> org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.java:287)
>
>               at
> org.apache.solr.client.solrj.io.stream.ExceptionStream.close(ExceptionStream.java:79)
>
>               at
> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.java:357)
>
>               at
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:317)
>
>               at
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
>
>               at
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
>
>               at
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
>
>               at
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
>
>               at
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
>
>               at
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>
>               ... 26 more
>
>
>
> 2016-06-23 03:17:37.590 WARN  (qtp1389647288-19) [c:document5 s:shard2
> r:core_node2 x:document5_shard2_replica1] o.e.j.s.ServletHandler Error for
> /solr/document5/stream
>
> java.lang.AbstractMethodError: Method
> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>
>               at
> oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
>
>               at
> org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.java:287)
>
>               at
> org.apache.solr.client.solrj.io.stream.ExceptionStream.close(ExceptionStream.java:79)
>
>               at
> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.java:357)
>
>               at
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:317)
>
>               at
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
>
>               at
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
>
>               at
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
>
>               at
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
>
>               at
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
>
>               at
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>
>               at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
>
>               at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>
>               at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>
>               at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>
>               at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
>
>               at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
>
>               at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
>
>               at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
>
>               at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>
>               at org.eclipse.jetty.server.Server.handle(Server.java:518)
>
>               at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>
>               at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
>
>               at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
>
>               at
> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>
>               at
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>
>               at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
>
>               at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
>
>               at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>
>               at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>
>               at java.lang.Thread.run(Thread.java:745)
>

RE: Errors for Streaming Expressions using JDBC (Oracle) stream source

Posted by Hui Liu <hl...@opentext.com>.
Opened ticket: Issue SOLR-9246 - Errors for Streaming Expressions using JDBC (Oracle) stream source

Regards,
Hui
-----Original Message-----
From: Joel Bernstein [mailto:joelsolr@gmail.com] 
Sent: Thursday, June 23, 2016 11:56 AM
To: solr-user@lucene.apache.org
Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) stream source

Ok you should be able to create the jira.

Joel Bernstein
http://joelsolr.blogspot.com/

On Thu, Jun 23, 2016 at 11:52 AM, Hui Liu <hl...@opentext.com> wrote:

> Joel, I just opened an account for this, my user name is 
> hliu@opentext.com; let me know when I can open the ticket.
>
> And thanks for the info, I will be glad to do any collaboration needed 
> as a reporter on this issue, so feel free to let me know what I need to do.
>
> Regards,
> Hui
>
> -----Original Message-----
> From: Joel Bernstein [mailto:joelsolr@gmail.com]
> Sent: Thursday, June 23, 2016 11:23 AM
> To: solr-user@lucene.apache.org
> Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) 
> stream source
>
> Sure. You can create a ticket from here
>
> https://issues.apache.org/jira/browse/SOLR/?selectedTab=com.atlassian.
> jira.jira-projects-plugin:summary-panel
>
> After you've created an account I'll need to add your username to the 
> contributors group. If you post your username back to this thread I'll 
> do that.
>
> Then you can open a ticket.
>
> This particular issue will require access to an Oracle database so it 
> will likely be handled as a collaboration between the reporter and a 
> committer, because not all committers are going to have access to Oracle.
>
> DIH will accomplish the data load for you.
>
> The JDBCStream can be used to do things like joins involving RDMBS and 
> Solr.
>
>
>
>
>
>
>
>
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
> On Thu, Jun 23, 2016 at 11:06 AM, Hui Liu <hl...@opentext.com> wrote:
>
> > Thanks Joel, I have never opened a ticket before with Solr, do you 
> > know the steps (url etc) I should follow? I will be glad to do so...
> > At the meantime, I guess the workaround is to use 'data import 
> > handler' to get the data from Oracle into Solr?
> >
> > Regards,
> > Hui
> > -----Original Message-----
> > From: Joel Bernstein [mailto:joelsolr@gmail.com]
> > Sent: Thursday, June 23, 2016 10:55 AM
> > To: solr-user@lucene.apache.org
> > Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) 
> > stream source
> >
> > Let's open a ticket for this issue specific to Oracle.
> >
> > Joel Bernstein
> > http://joelsolr.blogspot.com/
> >
> > On Thu, Jun 23, 2016 at 10:54 AM, Joel Bernstein 
> > <jo...@gmail.com>
> > wrote:
> >
> > > I think we're going to have to add some debugging into the code to 
> > > find what's going on. On line 225 in JDBCStream it's getting the 
> > > class name for each column. It would be good know what the class 
> > > names are that the Oracles driver is returning.
> > >
> > >
> > > https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.
> > > 0/
> > > solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.
> > > java
> > >
> > > We probably need to throw an exception that includes the class 
> > > name to help users report what different drivers using for the classes.
> > >
> > >
> > > Joel Bernstein
> > > http://joelsolr.blogspot.com/
> > >
> > > On Thu, Jun 23, 2016 at 10:18 AM, Hui Liu <hl...@opentext.com> wrote:
> > >
> > >> Joel - thanks for the quick response, in my previous test, the 
> > >> collection 'document5' does have a field called 'date_created'
> > >> which is type 'date', even though my SQL SELECT below did not 
> > >> select any un-supported data type (all columns are either long or 
> > >> String in jdbc type); but to totally rule out this issue, I 
> > >> created a new collection 'document6' which only contain long and 
> > >> string data type, and a new Oracle table 'document6' that only 
> > >> contain columns whose jdbc type is long and string, see below for 
> > >> schema.xml
> and table definition:
> > >>
> > >> schema.xml for Solr collection 'document6': (newly created empty 
> > >> collections with 2 shards)
> > >>
> > >> =================================================================
> > >> == == ============= <schema name="document6" version="1.1">
> > >>   <types>
> > >>      <fieldType name="uuid" class="solr.UUIDField" />
> > >>      <fieldType name="bigint" class="solr.TrieLongField" />
> > >>      <fieldType name="string" class="solr.StrField"
> > >> sortMissingLast="true" docValues="true" />
> > >>      <fieldType name="long" class="solr.TrieLongField"
> docValues="true"
> > >> precisionStep="0" positionIncrementGap="0"/>
> > >>      <fieldType name="text" class="solr.TextField">
> > >>         <analyzer>
> > >>            <tokenizer class="solr.StandardTokenizerFactory"/>
> > >>         </analyzer>
> > >>       </fieldType>
> > >>       <fieldType name="boolean" class="solr.BoolField"
> > >> sortMissingLast="true" omitNorms="true"/>
> > >>    </types>
> > >>    <fields>
> > >>      <field name="_version_" type="long" indexed="true" stored="true"
> > >> multiValued="false"/>
> > >>      <field name="document_id" type="long" indexed="true"
> stored="true"
> > >> docValues="true"/>
> > >>      <field name="sender_msg_dest" type="string" indexed="true"
> > >> stored="true" docValues="true"/>
> > >>      <field name="recip_msg_dest" type="string" indexed="true"
> > >> stored="true" docValues="true"/>
> > >>      <field name="document_type" type="string" indexed="true"
> > >> stored="true" docValues="true"/>
> > >>      <field name="document_key" type="string" indexed="true"
> > >> stored="true" docValues="true"/>
> > >>    </fields>
> > >>   <defaultSearchField>document_id</defaultSearchField>
> > >>   <uniqueKey>document_id</uniqueKey>
> > >> </schema>
> > >>
> > >> Oracle table 'document6': (newly created Oracle table with 9
> > >> records) 
> > >> ==========================================================
> > >> QA_DOCREP@qlgdb1 > desc document6
> > >>  Name                                      Null?    Type
> > >>  ----------------------------------------- --------
> > >> ----------------------------
> > >>  DOCUMENT_ID                               NOT NULL NUMBER(12)
> > >>  SENDER_MSG_DEST                                    VARCHAR2(256)
> > >>  RECIP_MSG_DEST                                     VARCHAR2(256)
> > >>  DOCUMENT_TYPE                                      VARCHAR2(20)
> > >>  DOCUMENT_KEY                                       VARCHAR2(100)
> > >>
> > >>         Then I tried this jdbc streaming expression in my 
> > >> browser, still getting the same error stack (see below); By 
> > >> looking at the source code you have provided below, it seems Solr 
> > >> is able to connect to this Oracle db, but just cannot read the 
> > >> resultset for some reason? Do you think it has something to do 
> > >> with the jdbc driver
> > version?
> > >>
> > >> http://localhost:8988/solr/document6/stream?expr=jdbc(connection=
> > >> "jdbc:oracle:thin:qa_docrep/
> > >> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
> > >> document_id,sender_msg_dest,recip_msg_dest,document_type,document
> > >> _k
> > >> ey
> > >> FROM document6",sort="document_id
> > >> asc",driver="oracle.jdbc.driver.OracleDriver")
> > >>
> > >> errors in solr.log
> > >> ==================
> > >> 2016-06-23 14:07:02.833 INFO  (qtp1389647288-139) [c:document6
> > >> s:shard2
> > >> r:core_node1 x:document6_shard2_replica1] o.a.s.c.S.Request 
> > >> [document6_shard2_replica1]  webapp=/solr path=/stream 
> > >> params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
> > >> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT
> > >> +d
> > >> oc
> > >> ument_id,sender_msg_dest,recip_msg_dest,document_type,document_ke
> > >> y+
> > >> FR
> > >> OM+document6",sort%3D"document_id+asc",driver%3D"oracle.jdbc.driv
> > >> OM+er
> > >> OM+.O
> > >> racleDriver")}
> > >> status=0 QTime=1
> > >> 2016-06-23 14:07:05.282 ERROR (qtp1389647288-139) [c:document6
> > >> s:shard2
> > >> r:core_node1 x:document6_shard2_replica1] 
> > >> o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
> > >>         at
> > >>
> > org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.ja
> > va
> > :305)
> > >>         at
> > >>
> > org.apache.solr.client.solrj.io.stream.ExceptionStream.read(Exceptio
> > nS
> > tream.java:64)
> > >>         at
> > >>
> > org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler
> > .j
> > ava:374)
> > >>         at
> > >>
> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRes
> > po
> > nseWriter.java:305)
> > >>         at
> > >>
> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWri
> > te
> > r.java:167)
> > >>         at
> > >>
> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSON
> > Re
> > sponseWriter.java:183)
> > >>         at
> > >>
> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > java:299)
> > >>         at
> > >>
> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter
> > .j
> > ava:95)
> > >>         at
> > >>
> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter
> > .j
> > ava:60)
> > >>         at
> > >>
> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(
> > Qu
> > eryResponseWriterUtil.java:65)
> > >>         at
> > >>
> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java
> > :7
> > 25)
> > >>         at
> > >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> > >>         at
> > >>
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilt
> > er
> > .java:229)
> > >>         at
> > >>
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilt
> > er
> > .java:184)
> > >>         at
> > >>
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
> > tH
> > andler.java:1668)
> > >>         at
> > >>
> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > 581)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
> > ja
> > va:143)
> > >>         at
> > >>
> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.ja
> > va
> > :548)
> > >>         at
> > >>
> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHand
> > le
> > r.java:226)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHand
> > le
> > r.java:1160)
> > >>         at
> > >>
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java
> > :5
> > 11)
> > >>         at
> > >>
> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandl
> > er
> > .java:185)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandl
> > er
> > .java:1092)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
> > ja
> > va:141)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Con
> > te
> > xtHandlerCollection.java:213)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCol
> > le
> > ction.java:119)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > java:134)
> > >>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
> > >>         at
> > >> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> > >>         at
> > >>
> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.ja
> > va
> > :244)
> > >>         at
> > >>
> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstr
> > ac
> > tConnection.java:273)
> > >>         at
> > >> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> > >>         at
> > >>
> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoi
> > nt
> > .java:93)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produce
> > An
> > dRun(ExecuteProduceConsume.java:246)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exe
> > cu
> > teProduceConsume.java:156)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPo
> > ol
> > .java:654)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > java:572)
> > >>         at java.lang.Thread.run(Thread.java:745)
> > >>
> > >> 2016-06-23 14:07:05.285 ERROR (qtp1389647288-139) [c:document6
> > >> s:shard2
> > >> r:core_node1 x:document6_shard2_replica1] o.a.s.s.HttpSolrCall
> > >> null:java.lang.RuntimeException: java.lang.AbstractMethodError:
> > >> Method oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> > >>         at
> > >> org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:605)
> > >>         at
> > >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
> > >>         at
> > >>
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilt
> > er
> > .java:229)
> > >>         at
> > >>
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilt
> > er
> > .java:184)
> > >>         at
> > >>
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
> > tH
> > andler.java:1668)
> > >>         at
> > >>
> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > 581)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
> > ja
> > va:143)
> > >>         at
> > >>
> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.ja
> > va
> > :548)
> > >>         at
> > >>
> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHand
> > le
> > r.java:226)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHand
> > le
> > r.java:1160)
> > >>         at
> > >>
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java
> > :5
> > 11)
> > >>         at
> > >>
> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandl
> > er
> > .java:185)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandl
> > er
> > .java:1092)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
> > ja
> > va:141)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Con
> > te
> > xtHandlerCollection.java:213)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCol
> > le
> > ction.java:119)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > java:134)
> > >>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
> > >>         at
> > >> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> > >>         at
> > >>
> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.ja
> > va
> > :244)
> > >>         at
> > >>
> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstr
> > ac
> > tConnection.java:273)
> > >>         at
> > >> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> > >>         at
> > >>
> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoi
> > nt
> > .java:93)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produce
> > An
> > dRun(ExecuteProduceConsume.java:246)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exe
> > cu
> > teProduceConsume.java:156)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPo
> > ol
> > .java:654)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > java:572)
> > >>         at java.lang.Thread.run(Thread.java:745)
> > >> Caused by: java.lang.AbstractMethodError: Method 
> > >> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> > >>         at oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> > >>         at
> > >>
> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.j
> > av
> > a:287)
> > >>         at
> > >>
> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Excepti
> > on
> > Stream.java:79)
> > >>         at
> > >>
> > org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> > java:357)
> > >>         at
> > >>
> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRes
> > po
> > nseWriter.java:317)
> > >>         at
> > >>
> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWri
> > te
> > r.java:167)
> > >>         at
> > >>
> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSON
> > Re
> > sponseWriter.java:183)
> > >>         at
> > >>
> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > java:299)
> > >>         at
> > >>
> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter
> > .j
> > ava:95)
> > >>         at
> > >>
> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter
> > .j
> > ava:60)
> > >>         at
> > >>
> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(
> > Qu
> > eryResponseWriterUtil.java:65)
> > >>         at
> > >>
> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java
> > :7
> > 25)
> > >>         at
> > >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> > >>         ... 26 more
> > >>
> > >> -----Original Message-----
> > >> From: Joel Bernstein [mailto:joelsolr@gmail.com]
> > >> Sent: Thursday, June 23, 2016 7:56 AM
> > >> To: solr-user@lucene.apache.org
> > >> Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) 
> > >> stream source
> > >>
> > >> I'm wondering if you're selecting an unsupported data type. The 
> > >> exception being thrown looks like it could happen if that were 
> > >> the case. The supported types are in the Java doc.
> > >>
> > >> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6
> > >> .0
> > >> .0
> > >> /solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCS
> > >> tr
> > >> ea
> > >> m.java
> > >>
> > >> Joel Bernstein
> > >> http://joelsolr.blogspot.com/
> > >>
> > >> On Wed, Jun 22, 2016 at 11:46 PM, Hui Liu <hl...@opentext.com> wrote:
> > >>
> > >> > Hi,
> > >> >
> > >> >
> > >> >
> > >> >               I have Solr 6.0.0 installed on my PC (windows 7), 
> > >> > I was experimenting with ‘Streaming Expression’ by using Oracle 
> > >> > jdbc as the stream source, following is the http command I am using:
> > >> >
> > >> >
> > >> >
> > >> > http://localhost:8988/solr/document5/stream?expr=jdbc(connectio
> > >> > n=
> > >> > "jdbc:oracle:thin:qa_docrep/
> > >> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
> > >> > document_id,sender_msg_dest,recip_msg_dest,document_type,docume
> > >> > nt _k ey, sender_bu_id,recip_bu_id,date_created
> > >> > FROM tg_document WHERE rownum < 5",sort="document_id
> > >> > asc",driver="oracle.jdbc.driver.OracleDriver")
> > >> >
> > >> >
> > >> >
> > >> >               I can access this Oracle db from my PC via 
> > >> > regular JDBC connection. I did put Oracle jdbc driver jar ‘ojdbc14.jar’
> > >> > (same jar used in my regular jdbc code) under Solr/server/lib 
> > >> > dir and restarted Solr cloud. Below is the error from solr.log 
> > >> > (got a null pointer error); I am merely trying to get the data 
> > >> > returned from Oracle table, I have not tried to index them in 
> > >> > the Solr yet, attached is the shema.xml and solrconfig.xml for 
> > >> > this collection ‘document5’; does anyone know what am I 
> > >> > missing? thanks
> for any help!
> > >> >
> > >> >
> > >> >
> > >> > Regards,
> > >> >
> > >> > Hui Liu
> > >> >
> > >> >
> > >> >
> > >> > Error from Solr.log:
> > >> >
> > >> > =====================
> > >> >
> > >> > 2016-06-23 03:17:34.413 INFO  (qtp1389647288-19) [c:document5
> > >> > s:shard2
> > >> > r:core_node2 x:document5_shard2_replica1] o.a.s.c.S.Request 
> > >> > [document5_shard2_replica1]  webapp=/solr path=/stream 
> > >> > params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
> > >> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELE
> > >> > CT
> > >> > +d
> > >> > ocu
> > >> > ment_id,sender_msg_dest,recip_msg_dest,document_type,document_k
> > >> > ey
> > >> > ,s
> > >> > end
> > >> > er_bu_id,recip_bu_id+FROM+tg_document+WHERE+rownum+<+5",sort%3D
> > >> > "d oc ume nt_id+asc",driver%3D"oracle.jdbc.OracleDriver")}
> > >> > status=0 QTime=0
> > >> >
> > >> > 2016-06-23 03:17:37.588 ERROR (qtp1389647288-19) [c:document5
> > >> > s:shard2
> > >> > r:core_node2 x:document5_shard2_replica1] 
> > >> > o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
> > >> >
> > >> >               at
> > >> > org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStre
> > >> > am
> > >> > .j
> > >> > ava
> > >> > :305)
> > >> >
> > >> >               at
> > >> > org.apache.solr.client.solrj.io.stream.ExceptionStream.read(Exc
> > >> > ep
> > >> > ti
> > >> > onS
> > >> > tream.java:64)
> > >> >
> > >> >               at
> > >> > org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHa
> > >> > nd
> > >> > le
> > >> > r.j
> > >> > ava:374)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.TextResponseWriter.writeTupleStream(Te
> > >> > xt
> > >> > Re
> > >> > spo
> > >> > nseWriter.java:305)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.TextResponseWriter.writeVal(TextRespon
> > >> > se
> > >> > Wr
> > >> > ite
> > >> > r.java:167)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups
> > >> > (J
> > >> > SO
> > >> > NRe
> > >> > sponseWriter.java:183)
> > >> >
> > >> >               at
> > >> >
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > >> > java:299)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseW
> > >> > ri
> > >> > te
> > >> > r.j
> > >> > ava:95)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseW
> > >> > ri
> > >> > te
> > >> > r.j
> > >> > ava:60)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResp
> > >> > on
> > >> > se
> > >> > (Qu
> > >> > eryResponseWriterUtil.java:65)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall
> > >> > .j
> > >> > av
> > >> > a:7
> > >> > 25)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469
> > >> > )
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatc
> > >> > hF
> > >> > il
> > >> > ter
> > >> > .java:229)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatc
> > >> > hF
> > >> > il
> > >> > ter
> > >> > .java:184)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(S
> > >> > er
> > >> > vl
> > >> > etH
> > >> > andler.java:1668)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > >> > 581)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHan
> > >> > dl
> > >> > er
> > >> > .ja
> > >> > va:143)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandl
> > >> > er
> > >> > .j
> > >> > ava
> > >> > :548)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessio
> > >> > nH
> > >> > an
> > >> > dle
> > >> > r.java:226)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(Contex
> > >> > tH
> > >> > an
> > >> > dle
> > >> > r.java:1160)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler
> > >> > .j
> > >> > av
> > >> > a:5
> > >> > 11)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.session.SessionHandler.doScope(Session
> > >> > Ha
> > >> > nd
> > >> > ler
> > >> > .java:185)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(Context
> > >> > Ha
> > >> > nd
> > >> > ler
> > >> > .java:1092)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHan
> > >> > dl
> > >> > er
> > >> > .ja
> > >> > va:141)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handl
> > >> > e(
> > >> > Co
> > >> > nte
> > >> > xtHandlerCollection.java:213)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(Handl
> > >> > er
> > >> > Co
> > >> > lle
> > >> > ction.java:119)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > >> > java:134)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:30
> > >> > 8)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnecti
> > >> > on
> > >> > .j
> > >> > ava
> > >> > :244)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(
> > >> > Ab
> > >> > st
> > >> > rac
> > >> > tConnection.java:273)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95
> > >> > )
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelE
> > >> > nd
> > >> > Po
> > >> > int
> > >> > .java:93)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.pr
> > >> > od
> > >> > uc
> > >> > eAn
> > >> > dRun(ExecuteProduceConsume.java:246)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.ru
> > >> > n(
> > >> > Ex
> > >> > ecu
> > >> > teProduceConsume.java:156)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThr
> > >> > ea
> > >> > dP
> > >> > ool
> > >> > .java:654)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > >> > java:572)
> > >> >
> > >> >               at java.lang.Thread.run(Thread.java:745)
> > >> >
> > >> >
> > >> >
> > >> > 2016-06-23 03:17:37.589 ERROR (qtp1389647288-19) [c:document5
> > >> > s:shard2
> > >> > r:core_node2 x:document5_shard2_replica1] o.a.s.s.HttpSolrCall
> > >> > null:java.lang.RuntimeException: java.lang.AbstractMethodError:
> > >> > Method oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:
> > >> > 60
> > >> > 5)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475
> > >> > )
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatc
> > >> > hF
> > >> > il
> > >> > ter
> > >> > .java:229)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatc
> > >> > hF
> > >> > il
> > >> > ter
> > >> > .java:184)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(S
> > >> > er
> > >> > vl
> > >> > etH
> > >> > andler.java:1668)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > >> > 581)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHan
> > >> > dl
> > >> > er
> > >> > .ja
> > >> > va:143)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandl
> > >> > er
> > >> > .j
> > >> > ava
> > >> > :548)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessio
> > >> > nH
> > >> > an
> > >> > dle
> > >> > r.java:226)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(Contex
> > >> > tH
> > >> > an
> > >> > dle
> > >> > r.java:1160)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler
> > >> > .j
> > >> > av
> > >> > a:5
> > >> > 11)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.session.SessionHandler.doScope(Session
> > >> > Ha
> > >> > nd
> > >> > ler
> > >> > .java:185)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(Context
> > >> > Ha
> > >> > nd
> > >> > ler
> > >> > .java:1092)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHan
> > >> > dl
> > >> > er
> > >> > .ja
> > >> > va:141)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handl
> > >> > e(
> > >> > Co
> > >> > nte
> > >> > xtHandlerCollection.java:213)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(Handl
> > >> > er
> > >> > Co
> > >> > lle
> > >> > ction.java:119)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > >> > java:134)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:30
> > >> > 8)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnecti
> > >> > on
> > >> > .j
> > >> > ava
> > >> > :244)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(
> > >> > Ab
> > >> > st
> > >> > rac
> > >> > tConnection.java:273)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95
> > >> > )
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelE
> > >> > nd
> > >> > Po
> > >> > int
> > >> > .java:93)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.pr
> > >> > od
> > >> > uc
> > >> > eAn
> > >> > dRun(ExecuteProduceConsume.java:246)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.ru
> > >> > n(
> > >> > Ex
> > >> > ecu
> > >> > teProduceConsume.java:156)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThr
> > >> > ea
> > >> > dP
> > >> > ool
> > >> > .java:654)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > >> > java:572)
> > >> >
> > >> >               at java.lang.Thread.run(Thread.java:745)
> > >> >
> > >> > Caused by: java.lang.AbstractMethodError: Method 
> > >> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> > >> >
> > >> >               at
> > >> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> > >> >
> > >> >               at
> > >> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.
> > >> > jav
> > >> > a:287)
> > >> >
> > >> >               at
> > >> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Ex
> > >> > ce
> > >> > pt
> > >> > ion
> > >> > Stream.java:79)
> > >> >
> > >> >               at
> > >> >
> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> > >> > java:357)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.TextResponseWriter.writeTupleStream(Te
> > >> > xt
> > >> > Re
> > >> > spo
> > >> > nseWriter.java:317)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.TextResponseWriter.writeVal(TextRespon
> > >> > se
> > >> > Wr
> > >> > ite
> > >> > r.java:167)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups
> > >> > (J
> > >> > SO
> > >> > NRe
> > >> > sponseWriter.java:183)
> > >> >
> > >> >               at
> > >> >
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > >> > java:299)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseW
> > >> > ri
> > >> > te
> > >> > r.j
> > >> > ava:95)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseW
> > >> > ri
> > >> > te
> > >> > r.j
> > >> > ava:60)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResp
> > >> > on
> > >> > se
> > >> > (Qu
> > >> > eryResponseWriterUtil.java:65)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall
> > >> > .j
> > >> > av
> > >> > a:7
> > >> > 25)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469
> > >> > )
> > >> >
> > >> >               ... 26 more
> > >> >
> > >> >
> > >> >
> > >> > 2016-06-23 03:17:37.590 WARN  (qtp1389647288-19) [c:document5
> > >> > s:shard2
> > >> > r:core_node2 x:document5_shard2_replica1] 
> > >> > o.e.j.s.ServletHandler Error for /solr/document5/stream
> > >> >
> > >> > java.lang.AbstractMethodError: Method 
> > >> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> > >> >
> > >> >               at
> > >> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> > >> >
> > >> >               at
> > >> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.
> > >> > jav
> > >> > a:287)
> > >> >
> > >> >               at
> > >> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Ex
> > >> > ce
> > >> > pt
> > >> > ion
> > >> > Stream.java:79)
> > >> >
> > >> >               at
> > >> >
> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> > >> > java:357)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.TextResponseWriter.writeTupleStream(Te
> > >> > xt
> > >> > Re
> > >> > spo
> > >> > nseWriter.java:317)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.TextResponseWriter.writeVal(TextRespon
> > >> > se
> > >> > Wr
> > >> > ite
> > >> > r.java:167)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups
> > >> > (J
> > >> > SO
> > >> > NRe
> > >> > sponseWriter.java:183)
> > >> >
> > >> >               at
> > >> >
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > >> > java:299)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseW
> > >> > ri
> > >> > te
> > >> > r.j
> > >> > ava:95)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseW
> > >> > ri
> > >> > te
> > >> > r.j
> > >> > ava:60)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResp
> > >> > on
> > >> > se
> > >> > (Qu
> > >> > eryResponseWriterUtil.java:65)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall
> > >> > .j
> > >> > av
> > >> > a:7
> > >> > 25)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469
> > >> > )
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatc
> > >> > hF
> > >> > il
> > >> > ter
> > >> > .java:229)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatc
> > >> > hF
> > >> > il
> > >> > ter
> > >> > .java:184)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(S
> > >> > er
> > >> > vl
> > >> > etH
> > >> > andler.java:1668)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > >> > 581)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHan
> > >> > dl
> > >> > er
> > >> > .ja
> > >> > va:143)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandl
> > >> > er
> > >> > .j
> > >> > ava
> > >> > :548)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessio
> > >> > nH
> > >> > an
> > >> > dle
> > >> > r.java:226)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(Contex
> > >> > tH
> > >> > an
> > >> > dle
> > >> > r.java:1160)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler
> > >> > .j
> > >> > av
> > >> > a:5
> > >> > 11)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.session.SessionHandler.doScope(Session
> > >> > Ha
> > >> > nd
> > >> > ler
> > >> > .java:185)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(Context
> > >> > Ha
> > >> > nd
> > >> > ler
> > >> > .java:1092)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHan
> > >> > dl
> > >> > er
> > >> > .ja
> > >> > va:141)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handl
> > >> > e(
> > >> > Co
> > >> > nte
> > >> > xtHandlerCollection.java:213)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(Handl
> > >> > er
> > >> > Co
> > >> > lle
> > >> > ction.java:119)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > >> > java:134)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:30
> > >> > 8)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnecti
> > >> > on
> > >> > .j
> > >> > ava
> > >> > :244)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(
> > >> > Ab
> > >> > st
> > >> > rac
> > >> > tConnection.java:273)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95
> > >> > )
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelE
> > >> > nd
> > >> > Po
> > >> > int
> > >> > .java:93)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.pr
> > >> > od
> > >> > uc
> > >> > eAn
> > >> > dRun(ExecuteProduceConsume.java:246)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.ru
> > >> > n(
> > >> > Ex
> > >> > ecu
> > >> > teProduceConsume.java:156)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThr
> > >> > ea
> > >> > dP
> > >> > ool
> > >> > .java:654)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > >> > java:572)
> > >> >
> > >> >               at java.lang.Thread.run(Thread.java:745)
> > >> >
> > >>
> > >
> > >
> >
>

Re: Errors for Streaming Expressions using JDBC (Oracle) stream source

Posted by Joel Bernstein <jo...@gmail.com>.
Ok you should be able to create the jira.

Joel Bernstein
http://joelsolr.blogspot.com/

On Thu, Jun 23, 2016 at 11:52 AM, Hui Liu <hl...@opentext.com> wrote:

> Joel, I just opened an account for this, my user name is hliu@opentext.com;
> let me know when I can open the ticket.
>
> And thanks for the info, I will be glad to do any collaboration needed as
> a reporter on this issue, so feel free to let me know what I need to do.
>
> Regards,
> Hui
>
> -----Original Message-----
> From: Joel Bernstein [mailto:joelsolr@gmail.com]
> Sent: Thursday, June 23, 2016 11:23 AM
> To: solr-user@lucene.apache.org
> Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) stream
> source
>
> Sure. You can create a ticket from here
>
> https://issues.apache.org/jira/browse/SOLR/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel
>
> After you've created an account I'll need to add your username to the
> contributors group. If you post your username back to this thread I'll do
> that.
>
> Then you can open a ticket.
>
> This particular issue will require access to an Oracle database so it will
> likely be handled as a collaboration between the reporter and a committer,
> because not all committers are going to have access to Oracle.
>
> DIH will accomplish the data load for you.
>
> The JDBCStream can be used to do things like joins involving RDMBS and
> Solr.
>
>
>
>
>
>
>
>
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
> On Thu, Jun 23, 2016 at 11:06 AM, Hui Liu <hl...@opentext.com> wrote:
>
> > Thanks Joel, I have never opened a ticket before with Solr, do you
> > know the steps (url etc) I should follow? I will be glad to do so...
> > At the meantime, I guess the workaround is to use 'data import
> > handler' to get the data from Oracle into Solr?
> >
> > Regards,
> > Hui
> > -----Original Message-----
> > From: Joel Bernstein [mailto:joelsolr@gmail.com]
> > Sent: Thursday, June 23, 2016 10:55 AM
> > To: solr-user@lucene.apache.org
> > Subject: Re: Errors for Streaming Expressions using JDBC (Oracle)
> > stream source
> >
> > Let's open a ticket for this issue specific to Oracle.
> >
> > Joel Bernstein
> > http://joelsolr.blogspot.com/
> >
> > On Thu, Jun 23, 2016 at 10:54 AM, Joel Bernstein <jo...@gmail.com>
> > wrote:
> >
> > > I think we're going to have to add some debugging into the code to
> > > find what's going on. On line 225 in JDBCStream it's getting the
> > > class name for each column. It would be good know what the class
> > > names are that the Oracles driver is returning.
> > >
> > >
> > > https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.
> > > 0/
> > > solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.
> > > java
> > >
> > > We probably need to throw an exception that includes the class name
> > > to help users report what different drivers using for the classes.
> > >
> > >
> > > Joel Bernstein
> > > http://joelsolr.blogspot.com/
> > >
> > > On Thu, Jun 23, 2016 at 10:18 AM, Hui Liu <hl...@opentext.com> wrote:
> > >
> > >> Joel - thanks for the quick response, in my previous test, the
> > >> collection 'document5' does have a field called 'date_created'
> > >> which is type 'date', even though my SQL SELECT below did not
> > >> select any un-supported data type (all columns are either long or
> > >> String in jdbc type); but to totally rule out this issue, I created
> > >> a new collection 'document6' which only contain long and string
> > >> data type, and a new Oracle table 'document6' that only contain
> > >> columns whose jdbc type is long and string, see below for schema.xml
> and table definition:
> > >>
> > >> schema.xml for Solr collection 'document6': (newly created empty
> > >> collections with 2 shards)
> > >>
> > >> ===================================================================
> > >> == ============= <schema name="document6" version="1.1">
> > >>   <types>
> > >>      <fieldType name="uuid" class="solr.UUIDField" />
> > >>      <fieldType name="bigint" class="solr.TrieLongField" />
> > >>      <fieldType name="string" class="solr.StrField"
> > >> sortMissingLast="true" docValues="true" />
> > >>      <fieldType name="long" class="solr.TrieLongField"
> docValues="true"
> > >> precisionStep="0" positionIncrementGap="0"/>
> > >>      <fieldType name="text" class="solr.TextField">
> > >>         <analyzer>
> > >>            <tokenizer class="solr.StandardTokenizerFactory"/>
> > >>         </analyzer>
> > >>       </fieldType>
> > >>       <fieldType name="boolean" class="solr.BoolField"
> > >> sortMissingLast="true" omitNorms="true"/>
> > >>    </types>
> > >>    <fields>
> > >>      <field name="_version_" type="long" indexed="true" stored="true"
> > >> multiValued="false"/>
> > >>      <field name="document_id" type="long" indexed="true"
> stored="true"
> > >> docValues="true"/>
> > >>      <field name="sender_msg_dest" type="string" indexed="true"
> > >> stored="true" docValues="true"/>
> > >>      <field name="recip_msg_dest" type="string" indexed="true"
> > >> stored="true" docValues="true"/>
> > >>      <field name="document_type" type="string" indexed="true"
> > >> stored="true" docValues="true"/>
> > >>      <field name="document_key" type="string" indexed="true"
> > >> stored="true" docValues="true"/>
> > >>    </fields>
> > >>   <defaultSearchField>document_id</defaultSearchField>
> > >>   <uniqueKey>document_id</uniqueKey>
> > >> </schema>
> > >>
> > >> Oracle table 'document6': (newly created Oracle table with 9
> > >> records) ==========================================================
> > >> QA_DOCREP@qlgdb1 > desc document6
> > >>  Name                                      Null?    Type
> > >>  ----------------------------------------- --------
> > >> ----------------------------
> > >>  DOCUMENT_ID                               NOT NULL NUMBER(12)
> > >>  SENDER_MSG_DEST                                    VARCHAR2(256)
> > >>  RECIP_MSG_DEST                                     VARCHAR2(256)
> > >>  DOCUMENT_TYPE                                      VARCHAR2(20)
> > >>  DOCUMENT_KEY                                       VARCHAR2(100)
> > >>
> > >>         Then I tried this jdbc streaming expression in my browser,
> > >> still getting the same error stack (see below); By looking at the
> > >> source code you have provided below, it seems Solr is able to
> > >> connect to this Oracle db, but just cannot read the resultset for
> > >> some reason? Do you think it has something to do with the jdbc
> > >> driver
> > version?
> > >>
> > >> http://localhost:8988/solr/document6/stream?expr=jdbc(connection=
> > >> "jdbc:oracle:thin:qa_docrep/
> > >> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
> > >> document_id,sender_msg_dest,recip_msg_dest,document_type,document_k
> > >> ey
> > >> FROM document6",sort="document_id
> > >> asc",driver="oracle.jdbc.driver.OracleDriver")
> > >>
> > >> errors in solr.log
> > >> ==================
> > >> 2016-06-23 14:07:02.833 INFO  (qtp1389647288-139) [c:document6
> > >> s:shard2
> > >> r:core_node1 x:document6_shard2_replica1] o.a.s.c.S.Request
> > >> [document6_shard2_replica1]  webapp=/solr path=/stream
> > >> params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
> > >> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+d
> > >> oc
> > >> ument_id,sender_msg_dest,recip_msg_dest,document_type,document_key+
> > >> FR
> > >> OM+document6",sort%3D"document_id+asc",driver%3D"oracle.jdbc.driver
> > >> OM+.O
> > >> racleDriver")}
> > >> status=0 QTime=1
> > >> 2016-06-23 14:07:05.282 ERROR (qtp1389647288-139) [c:document6
> > >> s:shard2
> > >> r:core_node1 x:document6_shard2_replica1]
> > >> o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
> > >>         at
> > >>
> > org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.java
> > :305)
> > >>         at
> > >>
> > org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionS
> > tream.java:64)
> > >>         at
> > >>
> > org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.j
> > ava:374)
> > >>         at
> > >>
> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
> > nseWriter.java:305)
> > >>         at
> > >>
> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
> > r.java:167)
> > >>         at
> > >>
> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
> > sponseWriter.java:183)
> > >>         at
> > >>
> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > java:299)
> > >>         at
> > >>
> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
> > ava:95)
> > >>         at
> > >>
> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
> > ava:60)
> > >>         at
> > >>
> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
> > eryResponseWriterUtil.java:65)
> > >>         at
> > >>
> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
> > 25)
> > >>         at
> > >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> > >>         at
> > >>
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> > .java:229)
> > >>         at
> > >>
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> > .java:184)
> > >>         at
> > >>
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> > andler.java:1668)
> > >>         at
> > >>
> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > 581)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> > va:143)
> > >>         at
> > >>
> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
> > :548)
> > >>         at
> > >>
> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> > r.java:226)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> > r.java:1160)
> > >>         at
> > >>
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
> > 11)
> > >>         at
> > >>
> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
> > .java:185)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
> > .java:1092)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> > va:141)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
> > xtHandlerCollection.java:213)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
> > ction.java:119)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > java:134)
> > >>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
> > >>         at
> > >> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> > >>         at
> > >>
> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
> > :244)
> > >>         at
> > >>
> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
> > tConnection.java:273)
> > >>         at
> > >> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> > >>         at
> > >>
> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
> > .java:93)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
> > dRun(ExecuteProduceConsume.java:246)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
> > teProduceConsume.java:156)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
> > .java:654)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > java:572)
> > >>         at java.lang.Thread.run(Thread.java:745)
> > >>
> > >> 2016-06-23 14:07:05.285 ERROR (qtp1389647288-139) [c:document6
> > >> s:shard2
> > >> r:core_node1 x:document6_shard2_replica1] o.a.s.s.HttpSolrCall
> > >> null:java.lang.RuntimeException: java.lang.AbstractMethodError:
> > >> Method oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> > >>         at
> > >> org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:605)
> > >>         at
> > >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
> > >>         at
> > >>
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> > .java:229)
> > >>         at
> > >>
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> > .java:184)
> > >>         at
> > >>
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> > andler.java:1668)
> > >>         at
> > >>
> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > 581)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> > va:143)
> > >>         at
> > >>
> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
> > :548)
> > >>         at
> > >>
> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> > r.java:226)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> > r.java:1160)
> > >>         at
> > >>
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
> > 11)
> > >>         at
> > >>
> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
> > .java:185)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
> > .java:1092)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> > va:141)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
> > xtHandlerCollection.java:213)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
> > ction.java:119)
> > >>         at
> > >>
> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > java:134)
> > >>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
> > >>         at
> > >> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> > >>         at
> > >>
> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
> > :244)
> > >>         at
> > >>
> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
> > tConnection.java:273)
> > >>         at
> > >> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> > >>         at
> > >>
> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
> > .java:93)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
> > dRun(ExecuteProduceConsume.java:246)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
> > teProduceConsume.java:156)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
> > .java:654)
> > >>         at
> > >>
> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > java:572)
> > >>         at java.lang.Thread.run(Thread.java:745)
> > >> Caused by: java.lang.AbstractMethodError: Method
> > >> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> > >>         at oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> > >>         at
> > >>
> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.jav
> > a:287)
> > >>         at
> > >>
> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Exception
> > Stream.java:79)
> > >>         at
> > >>
> > org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> > java:357)
> > >>         at
> > >>
> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
> > nseWriter.java:317)
> > >>         at
> > >>
> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
> > r.java:167)
> > >>         at
> > >>
> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
> > sponseWriter.java:183)
> > >>         at
> > >>
> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > java:299)
> > >>         at
> > >>
> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
> > ava:95)
> > >>         at
> > >>
> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
> > ava:60)
> > >>         at
> > >>
> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
> > eryResponseWriterUtil.java:65)
> > >>         at
> > >>
> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
> > 25)
> > >>         at
> > >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> > >>         ... 26 more
> > >>
> > >> -----Original Message-----
> > >> From: Joel Bernstein [mailto:joelsolr@gmail.com]
> > >> Sent: Thursday, June 23, 2016 7:56 AM
> > >> To: solr-user@lucene.apache.org
> > >> Subject: Re: Errors for Streaming Expressions using JDBC (Oracle)
> > >> stream source
> > >>
> > >> I'm wondering if you're selecting an unsupported data type. The
> > >> exception being thrown looks like it could happen if that were the
> > >> case. The supported types are in the Java doc.
> > >>
> > >> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0
> > >> .0
> > >> /solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStr
> > >> ea
> > >> m.java
> > >>
> > >> Joel Bernstein
> > >> http://joelsolr.blogspot.com/
> > >>
> > >> On Wed, Jun 22, 2016 at 11:46 PM, Hui Liu <hl...@opentext.com> wrote:
> > >>
> > >> > Hi,
> > >> >
> > >> >
> > >> >
> > >> >               I have Solr 6.0.0 installed on my PC (windows 7), I
> > >> > was experimenting with ‘Streaming Expression’ by using Oracle
> > >> > jdbc as the stream source, following is the http command I am using:
> > >> >
> > >> >
> > >> >
> > >> > http://localhost:8988/solr/document5/stream?expr=jdbc(connection=
> > >> > "jdbc:oracle:thin:qa_docrep/
> > >> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
> > >> > document_id,sender_msg_dest,recip_msg_dest,document_type,document
> > >> > _k ey, sender_bu_id,recip_bu_id,date_created
> > >> > FROM tg_document WHERE rownum < 5",sort="document_id
> > >> > asc",driver="oracle.jdbc.driver.OracleDriver")
> > >> >
> > >> >
> > >> >
> > >> >               I can access this Oracle db from my PC via regular
> > >> > JDBC connection. I did put Oracle jdbc driver jar ‘ojdbc14.jar’
> > >> > (same jar used in my regular jdbc code) under Solr/server/lib dir
> > >> > and restarted Solr cloud. Below is the error from solr.log (got a
> > >> > null pointer error); I am merely trying to get the data returned
> > >> > from Oracle table, I have not tried to index them in the Solr
> > >> > yet, attached is the shema.xml and solrconfig.xml for this
> > >> > collection ‘document5’; does anyone know what am I missing? thanks
> for any help!
> > >> >
> > >> >
> > >> >
> > >> > Regards,
> > >> >
> > >> > Hui Liu
> > >> >
> > >> >
> > >> >
> > >> > Error from Solr.log:
> > >> >
> > >> > =====================
> > >> >
> > >> > 2016-06-23 03:17:34.413 INFO  (qtp1389647288-19) [c:document5
> > >> > s:shard2
> > >> > r:core_node2 x:document5_shard2_replica1] o.a.s.c.S.Request
> > >> > [document5_shard2_replica1]  webapp=/solr path=/stream
> > >> > params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
> > >> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT
> > >> > +d
> > >> > ocu
> > >> > ment_id,sender_msg_dest,recip_msg_dest,document_type,document_key
> > >> > ,s
> > >> > end
> > >> > er_bu_id,recip_bu_id+FROM+tg_document+WHERE+rownum+<+5",sort%3D"d
> > >> > oc ume nt_id+asc",driver%3D"oracle.jdbc.OracleDriver")}
> > >> > status=0 QTime=0
> > >> >
> > >> > 2016-06-23 03:17:37.588 ERROR (qtp1389647288-19) [c:document5
> > >> > s:shard2
> > >> > r:core_node2 x:document5_shard2_replica1]
> > >> > o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
> > >> >
> > >> >               at
> > >> > org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream
> > >> > .j
> > >> > ava
> > >> > :305)
> > >> >
> > >> >               at
> > >> > org.apache.solr.client.solrj.io.stream.ExceptionStream.read(Excep
> > >> > ti
> > >> > onS
> > >> > tream.java:64)
> > >> >
> > >> >               at
> > >> > org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHand
> > >> > le
> > >> > r.j
> > >> > ava:374)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.TextResponseWriter.writeTupleStream(Text
> > >> > Re
> > >> > spo
> > >> > nseWriter.java:305)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponse
> > >> > Wr
> > >> > ite
> > >> > r.java:167)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(J
> > >> > SO
> > >> > NRe
> > >> > sponseWriter.java:183)
> > >> >
> > >> >               at
> > >> >
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > >> > java:299)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWri
> > >> > te
> > >> > r.j
> > >> > ava:95)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWri
> > >> > te
> > >> > r.j
> > >> > ava:60)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryRespon
> > >> > se
> > >> > (Qu
> > >> > eryResponseWriterUtil.java:65)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.j
> > >> > av
> > >> > a:7
> > >> > 25)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchF
> > >> > il
> > >> > ter
> > >> > .java:229)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchF
> > >> > il
> > >> > ter
> > >> > .java:184)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Ser
> > >> > vl
> > >> > etH
> > >> > andler.java:1668)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > >> > 581)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandl
> > >> > er
> > >> > .ja
> > >> > va:143)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler
> > >> > .j
> > >> > ava
> > >> > :548)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionH
> > >> > an
> > >> > dle
> > >> > r.java:226)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextH
> > >> > an
> > >> > dle
> > >> > r.java:1160)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.j
> > >> > av
> > >> > a:5
> > >> > 11)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHa
> > >> > nd
> > >> > ler
> > >> > .java:185)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHa
> > >> > nd
> > >> > ler
> > >> > .java:1092)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandl
> > >> > er
> > >> > .ja
> > >> > va:141)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> > >> > Co
> > >> > nte
> > >> > xtHandlerCollection.java:213)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(Handler
> > >> > Co
> > >> > lle
> > >> > ction.java:119)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > >> > java:134)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection
> > >> > .j
> > >> > ava
> > >> > :244)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Ab
> > >> > st
> > >> > rac
> > >> > tConnection.java:273)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEnd
> > >> > Po
> > >> > int
> > >> > .java:93)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.prod
> > >> > uc
> > >> > eAn
> > >> > dRun(ExecuteProduceConsume.java:246)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(
> > >> > Ex
> > >> > ecu
> > >> > teProduceConsume.java:156)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThrea
> > >> > dP
> > >> > ool
> > >> > .java:654)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > >> > java:572)
> > >> >
> > >> >               at java.lang.Thread.run(Thread.java:745)
> > >> >
> > >> >
> > >> >
> > >> > 2016-06-23 03:17:37.589 ERROR (qtp1389647288-19) [c:document5
> > >> > s:shard2
> > >> > r:core_node2 x:document5_shard2_replica1] o.a.s.s.HttpSolrCall
> > >> > null:java.lang.RuntimeException: java.lang.AbstractMethodError:
> > >> > Method oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:
> > >> > 60
> > >> > 5)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchF
> > >> > il
> > >> > ter
> > >> > .java:229)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchF
> > >> > il
> > >> > ter
> > >> > .java:184)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Ser
> > >> > vl
> > >> > etH
> > >> > andler.java:1668)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > >> > 581)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandl
> > >> > er
> > >> > .ja
> > >> > va:143)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler
> > >> > .j
> > >> > ava
> > >> > :548)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionH
> > >> > an
> > >> > dle
> > >> > r.java:226)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextH
> > >> > an
> > >> > dle
> > >> > r.java:1160)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.j
> > >> > av
> > >> > a:5
> > >> > 11)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHa
> > >> > nd
> > >> > ler
> > >> > .java:185)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHa
> > >> > nd
> > >> > ler
> > >> > .java:1092)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandl
> > >> > er
> > >> > .ja
> > >> > va:141)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> > >> > Co
> > >> > nte
> > >> > xtHandlerCollection.java:213)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(Handler
> > >> > Co
> > >> > lle
> > >> > ction.java:119)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > >> > java:134)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection
> > >> > .j
> > >> > ava
> > >> > :244)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Ab
> > >> > st
> > >> > rac
> > >> > tConnection.java:273)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEnd
> > >> > Po
> > >> > int
> > >> > .java:93)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.prod
> > >> > uc
> > >> > eAn
> > >> > dRun(ExecuteProduceConsume.java:246)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(
> > >> > Ex
> > >> > ecu
> > >> > teProduceConsume.java:156)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThrea
> > >> > dP
> > >> > ool
> > >> > .java:654)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > >> > java:572)
> > >> >
> > >> >               at java.lang.Thread.run(Thread.java:745)
> > >> >
> > >> > Caused by: java.lang.AbstractMethodError: Method
> > >> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> > >> >
> > >> >               at
> > >> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> > >> >
> > >> >               at
> > >> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.
> > >> > jav
> > >> > a:287)
> > >> >
> > >> >               at
> > >> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Exce
> > >> > pt
> > >> > ion
> > >> > Stream.java:79)
> > >> >
> > >> >               at
> > >> >
> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> > >> > java:357)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.TextResponseWriter.writeTupleStream(Text
> > >> > Re
> > >> > spo
> > >> > nseWriter.java:317)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponse
> > >> > Wr
> > >> > ite
> > >> > r.java:167)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(J
> > >> > SO
> > >> > NRe
> > >> > sponseWriter.java:183)
> > >> >
> > >> >               at
> > >> >
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > >> > java:299)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWri
> > >> > te
> > >> > r.j
> > >> > ava:95)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWri
> > >> > te
> > >> > r.j
> > >> > ava:60)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryRespon
> > >> > se
> > >> > (Qu
> > >> > eryResponseWriterUtil.java:65)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.j
> > >> > av
> > >> > a:7
> > >> > 25)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> > >> >
> > >> >               ... 26 more
> > >> >
> > >> >
> > >> >
> > >> > 2016-06-23 03:17:37.590 WARN  (qtp1389647288-19) [c:document5
> > >> > s:shard2
> > >> > r:core_node2 x:document5_shard2_replica1] o.e.j.s.ServletHandler
> > >> > Error for /solr/document5/stream
> > >> >
> > >> > java.lang.AbstractMethodError: Method
> > >> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> > >> >
> > >> >               at
> > >> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> > >> >
> > >> >               at
> > >> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.
> > >> > jav
> > >> > a:287)
> > >> >
> > >> >               at
> > >> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Exce
> > >> > pt
> > >> > ion
> > >> > Stream.java:79)
> > >> >
> > >> >               at
> > >> >
> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> > >> > java:357)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.TextResponseWriter.writeTupleStream(Text
> > >> > Re
> > >> > spo
> > >> > nseWriter.java:317)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponse
> > >> > Wr
> > >> > ite
> > >> > r.java:167)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(J
> > >> > SO
> > >> > NRe
> > >> > sponseWriter.java:183)
> > >> >
> > >> >               at
> > >> >
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > >> > java:299)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWri
> > >> > te
> > >> > r.j
> > >> > ava:95)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWri
> > >> > te
> > >> > r.j
> > >> > ava:60)
> > >> >
> > >> >               at
> > >> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryRespon
> > >> > se
> > >> > (Qu
> > >> > eryResponseWriterUtil.java:65)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.j
> > >> > av
> > >> > a:7
> > >> > 25)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchF
> > >> > il
> > >> > ter
> > >> > .java:229)
> > >> >
> > >> >               at
> > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchF
> > >> > il
> > >> > ter
> > >> > .java:184)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Ser
> > >> > vl
> > >> > etH
> > >> > andler.java:1668)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > >> > 581)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandl
> > >> > er
> > >> > .ja
> > >> > va:143)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler
> > >> > .j
> > >> > ava
> > >> > :548)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionH
> > >> > an
> > >> > dle
> > >> > r.java:226)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextH
> > >> > an
> > >> > dle
> > >> > r.java:1160)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.j
> > >> > av
> > >> > a:5
> > >> > 11)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHa
> > >> > nd
> > >> > ler
> > >> > .java:185)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHa
> > >> > nd
> > >> > ler
> > >> > .java:1092)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandl
> > >> > er
> > >> > .ja
> > >> > va:141)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> > >> > Co
> > >> > nte
> > >> > xtHandlerCollection.java:213)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(Handler
> > >> > Co
> > >> > lle
> > >> > ction.java:119)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > >> > java:134)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection
> > >> > .j
> > >> > ava
> > >> > :244)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Ab
> > >> > st
> > >> > rac
> > >> > tConnection.java:273)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEnd
> > >> > Po
> > >> > int
> > >> > .java:93)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.prod
> > >> > uc
> > >> > eAn
> > >> > dRun(ExecuteProduceConsume.java:246)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(
> > >> > Ex
> > >> > ecu
> > >> > teProduceConsume.java:156)
> > >> >
> > >> >               at
> > >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThrea
> > >> > dP
> > >> > ool
> > >> > .java:654)
> > >> >
> > >> >               at
> > >> >
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > >> > java:572)
> > >> >
> > >> >               at java.lang.Thread.run(Thread.java:745)
> > >> >
> > >>
> > >
> > >
> >
>

RE: Errors for Streaming Expressions using JDBC (Oracle) stream source

Posted by Hui Liu <hl...@opentext.com>.
Joel, I just opened an account for this, my user name is hliu@opentext.com; let me know when I can open the ticket.

And thanks for the info, I will be glad to do any collaboration needed as a reporter on this issue, so feel free to let me know what I need to do.

Regards,
Hui

-----Original Message-----
From: Joel Bernstein [mailto:joelsolr@gmail.com] 
Sent: Thursday, June 23, 2016 11:23 AM
To: solr-user@lucene.apache.org
Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) stream source

Sure. You can create a ticket from here
https://issues.apache.org/jira/browse/SOLR/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel

After you've created an account I'll need to add your username to the contributors group. If you post your username back to this thread I'll do that.

Then you can open a ticket.

This particular issue will require access to an Oracle database so it will likely be handled as a collaboration between the reporter and a committer, because not all committers are going to have access to Oracle.

DIH will accomplish the data load for you.

The JDBCStream can be used to do things like joins involving RDMBS and Solr.









Joel Bernstein
http://joelsolr.blogspot.com/

On Thu, Jun 23, 2016 at 11:06 AM, Hui Liu <hl...@opentext.com> wrote:

> Thanks Joel, I have never opened a ticket before with Solr, do you 
> know the steps (url etc) I should follow? I will be glad to do so...
> At the meantime, I guess the workaround is to use 'data import 
> handler' to get the data from Oracle into Solr?
>
> Regards,
> Hui
> -----Original Message-----
> From: Joel Bernstein [mailto:joelsolr@gmail.com]
> Sent: Thursday, June 23, 2016 10:55 AM
> To: solr-user@lucene.apache.org
> Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) 
> stream source
>
> Let's open a ticket for this issue specific to Oracle.
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
> On Thu, Jun 23, 2016 at 10:54 AM, Joel Bernstein <jo...@gmail.com>
> wrote:
>
> > I think we're going to have to add some debugging into the code to 
> > find what's going on. On line 225 in JDBCStream it's getting the 
> > class name for each column. It would be good know what the class 
> > names are that the Oracles driver is returning.
> >
> >
> > https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.
> > 0/ 
> > solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.
> > java
> >
> > We probably need to throw an exception that includes the class name 
> > to help users report what different drivers using for the classes.
> >
> >
> > Joel Bernstein
> > http://joelsolr.blogspot.com/
> >
> > On Thu, Jun 23, 2016 at 10:18 AM, Hui Liu <hl...@opentext.com> wrote:
> >
> >> Joel - thanks for the quick response, in my previous test, the 
> >> collection 'document5' does have a field called 'date_created' 
> >> which is type 'date', even though my SQL SELECT below did not 
> >> select any un-supported data type (all columns are either long or 
> >> String in jdbc type); but to totally rule out this issue, I created 
> >> a new collection 'document6' which only contain long and string 
> >> data type, and a new Oracle table 'document6' that only contain 
> >> columns whose jdbc type is long and string, see below for schema.xml and table definition:
> >>
> >> schema.xml for Solr collection 'document6': (newly created empty 
> >> collections with 2 shards)
> >>
> >> ===================================================================
> >> == ============= <schema name="document6" version="1.1">
> >>   <types>
> >>      <fieldType name="uuid" class="solr.UUIDField" />
> >>      <fieldType name="bigint" class="solr.TrieLongField" />
> >>      <fieldType name="string" class="solr.StrField"
> >> sortMissingLast="true" docValues="true" />
> >>      <fieldType name="long" class="solr.TrieLongField" docValues="true"
> >> precisionStep="0" positionIncrementGap="0"/>
> >>      <fieldType name="text" class="solr.TextField">
> >>         <analyzer>
> >>            <tokenizer class="solr.StandardTokenizerFactory"/>
> >>         </analyzer>
> >>       </fieldType>
> >>       <fieldType name="boolean" class="solr.BoolField"
> >> sortMissingLast="true" omitNorms="true"/>
> >>    </types>
> >>    <fields>
> >>      <field name="_version_" type="long" indexed="true" stored="true"
> >> multiValued="false"/>
> >>      <field name="document_id" type="long" indexed="true" stored="true"
> >> docValues="true"/>
> >>      <field name="sender_msg_dest" type="string" indexed="true"
> >> stored="true" docValues="true"/>
> >>      <field name="recip_msg_dest" type="string" indexed="true"
> >> stored="true" docValues="true"/>
> >>      <field name="document_type" type="string" indexed="true"
> >> stored="true" docValues="true"/>
> >>      <field name="document_key" type="string" indexed="true"
> >> stored="true" docValues="true"/>
> >>    </fields>
> >>   <defaultSearchField>document_id</defaultSearchField>
> >>   <uniqueKey>document_id</uniqueKey>
> >> </schema>
> >>
> >> Oracle table 'document6': (newly created Oracle table with 9 
> >> records) ==========================================================
> >> QA_DOCREP@qlgdb1 > desc document6
> >>  Name                                      Null?    Type
> >>  ----------------------------------------- --------
> >> ----------------------------
> >>  DOCUMENT_ID                               NOT NULL NUMBER(12)
> >>  SENDER_MSG_DEST                                    VARCHAR2(256)
> >>  RECIP_MSG_DEST                                     VARCHAR2(256)
> >>  DOCUMENT_TYPE                                      VARCHAR2(20)
> >>  DOCUMENT_KEY                                       VARCHAR2(100)
> >>
> >>         Then I tried this jdbc streaming expression in my browser, 
> >> still getting the same error stack (see below); By looking at the 
> >> source code you have provided below, it seems Solr is able to 
> >> connect to this Oracle db, but just cannot read the resultset for 
> >> some reason? Do you think it has something to do with the jdbc 
> >> driver
> version?
> >>
> >> http://localhost:8988/solr/document6/stream?expr=jdbc(connection=
> >> "jdbc:oracle:thin:qa_docrep/
> >> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
> >> document_id,sender_msg_dest,recip_msg_dest,document_type,document_k
> >> ey
> >> FROM document6",sort="document_id
> >> asc",driver="oracle.jdbc.driver.OracleDriver")
> >>
> >> errors in solr.log
> >> ==================
> >> 2016-06-23 14:07:02.833 INFO  (qtp1389647288-139) [c:document6
> >> s:shard2
> >> r:core_node1 x:document6_shard2_replica1] o.a.s.c.S.Request 
> >> [document6_shard2_replica1]  webapp=/solr path=/stream 
> >> params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
> >> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+d
> >> oc 
> >> ument_id,sender_msg_dest,recip_msg_dest,document_type,document_key+
> >> FR
> >> OM+document6",sort%3D"document_id+asc",driver%3D"oracle.jdbc.driver
> >> OM+.O
> >> racleDriver")}
> >> status=0 QTime=1
> >> 2016-06-23 14:07:05.282 ERROR (qtp1389647288-139) [c:document6
> >> s:shard2
> >> r:core_node1 x:document6_shard2_replica1] 
> >> o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
> >>         at
> >>
> org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.java
> :305)
> >>         at
> >>
> org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionS
> tream.java:64)
> >>         at
> >>
> org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.j
> ava:374)
> >>         at
> >>
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
> nseWriter.java:305)
> >>         at
> >>
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
> r.java:167)
> >>         at
> >>
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
> sponseWriter.java:183)
> >>         at
> >>
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> java:299)
> >>         at
> >>
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
> ava:95)
> >>         at
> >>
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
> ava:60)
> >>         at
> >>
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
> eryResponseWriterUtil.java:65)
> >>         at
> >>
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
> 25)
> >>         at
> >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >>         at
> >>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> .java:229)
> >>         at
> >>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> .java:184)
> >>         at
> >>
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1668)
> >>         at
> >>
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> 581)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:143)
> >>         at
> >>
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
> :548)
> >>         at
> >>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> r.java:226)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> r.java:1160)
> >>         at
> >>
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
> 11)
> >>         at
> >>
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
> .java:185)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
> .java:1092)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:141)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
> xtHandlerCollection.java:213)
> >>         at
> >>
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
> ction.java:119)
> >>         at
> >>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> java:134)
> >>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
> >>         at
> >> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >>         at
> >>
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
> :244)
> >>         at
> >>
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
> tConnection.java:273)
> >>         at
> >> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >>         at
> >>
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
> .java:93)
> >>         at
> >>
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
> dRun(ExecuteProduceConsume.java:246)
> >>         at
> >>
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
> teProduceConsume.java:156)
> >>         at
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
> .java:654)
> >>         at
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> java:572)
> >>         at java.lang.Thread.run(Thread.java:745)
> >>
> >> 2016-06-23 14:07:05.285 ERROR (qtp1389647288-139) [c:document6
> >> s:shard2
> >> r:core_node1 x:document6_shard2_replica1] o.a.s.s.HttpSolrCall
> >> null:java.lang.RuntimeException: java.lang.AbstractMethodError:
> >> Method oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >>         at
> >> org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:605)
> >>         at
> >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
> >>         at
> >>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> .java:229)
> >>         at
> >>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> .java:184)
> >>         at
> >>
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1668)
> >>         at
> >>
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> 581)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:143)
> >>         at
> >>
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
> :548)
> >>         at
> >>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> r.java:226)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> r.java:1160)
> >>         at
> >>
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
> 11)
> >>         at
> >>
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
> .java:185)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
> .java:1092)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:141)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
> xtHandlerCollection.java:213)
> >>         at
> >>
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
> ction.java:119)
> >>         at
> >>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> java:134)
> >>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
> >>         at
> >> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >>         at
> >>
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
> :244)
> >>         at
> >>
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
> tConnection.java:273)
> >>         at
> >> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >>         at
> >>
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
> .java:93)
> >>         at
> >>
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
> dRun(ExecuteProduceConsume.java:246)
> >>         at
> >>
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
> teProduceConsume.java:156)
> >>         at
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
> .java:654)
> >>         at
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> java:572)
> >>         at java.lang.Thread.run(Thread.java:745)
> >> Caused by: java.lang.AbstractMethodError: Method 
> >> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >>         at oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> >>         at
> >>
> org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.jav
> a:287)
> >>         at
> >>
> org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Exception
> Stream.java:79)
> >>         at
> >>
> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> java:357)
> >>         at
> >>
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
> nseWriter.java:317)
> >>         at
> >>
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
> r.java:167)
> >>         at
> >>
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
> sponseWriter.java:183)
> >>         at
> >>
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> java:299)
> >>         at
> >>
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
> ava:95)
> >>         at
> >>
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
> ava:60)
> >>         at
> >>
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
> eryResponseWriterUtil.java:65)
> >>         at
> >>
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
> 25)
> >>         at
> >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >>         ... 26 more
> >>
> >> -----Original Message-----
> >> From: Joel Bernstein [mailto:joelsolr@gmail.com]
> >> Sent: Thursday, June 23, 2016 7:56 AM
> >> To: solr-user@lucene.apache.org
> >> Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) 
> >> stream source
> >>
> >> I'm wondering if you're selecting an unsupported data type. The 
> >> exception being thrown looks like it could happen if that were the 
> >> case. The supported types are in the Java doc.
> >>
> >> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0
> >> .0 
> >> /solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStr
> >> ea
> >> m.java
> >>
> >> Joel Bernstein
> >> http://joelsolr.blogspot.com/
> >>
> >> On Wed, Jun 22, 2016 at 11:46 PM, Hui Liu <hl...@opentext.com> wrote:
> >>
> >> > Hi,
> >> >
> >> >
> >> >
> >> >               I have Solr 6.0.0 installed on my PC (windows 7), I 
> >> > was experimenting with ‘Streaming Expression’ by using Oracle 
> >> > jdbc as the stream source, following is the http command I am using:
> >> >
> >> >
> >> >
> >> > http://localhost:8988/solr/document5/stream?expr=jdbc(connection=
> >> > "jdbc:oracle:thin:qa_docrep/
> >> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
> >> > document_id,sender_msg_dest,recip_msg_dest,document_type,document
> >> > _k ey, sender_bu_id,recip_bu_id,date_created
> >> > FROM tg_document WHERE rownum < 5",sort="document_id
> >> > asc",driver="oracle.jdbc.driver.OracleDriver")
> >> >
> >> >
> >> >
> >> >               I can access this Oracle db from my PC via regular 
> >> > JDBC connection. I did put Oracle jdbc driver jar ‘ojdbc14.jar’
> >> > (same jar used in my regular jdbc code) under Solr/server/lib dir 
> >> > and restarted Solr cloud. Below is the error from solr.log (got a 
> >> > null pointer error); I am merely trying to get the data returned 
> >> > from Oracle table, I have not tried to index them in the Solr 
> >> > yet, attached is the shema.xml and solrconfig.xml for this 
> >> > collection ‘document5’; does anyone know what am I missing? thanks for any help!
> >> >
> >> >
> >> >
> >> > Regards,
> >> >
> >> > Hui Liu
> >> >
> >> >
> >> >
> >> > Error from Solr.log:
> >> >
> >> > =====================
> >> >
> >> > 2016-06-23 03:17:34.413 INFO  (qtp1389647288-19) [c:document5
> >> > s:shard2
> >> > r:core_node2 x:document5_shard2_replica1] o.a.s.c.S.Request 
> >> > [document5_shard2_replica1]  webapp=/solr path=/stream 
> >> > params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
> >> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT
> >> > +d
> >> > ocu
> >> > ment_id,sender_msg_dest,recip_msg_dest,document_type,document_key
> >> > ,s
> >> > end
> >> > er_bu_id,recip_bu_id+FROM+tg_document+WHERE+rownum+<+5",sort%3D"d
> >> > oc ume nt_id+asc",driver%3D"oracle.jdbc.OracleDriver")}
> >> > status=0 QTime=0
> >> >
> >> > 2016-06-23 03:17:37.588 ERROR (qtp1389647288-19) [c:document5
> >> > s:shard2
> >> > r:core_node2 x:document5_shard2_replica1] 
> >> > o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
> >> >
> >> >               at
> >> > org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream
> >> > .j
> >> > ava
> >> > :305)
> >> >
> >> >               at
> >> > org.apache.solr.client.solrj.io.stream.ExceptionStream.read(Excep
> >> > ti
> >> > onS
> >> > tream.java:64)
> >> >
> >> >               at
> >> > org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHand
> >> > le
> >> > r.j
> >> > ava:374)
> >> >
> >> >               at
> >> > org.apache.solr.response.TextResponseWriter.writeTupleStream(Text
> >> > Re
> >> > spo
> >> > nseWriter.java:305)
> >> >
> >> >               at
> >> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponse
> >> > Wr
> >> > ite
> >> > r.java:167)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(J
> >> > SO
> >> > NRe
> >> > sponseWriter.java:183)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> >> > java:299)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWri
> >> > te
> >> > r.j
> >> > ava:95)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWri
> >> > te
> >> > r.j
> >> > ava:60)
> >> >
> >> >               at
> >> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryRespon
> >> > se
> >> > (Qu
> >> > eryResponseWriterUtil.java:65)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.j
> >> > av
> >> > a:7
> >> > 25)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchF
> >> > il
> >> > ter
> >> > .java:229)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchF
> >> > il
> >> > ter
> >> > .java:184)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Ser
> >> > vl
> >> > etH
> >> > andler.java:1668)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >> > 581)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandl
> >> > er
> >> > .ja
> >> > va:143)
> >> >
> >> >               at
> >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler
> >> > .j
> >> > ava
> >> > :548)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionH
> >> > an
> >> > dle
> >> > r.java:226)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextH
> >> > an
> >> > dle
> >> > r.java:1160)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.j
> >> > av
> >> > a:5
> >> > 11)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHa
> >> > nd
> >> > ler
> >> > .java:185)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHa
> >> > nd
> >> > ler
> >> > .java:1092)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandl
> >> > er
> >> > .ja
> >> > va:141)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> >> > Co
> >> > nte
> >> > xtHandlerCollection.java:213)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(Handler
> >> > Co
> >> > lle
> >> > ction.java:119)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >> > java:134)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection
> >> > .j
> >> > ava
> >> > :244)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Ab
> >> > st
> >> > rac
> >> > tConnection.java:273)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEnd
> >> > Po
> >> > int
> >> > .java:93)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.prod
> >> > uc
> >> > eAn
> >> > dRun(ExecuteProduceConsume.java:246)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(
> >> > Ex
> >> > ecu
> >> > teProduceConsume.java:156)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThrea
> >> > dP
> >> > ool
> >> > .java:654)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> >> > java:572)
> >> >
> >> >               at java.lang.Thread.run(Thread.java:745)
> >> >
> >> >
> >> >
> >> > 2016-06-23 03:17:37.589 ERROR (qtp1389647288-19) [c:document5
> >> > s:shard2
> >> > r:core_node2 x:document5_shard2_replica1] o.a.s.s.HttpSolrCall
> >> > null:java.lang.RuntimeException: java.lang.AbstractMethodError:
> >> > Method oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:
> >> > 60
> >> > 5)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchF
> >> > il
> >> > ter
> >> > .java:229)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchF
> >> > il
> >> > ter
> >> > .java:184)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Ser
> >> > vl
> >> > etH
> >> > andler.java:1668)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >> > 581)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandl
> >> > er
> >> > .ja
> >> > va:143)
> >> >
> >> >               at
> >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler
> >> > .j
> >> > ava
> >> > :548)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionH
> >> > an
> >> > dle
> >> > r.java:226)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextH
> >> > an
> >> > dle
> >> > r.java:1160)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.j
> >> > av
> >> > a:5
> >> > 11)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHa
> >> > nd
> >> > ler
> >> > .java:185)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHa
> >> > nd
> >> > ler
> >> > .java:1092)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandl
> >> > er
> >> > .ja
> >> > va:141)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> >> > Co
> >> > nte
> >> > xtHandlerCollection.java:213)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(Handler
> >> > Co
> >> > lle
> >> > ction.java:119)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >> > java:134)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection
> >> > .j
> >> > ava
> >> > :244)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Ab
> >> > st
> >> > rac
> >> > tConnection.java:273)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEnd
> >> > Po
> >> > int
> >> > .java:93)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.prod
> >> > uc
> >> > eAn
> >> > dRun(ExecuteProduceConsume.java:246)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(
> >> > Ex
> >> > ecu
> >> > teProduceConsume.java:156)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThrea
> >> > dP
> >> > ool
> >> > .java:654)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> >> > java:572)
> >> >
> >> >               at java.lang.Thread.run(Thread.java:745)
> >> >
> >> > Caused by: java.lang.AbstractMethodError: Method 
> >> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >> >
> >> >               at
> >> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> >> >
> >> >               at
> >> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.
> >> > jav
> >> > a:287)
> >> >
> >> >               at
> >> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Exce
> >> > pt
> >> > ion
> >> > Stream.java:79)
> >> >
> >> >               at
> >> > org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> >> > java:357)
> >> >
> >> >               at
> >> > org.apache.solr.response.TextResponseWriter.writeTupleStream(Text
> >> > Re
> >> > spo
> >> > nseWriter.java:317)
> >> >
> >> >               at
> >> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponse
> >> > Wr
> >> > ite
> >> > r.java:167)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(J
> >> > SO
> >> > NRe
> >> > sponseWriter.java:183)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> >> > java:299)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWri
> >> > te
> >> > r.j
> >> > ava:95)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWri
> >> > te
> >> > r.j
> >> > ava:60)
> >> >
> >> >               at
> >> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryRespon
> >> > se
> >> > (Qu
> >> > eryResponseWriterUtil.java:65)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.j
> >> > av
> >> > a:7
> >> > 25)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >> >
> >> >               ... 26 more
> >> >
> >> >
> >> >
> >> > 2016-06-23 03:17:37.590 WARN  (qtp1389647288-19) [c:document5
> >> > s:shard2
> >> > r:core_node2 x:document5_shard2_replica1] o.e.j.s.ServletHandler 
> >> > Error for /solr/document5/stream
> >> >
> >> > java.lang.AbstractMethodError: Method 
> >> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >> >
> >> >               at
> >> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> >> >
> >> >               at
> >> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.
> >> > jav
> >> > a:287)
> >> >
> >> >               at
> >> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Exce
> >> > pt
> >> > ion
> >> > Stream.java:79)
> >> >
> >> >               at
> >> > org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> >> > java:357)
> >> >
> >> >               at
> >> > org.apache.solr.response.TextResponseWriter.writeTupleStream(Text
> >> > Re
> >> > spo
> >> > nseWriter.java:317)
> >> >
> >> >               at
> >> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponse
> >> > Wr
> >> > ite
> >> > r.java:167)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(J
> >> > SO
> >> > NRe
> >> > sponseWriter.java:183)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> >> > java:299)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWri
> >> > te
> >> > r.j
> >> > ava:95)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWri
> >> > te
> >> > r.j
> >> > ava:60)
> >> >
> >> >               at
> >> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryRespon
> >> > se
> >> > (Qu
> >> > eryResponseWriterUtil.java:65)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.j
> >> > av
> >> > a:7
> >> > 25)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchF
> >> > il
> >> > ter
> >> > .java:229)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchF
> >> > il
> >> > ter
> >> > .java:184)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Ser
> >> > vl
> >> > etH
> >> > andler.java:1668)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >> > 581)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandl
> >> > er
> >> > .ja
> >> > va:143)
> >> >
> >> >               at
> >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler
> >> > .j
> >> > ava
> >> > :548)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionH
> >> > an
> >> > dle
> >> > r.java:226)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextH
> >> > an
> >> > dle
> >> > r.java:1160)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.j
> >> > av
> >> > a:5
> >> > 11)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHa
> >> > nd
> >> > ler
> >> > .java:185)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHa
> >> > nd
> >> > ler
> >> > .java:1092)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandl
> >> > er
> >> > .ja
> >> > va:141)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(
> >> > Co
> >> > nte
> >> > xtHandlerCollection.java:213)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(Handler
> >> > Co
> >> > lle
> >> > ction.java:119)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >> > java:134)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection
> >> > .j
> >> > ava
> >> > :244)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Ab
> >> > st
> >> > rac
> >> > tConnection.java:273)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEnd
> >> > Po
> >> > int
> >> > .java:93)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.prod
> >> > uc
> >> > eAn
> >> > dRun(ExecuteProduceConsume.java:246)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(
> >> > Ex
> >> > ecu
> >> > teProduceConsume.java:156)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThrea
> >> > dP
> >> > ool
> >> > .java:654)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> >> > java:572)
> >> >
> >> >               at java.lang.Thread.run(Thread.java:745)
> >> >
> >>
> >
> >
>

Re: Errors for Streaming Expressions using JDBC (Oracle) stream source

Posted by Joel Bernstein <jo...@gmail.com>.
Sure. You can create a ticket from here
https://issues.apache.org/jira/browse/SOLR/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel

After you've created an account I'll need to add your username to the
contributors group. If you post your username back to this thread I'll do
that.

Then you can open a ticket.

This particular issue will require access to an Oracle database so it will
likely be handled as a collaboration between the reporter and a committer,
because not all committers are going to have access to Oracle.

DIH will accomplish the data load for you.

The JDBCStream can be used to do things like joins involving RDMBS and Solr.









Joel Bernstein
http://joelsolr.blogspot.com/

On Thu, Jun 23, 2016 at 11:06 AM, Hui Liu <hl...@opentext.com> wrote:

> Thanks Joel, I have never opened a ticket before with Solr, do you know
> the steps (url etc) I should follow? I will be glad to do so...
> At the meantime, I guess the workaround is to use 'data import handler' to
> get the data from Oracle into Solr?
>
> Regards,
> Hui
> -----Original Message-----
> From: Joel Bernstein [mailto:joelsolr@gmail.com]
> Sent: Thursday, June 23, 2016 10:55 AM
> To: solr-user@lucene.apache.org
> Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) stream
> source
>
> Let's open a ticket for this issue specific to Oracle.
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
> On Thu, Jun 23, 2016 at 10:54 AM, Joel Bernstein <jo...@gmail.com>
> wrote:
>
> > I think we're going to have to add some debugging into the code to
> > find what's going on. On line 225 in JDBCStream it's getting the class
> > name for each column. It would be good know what the class names are
> > that the Oracles driver is returning.
> >
> >
> > https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.0/
> > solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.
> > java
> >
> > We probably need to throw an exception that includes the class name to
> > help users report what different drivers using for the classes.
> >
> >
> > Joel Bernstein
> > http://joelsolr.blogspot.com/
> >
> > On Thu, Jun 23, 2016 at 10:18 AM, Hui Liu <hl...@opentext.com> wrote:
> >
> >> Joel - thanks for the quick response, in my previous test, the
> >> collection 'document5' does have a field called 'date_created' which
> >> is type 'date', even though my SQL SELECT below did not select any
> >> un-supported data type (all columns are either long or String in jdbc
> >> type); but to totally rule out this issue, I created a new collection
> >> 'document6' which only contain long and string data type, and a new
> >> Oracle table 'document6' that only contain columns whose jdbc type is
> >> long and string, see below for schema.xml and table definition:
> >>
> >> schema.xml for Solr collection 'document6': (newly created empty
> >> collections with 2 shards)
> >>
> >> =====================================================================
> >> ============= <schema name="document6" version="1.1">
> >>   <types>
> >>      <fieldType name="uuid" class="solr.UUIDField" />
> >>      <fieldType name="bigint" class="solr.TrieLongField" />
> >>      <fieldType name="string" class="solr.StrField"
> >> sortMissingLast="true" docValues="true" />
> >>      <fieldType name="long" class="solr.TrieLongField" docValues="true"
> >> precisionStep="0" positionIncrementGap="0"/>
> >>      <fieldType name="text" class="solr.TextField">
> >>         <analyzer>
> >>            <tokenizer class="solr.StandardTokenizerFactory"/>
> >>         </analyzer>
> >>       </fieldType>
> >>       <fieldType name="boolean" class="solr.BoolField"
> >> sortMissingLast="true" omitNorms="true"/>
> >>    </types>
> >>    <fields>
> >>      <field name="_version_" type="long" indexed="true" stored="true"
> >> multiValued="false"/>
> >>      <field name="document_id" type="long" indexed="true" stored="true"
> >> docValues="true"/>
> >>      <field name="sender_msg_dest" type="string" indexed="true"
> >> stored="true" docValues="true"/>
> >>      <field name="recip_msg_dest" type="string" indexed="true"
> >> stored="true" docValues="true"/>
> >>      <field name="document_type" type="string" indexed="true"
> >> stored="true" docValues="true"/>
> >>      <field name="document_key" type="string" indexed="true"
> >> stored="true" docValues="true"/>
> >>    </fields>
> >>   <defaultSearchField>document_id</defaultSearchField>
> >>   <uniqueKey>document_id</uniqueKey>
> >> </schema>
> >>
> >> Oracle table 'document6': (newly created Oracle table with 9 records)
> >> ==========================================================
> >> QA_DOCREP@qlgdb1 > desc document6
> >>  Name                                      Null?    Type
> >>  ----------------------------------------- --------
> >> ----------------------------
> >>  DOCUMENT_ID                               NOT NULL NUMBER(12)
> >>  SENDER_MSG_DEST                                    VARCHAR2(256)
> >>  RECIP_MSG_DEST                                     VARCHAR2(256)
> >>  DOCUMENT_TYPE                                      VARCHAR2(20)
> >>  DOCUMENT_KEY                                       VARCHAR2(100)
> >>
> >>         Then I tried this jdbc streaming expression in my browser,
> >> still getting the same error stack (see below); By looking at the
> >> source code you have provided below, it seems Solr is able to connect
> >> to this Oracle db, but just cannot read the resultset for some
> >> reason? Do you think it has something to do with the jdbc driver
> version?
> >>
> >> http://localhost:8988/solr/document6/stream?expr=jdbc(connection=
> >> "jdbc:oracle:thin:qa_docrep/
> >> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
> >> document_id,sender_msg_dest,recip_msg_dest,document_type,document_key
> >> FROM document6",sort="document_id
> >> asc",driver="oracle.jdbc.driver.OracleDriver")
> >>
> >> errors in solr.log
> >> ==================
> >> 2016-06-23 14:07:02.833 INFO  (qtp1389647288-139) [c:document6
> >> s:shard2
> >> r:core_node1 x:document6_shard2_replica1] o.a.s.c.S.Request
> >> [document6_shard2_replica1]  webapp=/solr path=/stream
> >> params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
> >> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+doc
> >> ument_id,sender_msg_dest,recip_msg_dest,document_type,document_key+FR
> >> OM+document6",sort%3D"document_id+asc",driver%3D"oracle.jdbc.driver.O
> >> racleDriver")}
> >> status=0 QTime=1
> >> 2016-06-23 14:07:05.282 ERROR (qtp1389647288-139) [c:document6
> >> s:shard2
> >> r:core_node1 x:document6_shard2_replica1]
> >> o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
> >>         at
> >>
> org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.java:305)
> >>         at
> >>
> org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionStream.java:64)
> >>         at
> >>
> org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.java:374)
> >>         at
> >>
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:305)
> >>         at
> >>
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
> >>         at
> >>
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
> >>         at
> >>
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
> >>         at
> >>
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
> >>         at
> >>
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
> >>         at
> >>
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
> >>         at
> >>
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
> >>         at
> >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >>         at
> >>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
> >>         at
> >>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
> >>         at
> >>
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
> >>         at
> >>
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
> >>         at
> >>
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
> >>         at
> >>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
> >>         at
> >>
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
> >>         at
> >>
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
> >>         at
> >>
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
> >>         at
> >>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
> >>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
> >>         at
> >> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >>         at
> >>
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
> >>         at
> >>
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
> >>         at
> >> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >>         at
> >>
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
> >>         at
> >>
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
> >>         at
> >>
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
> >>         at
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
> >>         at
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
> >>         at java.lang.Thread.run(Thread.java:745)
> >>
> >> 2016-06-23 14:07:05.285 ERROR (qtp1389647288-139) [c:document6
> >> s:shard2
> >> r:core_node1 x:document6_shard2_replica1] o.a.s.s.HttpSolrCall
> >> null:java.lang.RuntimeException: java.lang.AbstractMethodError:
> >> Method oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >>         at
> >> org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:605)
> >>         at
> >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
> >>         at
> >>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
> >>         at
> >>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
> >>         at
> >>
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
> >>         at
> >>
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
> >>         at
> >>
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
> >>         at
> >>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
> >>         at
> >>
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
> >>         at
> >>
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> >>         at
> >>
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
> >>         at
> >>
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
> >>         at
> >>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
> >>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
> >>         at
> >> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >>         at
> >>
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
> >>         at
> >>
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
> >>         at
> >> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >>         at
> >>
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
> >>         at
> >>
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
> >>         at
> >>
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
> >>         at
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
> >>         at
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
> >>         at java.lang.Thread.run(Thread.java:745)
> >> Caused by: java.lang.AbstractMethodError: Method
> >> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >>         at oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> >>         at
> >>
> org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.java:287)
> >>         at
> >>
> org.apache.solr.client.solrj.io.stream.ExceptionStream.close(ExceptionStream.java:79)
> >>         at
> >>
> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.java:357)
> >>         at
> >>
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:317)
> >>         at
> >>
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
> >>         at
> >>
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
> >>         at
> >>
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
> >>         at
> >>
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
> >>         at
> >>
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
> >>         at
> >>
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
> >>         at
> >>
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
> >>         at
> >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >>         ... 26 more
> >>
> >> -----Original Message-----
> >> From: Joel Bernstein [mailto:joelsolr@gmail.com]
> >> Sent: Thursday, June 23, 2016 7:56 AM
> >> To: solr-user@lucene.apache.org
> >> Subject: Re: Errors for Streaming Expressions using JDBC (Oracle)
> >> stream source
> >>
> >> I'm wondering if you're selecting an unsupported data type. The
> >> exception being thrown looks like it could happen if that were the
> >> case. The supported types are in the Java doc.
> >>
> >> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.0
> >> /solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStrea
> >> m.java
> >>
> >> Joel Bernstein
> >> http://joelsolr.blogspot.com/
> >>
> >> On Wed, Jun 22, 2016 at 11:46 PM, Hui Liu <hl...@opentext.com> wrote:
> >>
> >> > Hi,
> >> >
> >> >
> >> >
> >> >               I have Solr 6.0.0 installed on my PC (windows 7), I
> >> > was experimenting with ‘Streaming Expression’ by using Oracle jdbc
> >> > as the stream source, following is the http command I am using:
> >> >
> >> >
> >> >
> >> > http://localhost:8988/solr/document5/stream?expr=jdbc(connection=
> >> > "jdbc:oracle:thin:qa_docrep/
> >> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
> >> > document_id,sender_msg_dest,recip_msg_dest,document_type,document_k
> >> > ey, sender_bu_id,recip_bu_id,date_created
> >> > FROM tg_document WHERE rownum < 5",sort="document_id
> >> > asc",driver="oracle.jdbc.driver.OracleDriver")
> >> >
> >> >
> >> >
> >> >               I can access this Oracle db from my PC via regular
> >> > JDBC connection. I did put Oracle jdbc driver jar ‘ojdbc14.jar’
> >> > (same jar used in my regular jdbc code) under Solr/server/lib dir
> >> > and restarted Solr cloud. Below is the error from solr.log (got a
> >> > null pointer error); I am merely trying to get the data returned
> >> > from Oracle table, I have not tried to index them in the Solr yet,
> >> > attached is the shema.xml and solrconfig.xml for this collection
> >> > ‘document5’; does anyone know what am I missing? thanks for any help!
> >> >
> >> >
> >> >
> >> > Regards,
> >> >
> >> > Hui Liu
> >> >
> >> >
> >> >
> >> > Error from Solr.log:
> >> >
> >> > =====================
> >> >
> >> > 2016-06-23 03:17:34.413 INFO  (qtp1389647288-19) [c:document5
> >> > s:shard2
> >> > r:core_node2 x:document5_shard2_replica1] o.a.s.c.S.Request
> >> > [document5_shard2_replica1]  webapp=/solr path=/stream
> >> > params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
> >> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+d
> >> > ocu
> >> > ment_id,sender_msg_dest,recip_msg_dest,document_type,document_key,s
> >> > end
> >> > er_bu_id,recip_bu_id+FROM+tg_document+WHERE+rownum+<+5",sort%3D"doc
> >> > ume nt_id+asc",driver%3D"oracle.jdbc.OracleDriver")}
> >> > status=0 QTime=0
> >> >
> >> > 2016-06-23 03:17:37.588 ERROR (qtp1389647288-19) [c:document5
> >> > s:shard2
> >> > r:core_node2 x:document5_shard2_replica1]
> >> > o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
> >> >
> >> >               at
> >> > org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.j
> >> > ava
> >> > :305)
> >> >
> >> >               at
> >> > org.apache.solr.client.solrj.io.stream.ExceptionStream.read(Excepti
> >> > onS
> >> > tream.java:64)
> >> >
> >> >               at
> >> > org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandle
> >> > r.j
> >> > ava:374)
> >> >
> >> >               at
> >> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRe
> >> > spo
> >> > nseWriter.java:305)
> >> >
> >> >               at
> >> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWr
> >> > ite
> >> > r.java:167)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSO
> >> > NRe
> >> > sponseWriter.java:183)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> >> > java:299)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWrite
> >> > r.j
> >> > ava:95)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWrite
> >> > r.j
> >> > ava:60)
> >> >
> >> >               at
> >> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse
> >> > (Qu
> >> > eryResponseWriterUtil.java:65)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.jav
> >> > a:7
> >> > 25)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFil
> >> > ter
> >> > .java:229)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFil
> >> > ter
> >> > .java:184)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
> >> > etH
> >> > andler.java:1668)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >> > 581)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler
> >> > .ja
> >> > va:143)
> >> >
> >> >               at
> >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.j
> >> > ava
> >> > :548)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
> >> > dle
> >> > r.java:226)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
> >> > dle
> >> > r.java:1160)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
> >> > a:5
> >> > 11)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
> >> > ler
> >> > .java:185)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
> >> > ler
> >> > .java:1092)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler
> >> > .ja
> >> > va:141)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Co
> >> > nte
> >> > xtHandlerCollection.java:213)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCo
> >> > lle
> >> > ction.java:119)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >> > java:134)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
> >> > ava
> >> > :244)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
> >> > rac
> >> > tConnection.java:273)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
> >> > int
> >> > .java:93)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
> >> > eAn
> >> > dRun(ExecuteProduceConsume.java:246)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
> >> > ecu
> >> > teProduceConsume.java:156)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
> >> > ool
> >> > .java:654)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> >> > java:572)
> >> >
> >> >               at java.lang.Thread.run(Thread.java:745)
> >> >
> >> >
> >> >
> >> > 2016-06-23 03:17:37.589 ERROR (qtp1389647288-19) [c:document5
> >> > s:shard2
> >> > r:core_node2 x:document5_shard2_replica1] o.a.s.s.HttpSolrCall
> >> > null:java.lang.RuntimeException: java.lang.AbstractMethodError:
> >> > Method oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:60
> >> > 5)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFil
> >> > ter
> >> > .java:229)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFil
> >> > ter
> >> > .java:184)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
> >> > etH
> >> > andler.java:1668)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >> > 581)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler
> >> > .ja
> >> > va:143)
> >> >
> >> >               at
> >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.j
> >> > ava
> >> > :548)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
> >> > dle
> >> > r.java:226)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
> >> > dle
> >> > r.java:1160)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
> >> > a:5
> >> > 11)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
> >> > ler
> >> > .java:185)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
> >> > ler
> >> > .java:1092)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler
> >> > .ja
> >> > va:141)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Co
> >> > nte
> >> > xtHandlerCollection.java:213)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCo
> >> > lle
> >> > ction.java:119)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >> > java:134)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
> >> > ava
> >> > :244)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
> >> > rac
> >> > tConnection.java:273)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
> >> > int
> >> > .java:93)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
> >> > eAn
> >> > dRun(ExecuteProduceConsume.java:246)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
> >> > ecu
> >> > teProduceConsume.java:156)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
> >> > ool
> >> > .java:654)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> >> > java:572)
> >> >
> >> >               at java.lang.Thread.run(Thread.java:745)
> >> >
> >> > Caused by: java.lang.AbstractMethodError: Method
> >> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >> >
> >> >               at
> >> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> >> >
> >> >               at
> >> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.
> >> > jav
> >> > a:287)
> >> >
> >> >               at
> >> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Except
> >> > ion
> >> > Stream.java:79)
> >> >
> >> >               at
> >> > org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> >> > java:357)
> >> >
> >> >               at
> >> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRe
> >> > spo
> >> > nseWriter.java:317)
> >> >
> >> >               at
> >> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWr
> >> > ite
> >> > r.java:167)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSO
> >> > NRe
> >> > sponseWriter.java:183)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> >> > java:299)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWrite
> >> > r.j
> >> > ava:95)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWrite
> >> > r.j
> >> > ava:60)
> >> >
> >> >               at
> >> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse
> >> > (Qu
> >> > eryResponseWriterUtil.java:65)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.jav
> >> > a:7
> >> > 25)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >> >
> >> >               ... 26 more
> >> >
> >> >
> >> >
> >> > 2016-06-23 03:17:37.590 WARN  (qtp1389647288-19) [c:document5
> >> > s:shard2
> >> > r:core_node2 x:document5_shard2_replica1] o.e.j.s.ServletHandler
> >> > Error for /solr/document5/stream
> >> >
> >> > java.lang.AbstractMethodError: Method
> >> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >> >
> >> >               at
> >> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> >> >
> >> >               at
> >> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.
> >> > jav
> >> > a:287)
> >> >
> >> >               at
> >> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Except
> >> > ion
> >> > Stream.java:79)
> >> >
> >> >               at
> >> > org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> >> > java:357)
> >> >
> >> >               at
> >> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRe
> >> > spo
> >> > nseWriter.java:317)
> >> >
> >> >               at
> >> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWr
> >> > ite
> >> > r.java:167)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSO
> >> > NRe
> >> > sponseWriter.java:183)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> >> > java:299)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWrite
> >> > r.j
> >> > ava:95)
> >> >
> >> >               at
> >> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWrite
> >> > r.j
> >> > ava:60)
> >> >
> >> >               at
> >> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse
> >> > (Qu
> >> > eryResponseWriterUtil.java:65)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.jav
> >> > a:7
> >> > 25)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFil
> >> > ter
> >> > .java:229)
> >> >
> >> >               at
> >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFil
> >> > ter
> >> > .java:184)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
> >> > etH
> >> > andler.java:1668)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >> > 581)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler
> >> > .ja
> >> > va:143)
> >> >
> >> >               at
> >> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.j
> >> > ava
> >> > :548)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
> >> > dle
> >> > r.java:226)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
> >> > dle
> >> > r.java:1160)
> >> >
> >> >               at
> >> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
> >> > a:5
> >> > 11)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
> >> > ler
> >> > .java:185)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
> >> > ler
> >> > .java:1092)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler
> >> > .ja
> >> > va:141)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Co
> >> > nte
> >> > xtHandlerCollection.java:213)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCo
> >> > lle
> >> > ction.java:119)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >> > java:134)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >> >
> >> >               at
> >> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
> >> > ava
> >> > :244)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
> >> > rac
> >> > tConnection.java:273)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >> >
> >> >               at
> >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
> >> > int
> >> > .java:93)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
> >> > eAn
> >> > dRun(ExecuteProduceConsume.java:246)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
> >> > ecu
> >> > teProduceConsume.java:156)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
> >> > ool
> >> > .java:654)
> >> >
> >> >               at
> >> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> >> > java:572)
> >> >
> >> >               at java.lang.Thread.run(Thread.java:745)
> >> >
> >>
> >
> >
>

RE: Errors for Streaming Expressions using JDBC (Oracle) stream source

Posted by Hui Liu <hl...@opentext.com>.
Thanks Joel, I have never opened a ticket before with Solr, do you know the steps (url etc) I should follow? I will be glad to do so...
At the meantime, I guess the workaround is to use 'data import handler' to get the data from Oracle into Solr?

Regards,
Hui
-----Original Message-----
From: Joel Bernstein [mailto:joelsolr@gmail.com] 
Sent: Thursday, June 23, 2016 10:55 AM
To: solr-user@lucene.apache.org
Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) stream source

Let's open a ticket for this issue specific to Oracle.

Joel Bernstein
http://joelsolr.blogspot.com/

On Thu, Jun 23, 2016 at 10:54 AM, Joel Bernstein <jo...@gmail.com> wrote:

> I think we're going to have to add some debugging into the code to 
> find what's going on. On line 225 in JDBCStream it's getting the class 
> name for each column. It would be good know what the class names are 
> that the Oracles driver is returning.
>
>
> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.0/
> solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.
> java
>
> We probably need to throw an exception that includes the class name to 
> help users report what different drivers using for the classes.
>
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
> On Thu, Jun 23, 2016 at 10:18 AM, Hui Liu <hl...@opentext.com> wrote:
>
>> Joel - thanks for the quick response, in my previous test, the 
>> collection 'document5' does have a field called 'date_created' which 
>> is type 'date', even though my SQL SELECT below did not select any 
>> un-supported data type (all columns are either long or String in jdbc 
>> type); but to totally rule out this issue, I created a new collection 
>> 'document6' which only contain long and string data type, and a new 
>> Oracle table 'document6' that only contain columns whose jdbc type is 
>> long and string, see below for schema.xml and table definition:
>>
>> schema.xml for Solr collection 'document6': (newly created empty 
>> collections with 2 shards)
>>
>> =====================================================================
>> ============= <schema name="document6" version="1.1">
>>   <types>
>>      <fieldType name="uuid" class="solr.UUIDField" />
>>      <fieldType name="bigint" class="solr.TrieLongField" />
>>      <fieldType name="string" class="solr.StrField"
>> sortMissingLast="true" docValues="true" />
>>      <fieldType name="long" class="solr.TrieLongField" docValues="true"
>> precisionStep="0" positionIncrementGap="0"/>
>>      <fieldType name="text" class="solr.TextField">
>>         <analyzer>
>>            <tokenizer class="solr.StandardTokenizerFactory"/>
>>         </analyzer>
>>       </fieldType>
>>       <fieldType name="boolean" class="solr.BoolField"
>> sortMissingLast="true" omitNorms="true"/>
>>    </types>
>>    <fields>
>>      <field name="_version_" type="long" indexed="true" stored="true"
>> multiValued="false"/>
>>      <field name="document_id" type="long" indexed="true" stored="true"
>> docValues="true"/>
>>      <field name="sender_msg_dest" type="string" indexed="true"
>> stored="true" docValues="true"/>
>>      <field name="recip_msg_dest" type="string" indexed="true"
>> stored="true" docValues="true"/>
>>      <field name="document_type" type="string" indexed="true"
>> stored="true" docValues="true"/>
>>      <field name="document_key" type="string" indexed="true"
>> stored="true" docValues="true"/>
>>    </fields>
>>   <defaultSearchField>document_id</defaultSearchField>
>>   <uniqueKey>document_id</uniqueKey>
>> </schema>
>>
>> Oracle table 'document6': (newly created Oracle table with 9 records) 
>> ==========================================================
>> QA_DOCREP@qlgdb1 > desc document6
>>  Name                                      Null?    Type
>>  ----------------------------------------- --------
>> ----------------------------
>>  DOCUMENT_ID                               NOT NULL NUMBER(12)
>>  SENDER_MSG_DEST                                    VARCHAR2(256)
>>  RECIP_MSG_DEST                                     VARCHAR2(256)
>>  DOCUMENT_TYPE                                      VARCHAR2(20)
>>  DOCUMENT_KEY                                       VARCHAR2(100)
>>
>>         Then I tried this jdbc streaming expression in my browser, 
>> still getting the same error stack (see below); By looking at the 
>> source code you have provided below, it seems Solr is able to connect 
>> to this Oracle db, but just cannot read the resultset for some 
>> reason? Do you think it has something to do with the jdbc driver version?
>>
>> http://localhost:8988/solr/document6/stream?expr=jdbc(connection=
>> "jdbc:oracle:thin:qa_docrep/
>> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
>> document_id,sender_msg_dest,recip_msg_dest,document_type,document_key 
>> FROM document6",sort="document_id 
>> asc",driver="oracle.jdbc.driver.OracleDriver")
>>
>> errors in solr.log
>> ==================
>> 2016-06-23 14:07:02.833 INFO  (qtp1389647288-139) [c:document6 
>> s:shard2
>> r:core_node1 x:document6_shard2_replica1] o.a.s.c.S.Request 
>> [document6_shard2_replica1]  webapp=/solr path=/stream 
>> params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
>> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+doc
>> ument_id,sender_msg_dest,recip_msg_dest,document_type,document_key+FR
>> OM+document6",sort%3D"document_id+asc",driver%3D"oracle.jdbc.driver.O
>> racleDriver")}
>> status=0 QTime=1
>> 2016-06-23 14:07:05.282 ERROR (qtp1389647288-139) [c:document6 
>> s:shard2
>> r:core_node1 x:document6_shard2_replica1] 
>> o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
>>         at
>> org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.java:305)
>>         at
>> org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionStream.java:64)
>>         at
>> org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.java:374)
>>         at
>> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:305)
>>         at
>> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
>>         at
>> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
>>         at
>> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
>>         at
>> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
>>         at
>> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
>>         at
>> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>>         at
>> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
>>         at
>> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>>         at
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
>>         at
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>>         at
>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>>         at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
>>         at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
>>         at
>> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
>>         at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
>>         at
>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>>         at
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
>>         at
>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
>>         at
>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>>         at
>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>>         at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
>>         at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
>>         at
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>>         at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>>         at java.lang.Thread.run(Thread.java:745)
>>
>> 2016-06-23 14:07:05.285 ERROR (qtp1389647288-139) [c:document6 
>> s:shard2
>> r:core_node1 x:document6_shard2_replica1] o.a.s.s.HttpSolrCall
>> null:java.lang.RuntimeException: java.lang.AbstractMethodError: 
>> Method oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>>         at
>> org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:605)
>>         at
>> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
>>         at
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
>>         at
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>>         at
>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>>         at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
>>         at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
>>         at
>> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
>>         at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
>>         at
>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>>         at
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
>>         at
>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
>>         at
>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>>         at
>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>>         at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
>>         at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
>>         at
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>>         at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>>         at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.lang.AbstractMethodError: Method 
>> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>>         at oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
>>         at
>> org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.java:287)
>>         at
>> org.apache.solr.client.solrj.io.stream.ExceptionStream.close(ExceptionStream.java:79)
>>         at
>> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.java:357)
>>         at
>> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:317)
>>         at
>> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
>>         at
>> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
>>         at
>> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
>>         at
>> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
>>         at
>> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
>>         at
>> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>>         at
>> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
>>         at
>> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>>         ... 26 more
>>
>> -----Original Message-----
>> From: Joel Bernstein [mailto:joelsolr@gmail.com]
>> Sent: Thursday, June 23, 2016 7:56 AM
>> To: solr-user@lucene.apache.org
>> Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) 
>> stream source
>>
>> I'm wondering if you're selecting an unsupported data type. The 
>> exception being thrown looks like it could happen if that were the 
>> case. The supported types are in the Java doc.
>>
>> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.0
>> /solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStrea
>> m.java
>>
>> Joel Bernstein
>> http://joelsolr.blogspot.com/
>>
>> On Wed, Jun 22, 2016 at 11:46 PM, Hui Liu <hl...@opentext.com> wrote:
>>
>> > Hi,
>> >
>> >
>> >
>> >               I have Solr 6.0.0 installed on my PC (windows 7), I 
>> > was experimenting with ‘Streaming Expression’ by using Oracle jdbc 
>> > as the stream source, following is the http command I am using:
>> >
>> >
>> >
>> > http://localhost:8988/solr/document5/stream?expr=jdbc(connection=
>> > "jdbc:oracle:thin:qa_docrep/
>> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
>> > document_id,sender_msg_dest,recip_msg_dest,document_type,document_k
>> > ey, sender_bu_id,recip_bu_id,date_created
>> > FROM tg_document WHERE rownum < 5",sort="document_id
>> > asc",driver="oracle.jdbc.driver.OracleDriver")
>> >
>> >
>> >
>> >               I can access this Oracle db from my PC via regular 
>> > JDBC connection. I did put Oracle jdbc driver jar ‘ojdbc14.jar’ 
>> > (same jar used in my regular jdbc code) under Solr/server/lib dir 
>> > and restarted Solr cloud. Below is the error from solr.log (got a 
>> > null pointer error); I am merely trying to get the data returned 
>> > from Oracle table, I have not tried to index them in the Solr yet, 
>> > attached is the shema.xml and solrconfig.xml for this collection 
>> > ‘document5’; does anyone know what am I missing? thanks for any help!
>> >
>> >
>> >
>> > Regards,
>> >
>> > Hui Liu
>> >
>> >
>> >
>> > Error from Solr.log:
>> >
>> > =====================
>> >
>> > 2016-06-23 03:17:34.413 INFO  (qtp1389647288-19) [c:document5 
>> > s:shard2
>> > r:core_node2 x:document5_shard2_replica1] o.a.s.c.S.Request 
>> > [document5_shard2_replica1]  webapp=/solr path=/stream 
>> > params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
>> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+d
>> > ocu 
>> > ment_id,sender_msg_dest,recip_msg_dest,document_type,document_key,s
>> > end 
>> > er_bu_id,recip_bu_id+FROM+tg_document+WHERE+rownum+<+5",sort%3D"doc
>> > ume nt_id+asc",driver%3D"oracle.jdbc.OracleDriver")}
>> > status=0 QTime=0
>> >
>> > 2016-06-23 03:17:37.588 ERROR (qtp1389647288-19) [c:document5 
>> > s:shard2
>> > r:core_node2 x:document5_shard2_replica1] 
>> > o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
>> >
>> >               at
>> > org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.j
>> > ava
>> > :305)
>> >
>> >               at
>> > org.apache.solr.client.solrj.io.stream.ExceptionStream.read(Excepti
>> > onS
>> > tream.java:64)
>> >
>> >               at
>> > org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandle
>> > r.j
>> > ava:374)
>> >
>> >               at
>> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRe
>> > spo
>> > nseWriter.java:305)
>> >
>> >               at
>> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWr
>> > ite
>> > r.java:167)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSO
>> > NRe
>> > sponseWriter.java:183)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
>> > java:299)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWrite
>> > r.j
>> > ava:95)
>> >
>> >               at
>> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWrite
>> > r.j
>> > ava:60)
>> >
>> >               at
>> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse
>> > (Qu
>> > eryResponseWriterUtil.java:65)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.jav
>> > a:7
>> > 25)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>> >
>> >               at
>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFil
>> > ter
>> > .java:229)
>> >
>> >               at
>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFil
>> > ter
>> > .java:184)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>> > etH
>> > andler.java:1668)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>> > 581)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler
>> > .ja
>> > va:143)
>> >
>> >               at
>> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.j
>> > ava
>> > :548)
>> >
>> >               at
>> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>> > dle
>> > r.java:226)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>> > dle
>> > r.java:1160)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>> > a:5
>> > 11)
>> >
>> >               at
>> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>> > ler
>> > .java:185)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>> > ler
>> > .java:1092)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler
>> > .ja
>> > va:141)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Co
>> > nte
>> > xtHandlerCollection.java:213)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCo
>> > lle
>> > ction.java:119)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>> > java:134)
>> >
>> >               at
>> > org.eclipse.jetty.server.Server.handle(Server.java:518)
>> >
>> >               at
>> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>> >
>> >               at
>> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>> > ava
>> > :244)
>> >
>> >               at
>> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>> > rac
>> > tConnection.java:273)
>> >
>> >               at
>> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>> >
>> >               at
>> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>> > int
>> > .java:93)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>> > eAn
>> > dRun(ExecuteProduceConsume.java:246)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>> > ecu
>> > teProduceConsume.java:156)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>> > ool
>> > .java:654)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
>> > java:572)
>> >
>> >               at java.lang.Thread.run(Thread.java:745)
>> >
>> >
>> >
>> > 2016-06-23 03:17:37.589 ERROR (qtp1389647288-19) [c:document5 
>> > s:shard2
>> > r:core_node2 x:document5_shard2_replica1] o.a.s.s.HttpSolrCall
>> > null:java.lang.RuntimeException: java.lang.AbstractMethodError: 
>> > Method oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:60
>> > 5)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
>> >
>> >               at
>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFil
>> > ter
>> > .java:229)
>> >
>> >               at
>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFil
>> > ter
>> > .java:184)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>> > etH
>> > andler.java:1668)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>> > 581)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler
>> > .ja
>> > va:143)
>> >
>> >               at
>> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.j
>> > ava
>> > :548)
>> >
>> >               at
>> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>> > dle
>> > r.java:226)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>> > dle
>> > r.java:1160)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>> > a:5
>> > 11)
>> >
>> >               at
>> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>> > ler
>> > .java:185)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>> > ler
>> > .java:1092)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler
>> > .ja
>> > va:141)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Co
>> > nte
>> > xtHandlerCollection.java:213)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCo
>> > lle
>> > ction.java:119)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>> > java:134)
>> >
>> >               at
>> > org.eclipse.jetty.server.Server.handle(Server.java:518)
>> >
>> >               at
>> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>> >
>> >               at
>> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>> > ava
>> > :244)
>> >
>> >               at
>> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>> > rac
>> > tConnection.java:273)
>> >
>> >               at
>> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>> >
>> >               at
>> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>> > int
>> > .java:93)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>> > eAn
>> > dRun(ExecuteProduceConsume.java:246)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>> > ecu
>> > teProduceConsume.java:156)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>> > ool
>> > .java:654)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
>> > java:572)
>> >
>> >               at java.lang.Thread.run(Thread.java:745)
>> >
>> > Caused by: java.lang.AbstractMethodError: Method 
>> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>> >
>> >               at
>> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
>> >
>> >               at
>> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.
>> > jav
>> > a:287)
>> >
>> >               at
>> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Except
>> > ion
>> > Stream.java:79)
>> >
>> >               at
>> > org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
>> > java:357)
>> >
>> >               at
>> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRe
>> > spo
>> > nseWriter.java:317)
>> >
>> >               at
>> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWr
>> > ite
>> > r.java:167)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSO
>> > NRe
>> > sponseWriter.java:183)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
>> > java:299)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWrite
>> > r.j
>> > ava:95)
>> >
>> >               at
>> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWrite
>> > r.j
>> > ava:60)
>> >
>> >               at
>> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse
>> > (Qu
>> > eryResponseWriterUtil.java:65)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.jav
>> > a:7
>> > 25)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>> >
>> >               ... 26 more
>> >
>> >
>> >
>> > 2016-06-23 03:17:37.590 WARN  (qtp1389647288-19) [c:document5 
>> > s:shard2
>> > r:core_node2 x:document5_shard2_replica1] o.e.j.s.ServletHandler 
>> > Error for /solr/document5/stream
>> >
>> > java.lang.AbstractMethodError: Method 
>> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>> >
>> >               at
>> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
>> >
>> >               at
>> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.
>> > jav
>> > a:287)
>> >
>> >               at
>> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Except
>> > ion
>> > Stream.java:79)
>> >
>> >               at
>> > org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
>> > java:357)
>> >
>> >               at
>> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRe
>> > spo
>> > nseWriter.java:317)
>> >
>> >               at
>> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWr
>> > ite
>> > r.java:167)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSO
>> > NRe
>> > sponseWriter.java:183)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
>> > java:299)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWrite
>> > r.j
>> > ava:95)
>> >
>> >               at
>> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWrite
>> > r.j
>> > ava:60)
>> >
>> >               at
>> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse
>> > (Qu
>> > eryResponseWriterUtil.java:65)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.jav
>> > a:7
>> > 25)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>> >
>> >               at
>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFil
>> > ter
>> > .java:229)
>> >
>> >               at
>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFil
>> > ter
>> > .java:184)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>> > etH
>> > andler.java:1668)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>> > 581)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler
>> > .ja
>> > va:143)
>> >
>> >               at
>> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.j
>> > ava
>> > :548)
>> >
>> >               at
>> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>> > dle
>> > r.java:226)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>> > dle
>> > r.java:1160)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>> > a:5
>> > 11)
>> >
>> >               at
>> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>> > ler
>> > .java:185)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>> > ler
>> > .java:1092)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler
>> > .ja
>> > va:141)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Co
>> > nte
>> > xtHandlerCollection.java:213)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCo
>> > lle
>> > ction.java:119)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>> > java:134)
>> >
>> >               at
>> > org.eclipse.jetty.server.Server.handle(Server.java:518)
>> >
>> >               at
>> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>> >
>> >               at
>> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>> > ava
>> > :244)
>> >
>> >               at
>> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>> > rac
>> > tConnection.java:273)
>> >
>> >               at
>> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>> >
>> >               at
>> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>> > int
>> > .java:93)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>> > eAn
>> > dRun(ExecuteProduceConsume.java:246)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>> > ecu
>> > teProduceConsume.java:156)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>> > ool
>> > .java:654)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
>> > java:572)
>> >
>> >               at java.lang.Thread.run(Thread.java:745)
>> >
>>
>
>

Re: Errors for Streaming Expressions using JDBC (Oracle) stream source

Posted by Joel Bernstein <jo...@gmail.com>.
Let's open a ticket for this issue specific to Oracle.

Joel Bernstein
http://joelsolr.blogspot.com/

On Thu, Jun 23, 2016 at 10:54 AM, Joel Bernstein <jo...@gmail.com> wrote:

> I think we're going to have to add some debugging into the code to find
> what's going on. On line 225 in JDBCStream it's getting the class name for
> each column. It would be good know what the class names are that the
> Oracles driver is returning.
>
>
> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.0/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java
>
> We probably need to throw an exception that includes the class name to
> help users report what different drivers using for the classes.
>
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
> On Thu, Jun 23, 2016 at 10:18 AM, Hui Liu <hl...@opentext.com> wrote:
>
>> Joel - thanks for the quick response, in my previous test, the collection
>> 'document5' does have a field called 'date_created' which is type 'date',
>> even though my SQL SELECT below did not select any un-supported data type
>> (all columns are either long or String in jdbc type); but to totally rule
>> out this issue, I created a new collection 'document6' which only contain
>> long and string data type, and a new Oracle table 'document6' that only
>> contain columns whose jdbc type is long and string, see below for
>> schema.xml and table definition:
>>
>> schema.xml for Solr collection 'document6': (newly created empty
>> collections with 2 shards)
>>
>> ==================================================================================
>> <schema name="document6" version="1.1">
>>   <types>
>>      <fieldType name="uuid" class="solr.UUIDField" />
>>      <fieldType name="bigint" class="solr.TrieLongField" />
>>      <fieldType name="string" class="solr.StrField"
>> sortMissingLast="true" docValues="true" />
>>      <fieldType name="long" class="solr.TrieLongField" docValues="true"
>> precisionStep="0" positionIncrementGap="0"/>
>>      <fieldType name="text" class="solr.TextField">
>>         <analyzer>
>>            <tokenizer class="solr.StandardTokenizerFactory"/>
>>         </analyzer>
>>       </fieldType>
>>       <fieldType name="boolean" class="solr.BoolField"
>> sortMissingLast="true" omitNorms="true"/>
>>    </types>
>>    <fields>
>>      <field name="_version_" type="long" indexed="true" stored="true"
>> multiValued="false"/>
>>      <field name="document_id" type="long" indexed="true" stored="true"
>> docValues="true"/>
>>      <field name="sender_msg_dest" type="string" indexed="true"
>> stored="true" docValues="true"/>
>>      <field name="recip_msg_dest" type="string" indexed="true"
>> stored="true" docValues="true"/>
>>      <field name="document_type" type="string" indexed="true"
>> stored="true" docValues="true"/>
>>      <field name="document_key" type="string" indexed="true"
>> stored="true" docValues="true"/>
>>    </fields>
>>   <defaultSearchField>document_id</defaultSearchField>
>>   <uniqueKey>document_id</uniqueKey>
>> </schema>
>>
>> Oracle table 'document6': (newly created Oracle table with 9 records)
>> ==========================================================
>> QA_DOCREP@qlgdb1 > desc document6
>>  Name                                      Null?    Type
>>  ----------------------------------------- --------
>> ----------------------------
>>  DOCUMENT_ID                               NOT NULL NUMBER(12)
>>  SENDER_MSG_DEST                                    VARCHAR2(256)
>>  RECIP_MSG_DEST                                     VARCHAR2(256)
>>  DOCUMENT_TYPE                                      VARCHAR2(20)
>>  DOCUMENT_KEY                                       VARCHAR2(100)
>>
>>         Then I tried this jdbc streaming expression in my browser, still
>> getting the same error stack (see below); By looking at the source code you
>> have provided below, it seems Solr is able to connect to this Oracle db,
>> but just cannot read the resultset for some reason? Do you think it has
>> something to do with the jdbc driver version?
>>
>> http://localhost:8988/solr/document6/stream?expr=jdbc(connection=
>> "jdbc:oracle:thin:qa_docrep/
>> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
>> document_id,sender_msg_dest,recip_msg_dest,document_type,document_key FROM
>> document6",sort="document_id asc",driver="oracle.jdbc.driver.OracleDriver")
>>
>> errors in solr.log
>> ==================
>> 2016-06-23 14:07:02.833 INFO  (qtp1389647288-139) [c:document6 s:shard2
>> r:core_node1 x:document6_shard2_replica1] o.a.s.c.S.Request
>> [document6_shard2_replica1]  webapp=/solr path=/stream
>> params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
>> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+document_id,sender_msg_dest,recip_msg_dest,document_type,document_key+FROM+document6",sort%3D"document_id+asc",driver%3D"oracle.jdbc.driver.OracleDriver")}
>> status=0 QTime=1
>> 2016-06-23 14:07:05.282 ERROR (qtp1389647288-139) [c:document6 s:shard2
>> r:core_node1 x:document6_shard2_replica1] o.a.s.c.s.i.s.ExceptionStream
>> java.lang.NullPointerException
>>         at
>> org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.java:305)
>>         at
>> org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionStream.java:64)
>>         at
>> org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.java:374)
>>         at
>> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:305)
>>         at
>> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
>>         at
>> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
>>         at
>> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
>>         at
>> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
>>         at
>> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
>>         at
>> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>>         at
>> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
>>         at
>> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>>         at
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
>>         at
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>>         at
>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>>         at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
>>         at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
>>         at
>> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
>>         at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
>>         at
>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>>         at
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
>>         at
>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
>>         at
>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>>         at
>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>>         at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
>>         at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
>>         at
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>>         at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>>         at java.lang.Thread.run(Thread.java:745)
>>
>> 2016-06-23 14:07:05.285 ERROR (qtp1389647288-139) [c:document6 s:shard2
>> r:core_node1 x:document6_shard2_replica1] o.a.s.s.HttpSolrCall
>> null:java.lang.RuntimeException: java.lang.AbstractMethodError: Method
>> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>>         at
>> org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:605)
>>         at
>> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
>>         at
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
>>         at
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>>         at
>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>>         at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
>>         at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
>>         at
>> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
>>         at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
>>         at
>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>>         at
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
>>         at
>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
>>         at
>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>>         at
>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>>         at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
>>         at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
>>         at
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>>         at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>>         at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.lang.AbstractMethodError: Method
>> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>>         at oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
>>         at
>> org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.java:287)
>>         at
>> org.apache.solr.client.solrj.io.stream.ExceptionStream.close(ExceptionStream.java:79)
>>         at
>> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.java:357)
>>         at
>> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:317)
>>         at
>> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
>>         at
>> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
>>         at
>> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
>>         at
>> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
>>         at
>> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
>>         at
>> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>>         at
>> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
>>         at
>> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>>         ... 26 more
>>
>> -----Original Message-----
>> From: Joel Bernstein [mailto:joelsolr@gmail.com]
>> Sent: Thursday, June 23, 2016 7:56 AM
>> To: solr-user@lucene.apache.org
>> Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) stream
>> source
>>
>> I'm wondering if you're selecting an unsupported data type. The exception
>> being thrown looks like it could happen if that were the case. The
>> supported types are in the Java doc.
>>
>> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.0/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java
>>
>> Joel Bernstein
>> http://joelsolr.blogspot.com/
>>
>> On Wed, Jun 22, 2016 at 11:46 PM, Hui Liu <hl...@opentext.com> wrote:
>>
>> > Hi,
>> >
>> >
>> >
>> >               I have Solr 6.0.0 installed on my PC (windows 7), I was
>> > experimenting with ‘Streaming Expression’ by using Oracle jdbc as the
>> > stream source, following is the http command I am using:
>> >
>> >
>> >
>> > http://localhost:8988/solr/document5/stream?expr=jdbc(connection=
>> > "jdbc:oracle:thin:qa_docrep/
>> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
>> > document_id,sender_msg_dest,recip_msg_dest,document_type,document_key,
>> > sender_bu_id,recip_bu_id,date_created
>> > FROM tg_document WHERE rownum < 5",sort="document_id
>> > asc",driver="oracle.jdbc.driver.OracleDriver")
>> >
>> >
>> >
>> >               I can access this Oracle db from my PC via regular JDBC
>> > connection. I did put Oracle jdbc driver jar ‘ojdbc14.jar’ (same jar
>> > used in my regular jdbc code) under Solr/server/lib dir and restarted
>> > Solr cloud. Below is the error from solr.log (got a null pointer
>> > error); I am merely trying to get the data returned from Oracle table,
>> > I have not tried to index them in the Solr yet, attached is the
>> > shema.xml and solrconfig.xml for this collection ‘document5’; does
>> > anyone know what am I missing? thanks for any help!
>> >
>> >
>> >
>> > Regards,
>> >
>> > Hui Liu
>> >
>> >
>> >
>> > Error from Solr.log:
>> >
>> > =====================
>> >
>> > 2016-06-23 03:17:34.413 INFO  (qtp1389647288-19) [c:document5 s:shard2
>> > r:core_node2 x:document5_shard2_replica1] o.a.s.c.S.Request
>> > [document5_shard2_replica1]  webapp=/solr path=/stream
>> > params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
>> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+docu
>> > ment_id,sender_msg_dest,recip_msg_dest,document_type,document_key,send
>> > er_bu_id,recip_bu_id+FROM+tg_document+WHERE+rownum+<+5",sort%3D"docume
>> > nt_id+asc",driver%3D"oracle.jdbc.OracleDriver")}
>> > status=0 QTime=0
>> >
>> > 2016-06-23 03:17:37.588 ERROR (qtp1389647288-19) [c:document5 s:shard2
>> > r:core_node2 x:document5_shard2_replica1]
>> > o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
>> >
>> >               at
>> > org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.java
>> > :305)
>> >
>> >               at
>> > org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionS
>> > tream.java:64)
>> >
>> >               at
>> > org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.j
>> > ava:374)
>> >
>> >               at
>> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
>> > nseWriter.java:305)
>> >
>> >               at
>> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
>> > r.java:167)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
>> > sponseWriter.java:183)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
>> > java:299)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
>> > ava:95)
>> >
>> >               at
>> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
>> > ava:60)
>> >
>> >               at
>> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
>> > eryResponseWriterUtil.java:65)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
>> > 25)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>> >
>> >               at
>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
>> > .java:229)
>> >
>> >               at
>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
>> > .java:184)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
>> > andler.java:1668)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>> > 581)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
>> > va:143)
>> >
>> >               at
>> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
>> > :548)
>> >
>> >               at
>> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
>> > r.java:226)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
>> > r.java:1160)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
>> > 11)
>> >
>> >               at
>> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
>> > .java:185)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
>> > .java:1092)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
>> > va:141)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
>> > xtHandlerCollection.java:213)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
>> > ction.java:119)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>> > java:134)
>> >
>> >               at
>> > org.eclipse.jetty.server.Server.handle(Server.java:518)
>> >
>> >               at
>> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>> >
>> >               at
>> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
>> > :244)
>> >
>> >               at
>> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
>> > tConnection.java:273)
>> >
>> >               at
>> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>> >
>> >               at
>> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
>> > .java:93)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
>> > dRun(ExecuteProduceConsume.java:246)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
>> > teProduceConsume.java:156)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
>> > .java:654)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
>> > java:572)
>> >
>> >               at java.lang.Thread.run(Thread.java:745)
>> >
>> >
>> >
>> > 2016-06-23 03:17:37.589 ERROR (qtp1389647288-19) [c:document5 s:shard2
>> > r:core_node2 x:document5_shard2_replica1] o.a.s.s.HttpSolrCall
>> > null:java.lang.RuntimeException: java.lang.AbstractMethodError: Method
>> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:605)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
>> >
>> >               at
>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
>> > .java:229)
>> >
>> >               at
>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
>> > .java:184)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
>> > andler.java:1668)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>> > 581)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
>> > va:143)
>> >
>> >               at
>> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
>> > :548)
>> >
>> >               at
>> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
>> > r.java:226)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
>> > r.java:1160)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
>> > 11)
>> >
>> >               at
>> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
>> > .java:185)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
>> > .java:1092)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
>> > va:141)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
>> > xtHandlerCollection.java:213)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
>> > ction.java:119)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>> > java:134)
>> >
>> >               at
>> > org.eclipse.jetty.server.Server.handle(Server.java:518)
>> >
>> >               at
>> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>> >
>> >               at
>> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
>> > :244)
>> >
>> >               at
>> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
>> > tConnection.java:273)
>> >
>> >               at
>> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>> >
>> >               at
>> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
>> > .java:93)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
>> > dRun(ExecuteProduceConsume.java:246)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
>> > teProduceConsume.java:156)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
>> > .java:654)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
>> > java:572)
>> >
>> >               at java.lang.Thread.run(Thread.java:745)
>> >
>> > Caused by: java.lang.AbstractMethodError: Method
>> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>> >
>> >               at
>> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
>> >
>> >               at
>> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.jav
>> > a:287)
>> >
>> >               at
>> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Exception
>> > Stream.java:79)
>> >
>> >               at
>> > org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
>> > java:357)
>> >
>> >               at
>> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
>> > nseWriter.java:317)
>> >
>> >               at
>> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
>> > r.java:167)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
>> > sponseWriter.java:183)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
>> > java:299)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
>> > ava:95)
>> >
>> >               at
>> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
>> > ava:60)
>> >
>> >               at
>> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
>> > eryResponseWriterUtil.java:65)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
>> > 25)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>> >
>> >               ... 26 more
>> >
>> >
>> >
>> > 2016-06-23 03:17:37.590 WARN  (qtp1389647288-19) [c:document5 s:shard2
>> > r:core_node2 x:document5_shard2_replica1] o.e.j.s.ServletHandler Error
>> > for /solr/document5/stream
>> >
>> > java.lang.AbstractMethodError: Method
>> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>> >
>> >               at
>> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
>> >
>> >               at
>> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.jav
>> > a:287)
>> >
>> >               at
>> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Exception
>> > Stream.java:79)
>> >
>> >               at
>> > org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
>> > java:357)
>> >
>> >               at
>> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
>> > nseWriter.java:317)
>> >
>> >               at
>> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
>> > r.java:167)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
>> > sponseWriter.java:183)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
>> > java:299)
>> >
>> >               at
>> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
>> > ava:95)
>> >
>> >               at
>> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
>> > ava:60)
>> >
>> >               at
>> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
>> > eryResponseWriterUtil.java:65)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
>> > 25)
>> >
>> >               at
>> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>> >
>> >               at
>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
>> > .java:229)
>> >
>> >               at
>> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
>> > .java:184)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
>> > andler.java:1668)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>> > 581)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
>> > va:143)
>> >
>> >               at
>> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
>> > :548)
>> >
>> >               at
>> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
>> > r.java:226)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
>> > r.java:1160)
>> >
>> >               at
>> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
>> > 11)
>> >
>> >               at
>> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
>> > .java:185)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
>> > .java:1092)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
>> > va:141)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
>> > xtHandlerCollection.java:213)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
>> > ction.java:119)
>> >
>> >               at
>> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>> > java:134)
>> >
>> >               at
>> > org.eclipse.jetty.server.Server.handle(Server.java:518)
>> >
>> >               at
>> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>> >
>> >               at
>> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
>> > :244)
>> >
>> >               at
>> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
>> > tConnection.java:273)
>> >
>> >               at
>> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>> >
>> >               at
>> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
>> > .java:93)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
>> > dRun(ExecuteProduceConsume.java:246)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
>> > teProduceConsume.java:156)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
>> > .java:654)
>> >
>> >               at
>> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
>> > java:572)
>> >
>> >               at java.lang.Thread.run(Thread.java:745)
>> >
>>
>
>

Re: Errors for Streaming Expressions using JDBC (Oracle) stream source

Posted by Joel Bernstein <jo...@gmail.com>.
I think we're going to have to add some debugging into the code to find
what's going on. On line 225 in JDBCStream it's getting the class name for
each column. It would be good know what the class names are that the
Oracles driver is returning.

https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.0/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java

We probably need to throw an exception that includes the class name to help
users report what different drivers using for the classes.


Joel Bernstein
http://joelsolr.blogspot.com/

On Thu, Jun 23, 2016 at 10:18 AM, Hui Liu <hl...@opentext.com> wrote:

> Joel - thanks for the quick response, in my previous test, the collection
> 'document5' does have a field called 'date_created' which is type 'date',
> even though my SQL SELECT below did not select any un-supported data type
> (all columns are either long or String in jdbc type); but to totally rule
> out this issue, I created a new collection 'document6' which only contain
> long and string data type, and a new Oracle table 'document6' that only
> contain columns whose jdbc type is long and string, see below for
> schema.xml and table definition:
>
> schema.xml for Solr collection 'document6': (newly created empty
> collections with 2 shards)
>
> ==================================================================================
> <schema name="document6" version="1.1">
>   <types>
>      <fieldType name="uuid" class="solr.UUIDField" />
>      <fieldType name="bigint" class="solr.TrieLongField" />
>      <fieldType name="string" class="solr.StrField" sortMissingLast="true"
> docValues="true" />
>      <fieldType name="long" class="solr.TrieLongField" docValues="true"
> precisionStep="0" positionIncrementGap="0"/>
>      <fieldType name="text" class="solr.TextField">
>         <analyzer>
>            <tokenizer class="solr.StandardTokenizerFactory"/>
>         </analyzer>
>       </fieldType>
>       <fieldType name="boolean" class="solr.BoolField"
> sortMissingLast="true" omitNorms="true"/>
>    </types>
>    <fields>
>      <field name="_version_" type="long" indexed="true" stored="true"
> multiValued="false"/>
>      <field name="document_id" type="long" indexed="true" stored="true"
> docValues="true"/>
>      <field name="sender_msg_dest" type="string" indexed="true"
> stored="true" docValues="true"/>
>      <field name="recip_msg_dest" type="string" indexed="true"
> stored="true" docValues="true"/>
>      <field name="document_type" type="string" indexed="true"
> stored="true" docValues="true"/>
>      <field name="document_key" type="string" indexed="true" stored="true"
> docValues="true"/>
>    </fields>
>   <defaultSearchField>document_id</defaultSearchField>
>   <uniqueKey>document_id</uniqueKey>
> </schema>
>
> Oracle table 'document6': (newly created Oracle table with 9 records)
> ==========================================================
> QA_DOCREP@qlgdb1 > desc document6
>  Name                                      Null?    Type
>  ----------------------------------------- --------
> ----------------------------
>  DOCUMENT_ID                               NOT NULL NUMBER(12)
>  SENDER_MSG_DEST                                    VARCHAR2(256)
>  RECIP_MSG_DEST                                     VARCHAR2(256)
>  DOCUMENT_TYPE                                      VARCHAR2(20)
>  DOCUMENT_KEY                                       VARCHAR2(100)
>
>         Then I tried this jdbc streaming expression in my browser, still
> getting the same error stack (see below); By looking at the source code you
> have provided below, it seems Solr is able to connect to this Oracle db,
> but just cannot read the resultset for some reason? Do you think it has
> something to do with the jdbc driver version?
>
> http://localhost:8988/solr/document6/stream?expr=jdbc(connection=
> "jdbc:oracle:thin:qa_docrep/
> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
> document_id,sender_msg_dest,recip_msg_dest,document_type,document_key FROM
> document6",sort="document_id asc",driver="oracle.jdbc.driver.OracleDriver")
>
> errors in solr.log
> ==================
> 2016-06-23 14:07:02.833 INFO  (qtp1389647288-139) [c:document6 s:shard2
> r:core_node1 x:document6_shard2_replica1] o.a.s.c.S.Request
> [document6_shard2_replica1]  webapp=/solr path=/stream
> params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+document_id,sender_msg_dest,recip_msg_dest,document_type,document_key+FROM+document6",sort%3D"document_id+asc",driver%3D"oracle.jdbc.driver.OracleDriver")}
> status=0 QTime=1
> 2016-06-23 14:07:05.282 ERROR (qtp1389647288-139) [c:document6 s:shard2
> r:core_node1 x:document6_shard2_replica1] o.a.s.c.s.i.s.ExceptionStream
> java.lang.NullPointerException
>         at
> org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.java:305)
>         at
> org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionStream.java:64)
>         at
> org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.java:374)
>         at
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:305)
>         at
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
>         at
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
>         at
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
>         at
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
>         at
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
>         at
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>         at
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
>         at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>         at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
>         at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
>         at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>         at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>         at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
>         at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>         at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
>         at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
>         at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
>         at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>         at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
>         at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
>         at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>         at
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>         at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
>         at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
>         at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>         at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>         at java.lang.Thread.run(Thread.java:745)
>
> 2016-06-23 14:07:05.285 ERROR (qtp1389647288-139) [c:document6 s:shard2
> r:core_node1 x:document6_shard2_replica1] o.a.s.s.HttpSolrCall
> null:java.lang.RuntimeException: java.lang.AbstractMethodError: Method
> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>         at
> org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:605)
>         at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
>         at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
>         at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
>         at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>         at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>         at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
>         at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>         at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
>         at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
>         at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
>         at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>         at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
>         at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
>         at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>         at
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>         at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
>         at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
>         at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>         at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.AbstractMethodError: Method
> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>         at oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
>         at
> org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.java:287)
>         at
> org.apache.solr.client.solrj.io.stream.ExceptionStream.close(ExceptionStream.java:79)
>         at
> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.java:357)
>         at
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:317)
>         at
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
>         at
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
>         at
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
>         at
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
>         at
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
>         at
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>         at
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
>         at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>         ... 26 more
>
> -----Original Message-----
> From: Joel Bernstein [mailto:joelsolr@gmail.com]
> Sent: Thursday, June 23, 2016 7:56 AM
> To: solr-user@lucene.apache.org
> Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) stream
> source
>
> I'm wondering if you're selecting an unsupported data type. The exception
> being thrown looks like it could happen if that were the case. The
> supported types are in the Java doc.
>
> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.0/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
> On Wed, Jun 22, 2016 at 11:46 PM, Hui Liu <hl...@opentext.com> wrote:
>
> > Hi,
> >
> >
> >
> >               I have Solr 6.0.0 installed on my PC (windows 7), I was
> > experimenting with ‘Streaming Expression’ by using Oracle jdbc as the
> > stream source, following is the http command I am using:
> >
> >
> >
> > http://localhost:8988/solr/document5/stream?expr=jdbc(connection=
> > "jdbc:oracle:thin:qa_docrep/
> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
> > document_id,sender_msg_dest,recip_msg_dest,document_type,document_key,
> > sender_bu_id,recip_bu_id,date_created
> > FROM tg_document WHERE rownum < 5",sort="document_id
> > asc",driver="oracle.jdbc.driver.OracleDriver")
> >
> >
> >
> >               I can access this Oracle db from my PC via regular JDBC
> > connection. I did put Oracle jdbc driver jar ‘ojdbc14.jar’ (same jar
> > used in my regular jdbc code) under Solr/server/lib dir and restarted
> > Solr cloud. Below is the error from solr.log (got a null pointer
> > error); I am merely trying to get the data returned from Oracle table,
> > I have not tried to index them in the Solr yet, attached is the
> > shema.xml and solrconfig.xml for this collection ‘document5’; does
> > anyone know what am I missing? thanks for any help!
> >
> >
> >
> > Regards,
> >
> > Hui Liu
> >
> >
> >
> > Error from Solr.log:
> >
> > =====================
> >
> > 2016-06-23 03:17:34.413 INFO  (qtp1389647288-19) [c:document5 s:shard2
> > r:core_node2 x:document5_shard2_replica1] o.a.s.c.S.Request
> > [document5_shard2_replica1]  webapp=/solr path=/stream
> > params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
> > abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+docu
> > ment_id,sender_msg_dest,recip_msg_dest,document_type,document_key,send
> > er_bu_id,recip_bu_id+FROM+tg_document+WHERE+rownum+<+5",sort%3D"docume
> > nt_id+asc",driver%3D"oracle.jdbc.OracleDriver")}
> > status=0 QTime=0
> >
> > 2016-06-23 03:17:37.588 ERROR (qtp1389647288-19) [c:document5 s:shard2
> > r:core_node2 x:document5_shard2_replica1]
> > o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
> >
> >               at
> > org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.java
> > :305)
> >
> >               at
> > org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionS
> > tream.java:64)
> >
> >               at
> > org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.j
> > ava:374)
> >
> >               at
> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
> > nseWriter.java:305)
> >
> >               at
> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
> > r.java:167)
> >
> >               at
> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
> > sponseWriter.java:183)
> >
> >               at
> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > java:299)
> >
> >               at
> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
> > ava:95)
> >
> >               at
> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
> > ava:60)
> >
> >               at
> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
> > eryResponseWriterUtil.java:65)
> >
> >               at
> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
> > 25)
> >
> >               at
> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >
> >               at
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> > .java:229)
> >
> >               at
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> > .java:184)
> >
> >               at
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> > andler.java:1668)
> >
> >               at
> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > 581)
> >
> >               at
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> > va:143)
> >
> >               at
> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
> > :548)
> >
> >               at
> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> > r.java:226)
> >
> >               at
> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> > r.java:1160)
> >
> >               at
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
> > 11)
> >
> >               at
> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
> > .java:185)
> >
> >               at
> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
> > .java:1092)
> >
> >               at
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> > va:141)
> >
> >               at
> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
> > xtHandlerCollection.java:213)
> >
> >               at
> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
> > ction.java:119)
> >
> >               at
> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > java:134)
> >
> >               at
> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> >
> >               at
> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >
> >               at
> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
> > :244)
> >
> >               at
> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
> > tConnection.java:273)
> >
> >               at
> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >
> >               at
> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
> > .java:93)
> >
> >               at
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
> > dRun(ExecuteProduceConsume.java:246)
> >
> >               at
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
> > teProduceConsume.java:156)
> >
> >               at
> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
> > .java:654)
> >
> >               at
> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > java:572)
> >
> >               at java.lang.Thread.run(Thread.java:745)
> >
> >
> >
> > 2016-06-23 03:17:37.589 ERROR (qtp1389647288-19) [c:document5 s:shard2
> > r:core_node2 x:document5_shard2_replica1] o.a.s.s.HttpSolrCall
> > null:java.lang.RuntimeException: java.lang.AbstractMethodError: Method
> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >
> >               at
> > org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:605)
> >
> >               at
> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
> >
> >               at
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> > .java:229)
> >
> >               at
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> > .java:184)
> >
> >               at
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> > andler.java:1668)
> >
> >               at
> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > 581)
> >
> >               at
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> > va:143)
> >
> >               at
> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
> > :548)
> >
> >               at
> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> > r.java:226)
> >
> >               at
> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> > r.java:1160)
> >
> >               at
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
> > 11)
> >
> >               at
> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
> > .java:185)
> >
> >               at
> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
> > .java:1092)
> >
> >               at
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> > va:141)
> >
> >               at
> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
> > xtHandlerCollection.java:213)
> >
> >               at
> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
> > ction.java:119)
> >
> >               at
> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > java:134)
> >
> >               at
> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> >
> >               at
> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >
> >               at
> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
> > :244)
> >
> >               at
> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
> > tConnection.java:273)
> >
> >               at
> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >
> >               at
> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
> > .java:93)
> >
> >               at
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
> > dRun(ExecuteProduceConsume.java:246)
> >
> >               at
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
> > teProduceConsume.java:156)
> >
> >               at
> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
> > .java:654)
> >
> >               at
> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > java:572)
> >
> >               at java.lang.Thread.run(Thread.java:745)
> >
> > Caused by: java.lang.AbstractMethodError: Method
> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >
> >               at
> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> >
> >               at
> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.jav
> > a:287)
> >
> >               at
> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Exception
> > Stream.java:79)
> >
> >               at
> > org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> > java:357)
> >
> >               at
> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
> > nseWriter.java:317)
> >
> >               at
> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
> > r.java:167)
> >
> >               at
> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
> > sponseWriter.java:183)
> >
> >               at
> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > java:299)
> >
> >               at
> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
> > ava:95)
> >
> >               at
> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
> > ava:60)
> >
> >               at
> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
> > eryResponseWriterUtil.java:65)
> >
> >               at
> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
> > 25)
> >
> >               at
> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >
> >               ... 26 more
> >
> >
> >
> > 2016-06-23 03:17:37.590 WARN  (qtp1389647288-19) [c:document5 s:shard2
> > r:core_node2 x:document5_shard2_replica1] o.e.j.s.ServletHandler Error
> > for /solr/document5/stream
> >
> > java.lang.AbstractMethodError: Method
> > oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
> >
> >               at
> > oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
> >
> >               at
> > org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.jav
> > a:287)
> >
> >               at
> > org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Exception
> > Stream.java:79)
> >
> >               at
> > org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> > java:357)
> >
> >               at
> > org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
> > nseWriter.java:317)
> >
> >               at
> > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
> > r.java:167)
> >
> >               at
> > org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
> > sponseWriter.java:183)
> >
> >               at
> > org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> > java:299)
> >
> >               at
> > org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
> > ava:95)
> >
> >               at
> > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
> > ava:60)
> >
> >               at
> > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
> > eryResponseWriterUtil.java:65)
> >
> >               at
> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
> > 25)
> >
> >               at
> > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
> >
> >               at
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> > .java:229)
> >
> >               at
> > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> > .java:184)
> >
> >               at
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> > andler.java:1668)
> >
> >               at
> > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > 581)
> >
> >               at
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> > va:143)
> >
> >               at
> > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
> > :548)
> >
> >               at
> > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> > r.java:226)
> >
> >               at
> > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> > r.java:1160)
> >
> >               at
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
> > 11)
> >
> >               at
> > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
> > .java:185)
> >
> >               at
> > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
> > .java:1092)
> >
> >               at
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> > va:141)
> >
> >               at
> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
> > xtHandlerCollection.java:213)
> >
> >               at
> > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
> > ction.java:119)
> >
> >               at
> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > java:134)
> >
> >               at
> > org.eclipse.jetty.server.Server.handle(Server.java:518)
> >
> >               at
> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
> >
> >               at
> > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
> > :244)
> >
> >               at
> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
> > tConnection.java:273)
> >
> >               at
> > org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >
> >               at
> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
> > .java:93)
> >
> >               at
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
> > dRun(ExecuteProduceConsume.java:246)
> >
> >               at
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
> > teProduceConsume.java:156)
> >
> >               at
> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
> > .java:654)
> >
> >               at
> > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> > java:572)
> >
> >               at java.lang.Thread.run(Thread.java:745)
> >
>

RE: Errors for Streaming Expressions using JDBC (Oracle) stream source

Posted by Hui Liu <hl...@opentext.com>.
Joel - thanks for the quick response, in my previous test, the collection 'document5' does have a field called 'date_created' which is type 'date', even though my SQL SELECT below did not select any un-supported data type (all columns are either long or String in jdbc type); but to totally rule out this issue, I created a new collection 'document6' which only contain long and string data type, and a new Oracle table 'document6' that only contain columns whose jdbc type is long and string, see below for schema.xml and table definition:

schema.xml for Solr collection 'document6': (newly created empty collections with 2 shards)
==================================================================================
<schema name="document6" version="1.1">
  <types>
     <fieldType name="uuid" class="solr.UUIDField" />
     <fieldType name="bigint" class="solr.TrieLongField" />
     <fieldType name="string" class="solr.StrField" sortMissingLast="true" docValues="true" />
     <fieldType name="long" class="solr.TrieLongField" docValues="true" precisionStep="0" positionIncrementGap="0"/>
     <fieldType name="text" class="solr.TextField">
        <analyzer>
           <tokenizer class="solr.StandardTokenizerFactory"/>
        </analyzer>
      </fieldType>
      <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
   </types>
   <fields>
     <field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/>
     <field name="document_id" type="long" indexed="true" stored="true" docValues="true"/>
     <field name="sender_msg_dest" type="string" indexed="true" stored="true" docValues="true"/>
     <field name="recip_msg_dest" type="string" indexed="true" stored="true" docValues="true"/>
     <field name="document_type" type="string" indexed="true" stored="true" docValues="true"/>
     <field name="document_key" type="string" indexed="true" stored="true" docValues="true"/>
   </fields>
  <defaultSearchField>document_id</defaultSearchField>
  <uniqueKey>document_id</uniqueKey>
</schema>

Oracle table 'document6': (newly created Oracle table with 9 records)
==========================================================
QA_DOCREP@qlgdb1 > desc document6
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 DOCUMENT_ID                               NOT NULL NUMBER(12)
 SENDER_MSG_DEST                                    VARCHAR2(256)
 RECIP_MSG_DEST                                     VARCHAR2(256)
 DOCUMENT_TYPE                                      VARCHAR2(20)
 DOCUMENT_KEY                                       VARCHAR2(100)

	Then I tried this jdbc streaming expression in my browser, still getting the same error stack (see below); By looking at the source code you have provided below, it seems Solr is able to connect to this Oracle db, but just cannot read the resultset for some reason? Do you think it has something to do with the jdbc driver version? 

http://localhost:8988/solr/document6/stream?expr=jdbc(connection="jdbc:oracle:thin:qa_docrep/abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT document_id,sender_msg_dest,recip_msg_dest,document_type,document_key FROM document6",sort="document_id asc",driver="oracle.jdbc.driver.OracleDriver")

errors in solr.log
==================
2016-06-23 14:07:02.833 INFO  (qtp1389647288-139) [c:document6 s:shard2 r:core_node1 x:document6_shard2_replica1] o.a.s.c.S.Request [document6_shard2_replica1]  webapp=/solr path=/stream params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+document_id,sender_msg_dest,recip_msg_dest,document_type,document_key+FROM+document6",sort%3D"document_id+asc",driver%3D"oracle.jdbc.driver.OracleDriver")} status=0 QTime=1
2016-06-23 14:07:05.282 ERROR (qtp1389647288-139) [c:document6 s:shard2 r:core_node1 x:document6_shard2_replica1] o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
	at org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.java:305)
	at org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionStream.java:64)
	at org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.java:374)
	at org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:305)
	at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
	at org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
	at org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
	at org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
	at org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
	at org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
	at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
	at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
	at org.eclipse.jetty.server.Server.handle(Server.java:518)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
	at java.lang.Thread.run(Thread.java:745)

2016-06-23 14:07:05.285 ERROR (qtp1389647288-139) [c:document6 s:shard2 r:core_node1 x:document6_shard2_replica1] o.a.s.s.HttpSolrCall null:java.lang.RuntimeException: java.lang.AbstractMethodError: Method oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
	at org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:605)
	at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:229)
	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:184)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
	at org.eclipse.jetty.server.Server.handle(Server.java:518)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.AbstractMethodError: Method oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
	at oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
	at org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.java:287)
	at org.apache.solr.client.solrj.io.stream.ExceptionStream.close(ExceptionStream.java:79)
	at org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.java:357)
	at org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:317)
	at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:167)
	at org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
	at org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
	at org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
	at org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
	at org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
	at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:725)
	at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
	... 26 more

-----Original Message-----
From: Joel Bernstein [mailto:joelsolr@gmail.com] 
Sent: Thursday, June 23, 2016 7:56 AM
To: solr-user@lucene.apache.org
Subject: Re: Errors for Streaming Expressions using JDBC (Oracle) stream source

I'm wondering if you're selecting an unsupported data type. The exception being thrown looks like it could happen if that were the case. The supported types are in the Java doc.
https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.0.0/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java

Joel Bernstein
http://joelsolr.blogspot.com/

On Wed, Jun 22, 2016 at 11:46 PM, Hui Liu <hl...@opentext.com> wrote:

> Hi,
>
>
>
>               I have Solr 6.0.0 installed on my PC (windows 7), I was 
> experimenting with ‘Streaming Expression’ by using Oracle jdbc as the 
> stream source, following is the http command I am using:
>
>
>
> http://localhost:8988/solr/document5/stream?expr=jdbc(connection=
> "jdbc:oracle:thin:qa_docrep/
> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql="SELECT
> document_id,sender_msg_dest,recip_msg_dest,document_type,document_key,
> sender_bu_id,recip_bu_id,date_created
> FROM tg_document WHERE rownum < 5",sort="document_id
> asc",driver="oracle.jdbc.driver.OracleDriver")
>
>
>
>               I can access this Oracle db from my PC via regular JDBC 
> connection. I did put Oracle jdbc driver jar ‘ojdbc14.jar’ (same jar 
> used in my regular jdbc code) under Solr/server/lib dir and restarted 
> Solr cloud. Below is the error from solr.log (got a null pointer 
> error); I am merely trying to get the data returned from Oracle table, 
> I have not tried to index them in the Solr yet, attached is the 
> shema.xml and solrconfig.xml for this collection ‘document5’; does 
> anyone know what am I missing? thanks for any help!
>
>
>
> Regards,
>
> Hui Liu
>
>
>
> Error from Solr.log:
>
> =====================
>
> 2016-06-23 03:17:34.413 INFO  (qtp1389647288-19) [c:document5 s:shard2
> r:core_node2 x:document5_shard2_replica1] o.a.s.c.S.Request 
> [document5_shard2_replica1]  webapp=/solr path=/stream 
> params={expr=jdbc(connection%3D"jdbc:oracle:thin:qa_docrep/
> abc123@lit-racq01-scan.qa.gxsonline.net:1521/qlgdb",sql%3D"SELECT+docu
> ment_id,sender_msg_dest,recip_msg_dest,document_type,document_key,send
> er_bu_id,recip_bu_id+FROM+tg_document+WHERE+rownum+<+5",sort%3D"docume
> nt_id+asc",driver%3D"oracle.jdbc.OracleDriver")}
> status=0 QTime=0
>
> 2016-06-23 03:17:37.588 ERROR (qtp1389647288-19) [c:document5 s:shard2
> r:core_node2 x:document5_shard2_replica1] 
> o.a.s.c.s.i.s.ExceptionStream java.lang.NullPointerException
>
>               at
> org.apache.solr.client.solrj.io.stream.JDBCStream.read(JDBCStream.java
> :305)
>
>               at
> org.apache.solr.client.solrj.io.stream.ExceptionStream.read(ExceptionS
> tream.java:64)
>
>               at
> org.apache.solr.handler.StreamHandler$TimerStream.read(StreamHandler.j
> ava:374)
>
>               at
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
> nseWriter.java:305)
>
>               at
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
> r.java:167)
>
>               at
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
> sponseWriter.java:183)
>
>               at
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> java:299)
>
>               at
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
> ava:95)
>
>               at
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
> ava:60)
>
>               at
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
> eryResponseWriterUtil.java:65)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
> 25)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>
>               at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> .java:229)
>
>               at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> .java:184)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1668)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> 581)
>
>               at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:143)
>
>               at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
> :548)
>
>               at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> r.java:226)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> r.java:1160)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
> 11)
>
>               at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
> .java:185)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
> .java:1092)
>
>               at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:141)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
> xtHandlerCollection.java:213)
>
>               at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
> ction.java:119)
>
>               at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> java:134)
>
>               at 
> org.eclipse.jetty.server.Server.handle(Server.java:518)
>
>               at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>
>               at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
> :244)
>
>               at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
> tConnection.java:273)
>
>               at
> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>
>               at
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
> .java:93)
>
>               at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
> dRun(ExecuteProduceConsume.java:246)
>
>               at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
> teProduceConsume.java:156)
>
>               at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
> .java:654)
>
>               at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> java:572)
>
>               at java.lang.Thread.run(Thread.java:745)
>
>
>
> 2016-06-23 03:17:37.589 ERROR (qtp1389647288-19) [c:document5 s:shard2
> r:core_node2 x:document5_shard2_replica1] o.a.s.s.HttpSolrCall
> null:java.lang.RuntimeException: java.lang.AbstractMethodError: Method 
> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>
>               at
> org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:605)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:475)
>
>               at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> .java:229)
>
>               at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> .java:184)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1668)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> 581)
>
>               at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:143)
>
>               at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
> :548)
>
>               at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> r.java:226)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> r.java:1160)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
> 11)
>
>               at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
> .java:185)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
> .java:1092)
>
>               at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:141)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
> xtHandlerCollection.java:213)
>
>               at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
> ction.java:119)
>
>               at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> java:134)
>
>               at 
> org.eclipse.jetty.server.Server.handle(Server.java:518)
>
>               at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>
>               at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
> :244)
>
>               at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
> tConnection.java:273)
>
>               at
> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>
>               at
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
> .java:93)
>
>               at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
> dRun(ExecuteProduceConsume.java:246)
>
>               at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
> teProduceConsume.java:156)
>
>               at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
> .java:654)
>
>               at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> java:572)
>
>               at java.lang.Thread.run(Thread.java:745)
>
> Caused by: java.lang.AbstractMethodError: Method 
> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>
>               at
> oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
>
>               at
> org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.jav
> a:287)
>
>               at
> org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Exception
> Stream.java:79)
>
>               at
> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> java:357)
>
>               at
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
> nseWriter.java:317)
>
>               at
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
> r.java:167)
>
>               at
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
> sponseWriter.java:183)
>
>               at
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> java:299)
>
>               at
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
> ava:95)
>
>               at
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
> ava:60)
>
>               at
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
> eryResponseWriterUtil.java:65)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
> 25)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>
>               ... 26 more
>
>
>
> 2016-06-23 03:17:37.590 WARN  (qtp1389647288-19) [c:document5 s:shard2
> r:core_node2 x:document5_shard2_replica1] o.e.j.s.ServletHandler Error 
> for /solr/document5/stream
>
> java.lang.AbstractMethodError: Method
> oracle/jdbc/driver/T4CStatement.isClosed()Z is abstract
>
>               at
> oracle.jdbc.driver.T4CStatement.isClosed(T4CStatement.java)
>
>               at
> org.apache.solr.client.solrj.io.stream.JDBCStream.close(JDBCStream.jav
> a:287)
>
>               at
> org.apache.solr.client.solrj.io.stream.ExceptionStream.close(Exception
> Stream.java:79)
>
>               at
> org.apache.solr.handler.StreamHandler$TimerStream.close(StreamHandler.
> java:357)
>
>               at
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextRespo
> nseWriter.java:317)
>
>               at
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWrite
> r.java:167)
>
>               at
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONRe
> sponseWriter.java:183)
>
>               at
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.
> java:299)
>
>               at
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.j
> ava:95)
>
>               at
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.j
> ava:60)
>
>               at
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(Qu
> eryResponseWriterUtil.java:65)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:7
> 25)
>
>               at
> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:469)
>
>               at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> .java:229)
>
>               at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter
> .java:184)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1668)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> 581)
>
>               at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:143)
>
>               at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java
> :548)
>
>               at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> r.java:226)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> r.java:1160)
>
>               at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
> 11)
>
>               at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
> .java:185)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
> .java:1092)
>
>               at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:141)
>
>               at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
> xtHandlerCollection.java:213)
>
>               at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
> ction.java:119)
>
>               at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> java:134)
>
>               at 
> org.eclipse.jetty.server.Server.handle(Server.java:518)
>
>               at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>
>               at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
> :244)
>
>               at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
> tConnection.java:273)
>
>               at
> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>
>               at
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
> .java:93)
>
>               at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAn
> dRun(ExecuteProduceConsume.java:246)
>
>               at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
> teProduceConsume.java:156)
>
>               at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
> .java:654)
>
>               at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.
> java:572)
>
>               at java.lang.Thread.run(Thread.java:745)
>