solr 7.x sql query returns null

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

solr 7.x sql query returns null

dave.b
I have a large solr 7.3 collection 400m + documents.

I’m trying to use the Solr JDBC driver to query the data but I get a


java.io.IOException: Failed to execute sqlQuery 'select id from document limit 10' against JDBC connection 'jdbc:calcitesolr:'.
Error while executing SQL "select id from document limit 10": null




If I export the documents to JSON and reimport (after a full delete it works without issue but obviously this is not a fix or understanding the issue)



Several things I’ve tried try to eliminate the issue but with no success:

I’ve tried upgrading to Solr 7.7

I’ve run the UpgradeTool on the index

I’ve tried replicating the collection to a new instance


I am unable to understand what it is within the collection causing the issue, can you suggest a way for me to get more details about the fault


Here is the full stack trace from the Logging interface Admin UI:


java.io.IOException: Failed to execute sqlQuery 'select id from document limit 10' against JDBC connection 'jdbc:calcitesolr:'.
Error while executing SQL "select id from document limit 10": null
        at org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:271)
        at org.apache.solr.client.solrj.io.stream.ExceptionStream.open(ExceptionStream.java:54)
        at org.apache.solr.handler.StreamHandler$TimerStream.open(StreamHandler.java:394)
        at org.apache.solr.client.solrj.io.stream.TupleStream.writeMap(TupleStream.java:78)
        at org.apache.solr.common.util.JsonTextWriter.writeMap(JsonTextWriter.java:164)
        at org.apache.solr.common.util.TextWriter.writeVal(TextWriter.java:69)
        at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:152)
        at org.apache.solr.common.util.JsonTextWriter.writeNamedListAsMapWithDups(JsonTextWriter.java:386)
        at org.apache.solr.common.util.JsonTextWriter.writeNamedList(JsonTextWriter.java:292)
        at org.apache.solr.response.JSONWriter.writeResponse(JSONWriter.java:73)
        at org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:66)
        at org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
        at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:788)
        at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:525)
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:395)
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:341)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.server.Server.handle(Server.java:502)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: Error while executing SQL "select id from document limit 10": null
        at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
        at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
        at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
        at org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:218)
        at org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:269)
        ... 49 more
Caused by: java.lang.NullPointerException
        at org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891)
        at org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
        at org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
        at org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
        at org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
        at org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
        at org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
        at org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
        at org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
        at org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
        at org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
        at org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
        at org.apache.calcite.tools.Programs$5.run(Programs.java:309)
        at org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
        at org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
        at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
        at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
        at org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
        at org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
        at org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
        at org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
        at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
        at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
        at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)



Thanks Dave

----------------------------------------------------------------------------------------------------------------------- The information contained in this communication is intended solely for the use of the individual or entity to whom it is addressed and others authorized to receive it. It may contain confidential or legally privileged information. If you are not the intended recipient you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this information is strictly prohibited and may be unlawful. If you are not the intended recipient, please notify us immediately by responding to this email and then delete it from your system. Bahwan Cybertek is neither liable for the proper and complete transmission of the information contained in this communication nor for any delay in its receipt.
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

Joel Bernstein
Was the original index a Solr Cloud index?



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


On Thu, Apr 18, 2019 at 7:48 AM David Barnett <[hidden email]>
wrote:

> I have a large solr 7.3 collection 400m + documents.
>
> I’m trying to use the Solr JDBC driver to query the data but I get a
>
>
> java.io.IOException: Failed to execute sqlQuery 'select id from document
> limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> Error while executing SQL "select id from document limit 10": null
>
>
>
>
> If I export the documents to JSON and reimport (after a full delete it
> works without issue but obviously this is not a fix or understanding the
> issue)
>
>
>
> Several things I’ve tried try to eliminate the issue but with no success:
>
> I’ve tried upgrading to Solr 7.7
>
> I’ve run the UpgradeTool on the index
>
> I’ve tried replicating the collection to a new instance
>
>
> I am unable to understand what it is within the collection causing the
> issue, can you suggest a way for me to get more details about the fault
>
>
> Here is the full stack trace from the Logging interface Admin UI:
>
>
> java.io.IOException: Failed to execute sqlQuery 'select id from document
> limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> Error while executing SQL "select id from document limit 10": null
>         at
> org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:271)
>         at
> org.apache.solr.client.solrj.io.stream.ExceptionStream.open(ExceptionStream.java:54)
>         at
> org.apache.solr.handler.StreamHandler$TimerStream.open(StreamHandler.java:394)
>         at
> org.apache.solr.client.solrj.io.stream.TupleStream.writeMap(TupleStream.java:78)
>         at
> org.apache.solr.common.util.JsonTextWriter.writeMap(JsonTextWriter.java:164)
>         at
> org.apache.solr.common.util.TextWriter.writeVal(TextWriter.java:69)
>         at
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:152)
>         at
> org.apache.solr.common.util.JsonTextWriter.writeNamedListAsMapWithDups(JsonTextWriter.java:386)
>         at
> org.apache.solr.common.util.JsonTextWriter.writeNamedList(JsonTextWriter.java:292)
>         at
> org.apache.solr.response.JSONWriter.writeResponse(JSONWriter.java:73)
>         at
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:66)
>         at
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>         at
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:788)
>         at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:525)
>         at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:395)
>         at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:341)
>         at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>         at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>         at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>         at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
>         at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>         at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
>         at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>         at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
>         at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
>         at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>         at
> org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
>         at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>         at org.eclipse.jetty.server.Server.handle(Server.java:502)
>         at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>         at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>         at org.eclipse.jetty.io
> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>         at org.eclipse.jetty.io
> .FillInterest.fillable(FillInterest.java:103)
>         at org.eclipse.jetty.io
> .ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>         at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>         at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>         at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>         at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>         at
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>         at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>         at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>         at java.lang.Thread.run(Unknown Source)
> Caused by: java.sql.SQLException: Error while executing SQL "select id
> from document limit 10": null
>         at
> org.apache.calcite.avatica.Helper.createException(Helper.java:56)
>         at
> org.apache.calcite.avatica.Helper.createException(Helper.java:41)
>         at
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
>         at
> org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:218)
>         at
> org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:269)
>         ... 49 more
> Caused by: java.lang.NullPointerException
>         at
> org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891)
>         at
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
>         at
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
>         at
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
>         at
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
>         at
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
>         at
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
>         at
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
>         at
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
>         at
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
>         at
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
>         at
> org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
>         at org.apache.calcite.tools.Programs$5.run(Programs.java:309)
>         at
> org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
>         at org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
>         at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
>         at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
>         at
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
>         at
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
>         at
> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
>         at
> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
>         at
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
>         at
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
>         at
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
>
>
>
> Thanks Dave
>
> -----------------------------------------------------------------------------------------------------------------------
> The information contained in this communication is intended solely for the
> use of the individual or entity to whom it is addressed and others
> authorized to receive it. It may contain confidential or legally privileged
> information. If you are not the intended recipient you are hereby notified
> that any disclosure, copying, distribution or taking any action in reliance
> on the contents of this information is strictly prohibited and may be
> unlawful. If you are not the intended recipient, please notify us
> immediately by responding to this email and then delete it from your
> system. Bahwan Cybertek is neither liable for the proper and complete
> transmission of the information contained in this communication nor for any
> delay in its receipt.
>
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

Joel Bernstein
I ask this because SQL/JDBC may return a similar error if you try to run it
on a non-Solr Cloud index.


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


On Thu, Apr 18, 2019 at 10:16 AM Joel Bernstein <[hidden email]> wrote:

> Was the original index a Solr Cloud index?
>
>
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
>
> On Thu, Apr 18, 2019 at 7:48 AM David Barnett <[hidden email]>
> wrote:
>
>> I have a large solr 7.3 collection 400m + documents.
>>
>> I’m trying to use the Solr JDBC driver to query the data but I get a
>>
>>
>> java.io.IOException: Failed to execute sqlQuery 'select id from document
>> limit 10' against JDBC connection 'jdbc:calcitesolr:'.
>> Error while executing SQL "select id from document limit 10": null
>>
>>
>>
>>
>> If I export the documents to JSON and reimport (after a full delete it
>> works without issue but obviously this is not a fix or understanding the
>> issue)
>>
>>
>>
>> Several things I’ve tried try to eliminate the issue but with no success:
>>
>> I’ve tried upgrading to Solr 7.7
>>
>> I’ve run the UpgradeTool on the index
>>
>> I’ve tried replicating the collection to a new instance
>>
>>
>> I am unable to understand what it is within the collection causing the
>> issue, can you suggest a way for me to get more details about the fault
>>
>>
>> Here is the full stack trace from the Logging interface Admin UI:
>>
>>
>> java.io.IOException: Failed to execute sqlQuery 'select id from document
>> limit 10' against JDBC connection 'jdbc:calcitesolr:'.
>> Error while executing SQL "select id from document limit 10": null
>>         at
>> org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:271)
>>         at
>> org.apache.solr.client.solrj.io.stream.ExceptionStream.open(ExceptionStream.java:54)
>>         at
>> org.apache.solr.handler.StreamHandler$TimerStream.open(StreamHandler.java:394)
>>         at
>> org.apache.solr.client.solrj.io.stream.TupleStream.writeMap(TupleStream.java:78)
>>         at
>> org.apache.solr.common.util.JsonTextWriter.writeMap(JsonTextWriter.java:164)
>>         at
>> org.apache.solr.common.util.TextWriter.writeVal(TextWriter.java:69)
>>         at
>> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:152)
>>         at
>> org.apache.solr.common.util.JsonTextWriter.writeNamedListAsMapWithDups(JsonTextWriter.java:386)
>>         at
>> org.apache.solr.common.util.JsonTextWriter.writeNamedList(JsonTextWriter.java:292)
>>         at
>> org.apache.solr.response.JSONWriter.writeResponse(JSONWriter.java:73)
>>         at
>> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:66)
>>         at
>> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>>         at
>> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:788)
>>         at
>> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:525)
>>         at
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:395)
>>         at
>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:341)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>>         at
>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>>         at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>>         at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>>         at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
>>         at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
>>         at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>>         at
>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
>>         at
>> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
>>         at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>         at
>> org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
>>         at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>>         at org.eclipse.jetty.server.Server.handle(Server.java:502)
>>         at
>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>>         at
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>>         at org.eclipse.jetty.io
>> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>>         at org.eclipse.jetty.io
>> .FillInterest.fillable(FillInterest.java:103)
>>         at org.eclipse.jetty.io
>> .ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>>         at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>>         at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>>         at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>>         at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>>         at
>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>>         at
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>>         at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>>         at java.lang.Thread.run(Unknown Source)
>> Caused by: java.sql.SQLException: Error while executing SQL "select id
>> from document limit 10": null
>>         at
>> org.apache.calcite.avatica.Helper.createException(Helper.java:56)
>>         at
>> org.apache.calcite.avatica.Helper.createException(Helper.java:41)
>>         at
>> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
>>         at
>> org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:218)
>>         at
>> org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:269)
>>         ... 49 more
>> Caused by: java.lang.NullPointerException
>>         at
>> org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891)
>>         at
>> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
>>         at
>> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
>>         at
>> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
>>         at
>> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
>>         at
>> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
>>         at
>> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
>>         at
>> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
>>         at
>> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
>>         at
>> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
>>         at
>> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
>>         at
>> org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
>>         at org.apache.calcite.tools.Programs$5.run(Programs.java:309)
>>         at
>> org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
>>         at org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
>>         at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
>>         at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
>>         at
>> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
>>         at
>> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
>>         at
>> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
>>         at
>> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
>>         at
>> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
>>         at
>> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
>>         at
>> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
>>
>>
>>
>> Thanks Dave
>>
>> -----------------------------------------------------------------------------------------------------------------------
>> The information contained in this communication is intended solely for the
>> use of the individual or entity to whom it is addressed and others
>> authorized to receive it. It may contain confidential or legally privileged
>> information. If you are not the intended recipient you are hereby notified
>> that any disclosure, copying, distribution or taking any action in reliance
>> on the contents of this information is strictly prohibited and may be
>> unlawful. If you are not the intended recipient, please notify us
>> immediately by responding to this email and then delete it from your
>> system. Bahwan Cybertek is neither liable for the proper and complete
>> transmission of the information contained in this communication nor for any
>> delay in its receipt.
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

oandgtc
In reply to this post by Joel Bernstein
Hi Joel

Yes it was always setup as cloud.

On Thu, 18 Apr 2019, 15:17 Joel Bernstein, <[hidden email]> wrote:

> Was the original index a Solr Cloud index?
>
>
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
>
> On Thu, Apr 18, 2019 at 7:48 AM David Barnett <[hidden email]>
> wrote:
>
> > I have a large solr 7.3 collection 400m + documents.
> >
> > I’m trying to use the Solr JDBC driver to query the data but I get a
> >
> >
> > java.io.IOException: Failed to execute sqlQuery 'select id from document
> > limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> > Error while executing SQL "select id from document limit 10": null
> >
> >
> >
> >
> > If I export the documents to JSON and reimport (after a full delete it
> > works without issue but obviously this is not a fix or understanding the
> > issue)
> >
> >
> >
> > Several things I’ve tried try to eliminate the issue but with no success:
> >
> > I’ve tried upgrading to Solr 7.7
> >
> > I’ve run the UpgradeTool on the index
> >
> > I’ve tried replicating the collection to a new instance
> >
> >
> > I am unable to understand what it is within the collection causing the
> > issue, can you suggest a way for me to get more details about the fault
> >
> >
> > Here is the full stack trace from the Logging interface Admin UI:
> >
> >
> > java.io.IOException: Failed to execute sqlQuery 'select id from document
> > limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> > Error while executing SQL "select id from document limit 10": null
> >         at
> >
> org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:271)
> >         at
> >
> org.apache.solr.client.solrj.io.stream.ExceptionStream.open(ExceptionStream.java:54)
> >         at
> >
> org.apache.solr.handler.StreamHandler$TimerStream.open(StreamHandler.java:394)
> >         at
> >
> org.apache.solr.client.solrj.io.stream.TupleStream.writeMap(TupleStream.java:78)
> >         at
> >
> org.apache.solr.common.util.JsonTextWriter.writeMap(JsonTextWriter.java:164)
> >         at
> > org.apache.solr.common.util.TextWriter.writeVal(TextWriter.java:69)
> >         at
> >
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:152)
> >         at
> >
> org.apache.solr.common.util.JsonTextWriter.writeNamedListAsMapWithDups(JsonTextWriter.java:386)
> >         at
> >
> org.apache.solr.common.util.JsonTextWriter.writeNamedList(JsonTextWriter.java:292)
> >         at
> > org.apache.solr.response.JSONWriter.writeResponse(JSONWriter.java:73)
> >         at
> >
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:66)
> >         at
> >
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
> >         at
> > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:788)
> >         at
> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:525)
> >         at
> >
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:395)
> >         at
> >
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:341)
> >         at
> >
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
> >         at
> >
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
> >         at
> >
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> >         at
> >
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
> >         at
> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> >         at
> >
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> >         at
> >
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588)
> >         at
> >
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> >         at
> >
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
> >         at
> >
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> >         at
> > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
> >         at
> >
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557)
> >         at
> >
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> >         at
> >
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
> >         at
> >
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> >         at
> >
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
> >         at
> >
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
> >         at
> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> >         at
> >
> org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
> >         at
> >
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> >         at org.eclipse.jetty.server.Server.handle(Server.java:502)
> >         at
> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> >         at
> >
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> >         at org.eclipse.jetty.io
> > .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> >         at org.eclipse.jetty.io
> > .FillInterest.fillable(FillInterest.java:103)
> >         at org.eclipse.jetty.io
> > .ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> >         at
> >
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> >         at
> >
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> >         at
> >
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> >         at
> >
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> >         at
> >
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> >         at
> >
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> >         at
> >
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> >         at java.lang.Thread.run(Unknown Source)
> > Caused by: java.sql.SQLException: Error while executing SQL "select id
> > from document limit 10": null
> >         at
> > org.apache.calcite.avatica.Helper.createException(Helper.java:56)
> >         at
> > org.apache.calcite.avatica.Helper.createException(Helper.java:41)
> >         at
> >
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
> >         at
> >
> org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:218)
> >         at
> >
> org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:269)
> >         ... 49 more
> > Caused by: java.lang.NullPointerException
> >         at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891)
> >         at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
> >         at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> >         at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> >         at
> >
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> >         at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> >         at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
> >         at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> >         at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> >         at
> >
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> >         at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> >         at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
> >         at org.apache.calcite.tools.Programs$5.run(Programs.java:309)
> >         at
> > org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
> >         at org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
> >         at
> org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
> >         at
> org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
> >         at
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
> >         at
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
> >         at
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
> >         at
> >
> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
> >         at
> >
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
> >         at
> >
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
> >         at
> >
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
> >
> >
> >
> > Thanks Dave
> >
> >
> -----------------------------------------------------------------------------------------------------------------------
> > The information contained in this communication is intended solely for
> the
> > use of the individual or entity to whom it is addressed and others
> > authorized to receive it. It may contain confidential or legally
> privileged
> > information. If you are not the intended recipient you are hereby
> notified
> > that any disclosure, copying, distribution or taking any action in
> reliance
> > on the contents of this information is strictly prohibited and may be
> > unlawful. If you are not the intended recipient, please notify us
> > immediately by responding to this email and then delete it from your
> > system. Bahwan Cybertek is neither liable for the proper and complete
> > transmission of the information contained in this communication nor for
> any
> > delay in its receipt.
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

oandgtc
In reply to this post by Joel Bernstein
Its odd, if I export all docs to JSON, then delete the solr docs and import from my export it works

Joel Is there any way to see what it’s complaining about ?
On 18 Apr 2019, 09:17 -0500, Joel Bernstein <[hidden email]>, wrote:

> I ask this because SQL/JDBC may return a similar error if you try to run it
> on a non-Solr Cloud index.
>
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
>
> On Thu, Apr 18, 2019 at 10:16 AM Joel Bernstein <[hidden email]> wrote:
>
> > Was the original index a Solr Cloud index?
> >
> >
> >
> > Joel Bernstein
> > http://joelsolr.blogspot.com/
> >
> >
> > On Thu, Apr 18, 2019 at 7:48 AM David Barnett <[hidden email]>
> > wrote:
> >
> > > I have a large solr 7.3 collection 400m + documents.
> > >
> > > I’m trying to use the Solr JDBC driver to query the data but I get a
> > >
> > >
> > > java.io.IOException: Failed to execute sqlQuery 'select id from document
> > > limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> > > Error while executing SQL "select id from document limit 10": null
> > >
> > >
> > >
> > >
> > > If I export the documents to JSON and reimport (after a full delete it
> > > works without issue but obviously this is not a fix or understanding the
> > > issue)
> > >
> > >
> > >
> > > Several things I’ve tried try to eliminate the issue but with no success:
> > >
> > > I’ve tried upgrading to Solr 7.7
> > >
> > > I’ve run the UpgradeTool on the index
> > >
> > > I’ve tried replicating the collection to a new instance
> > >
> > >
> > > I am unable to understand what it is within the collection causing the
> > > issue, can you suggest a way for me to get more details about the fault
> > >
> > >
> > > Here is the full stack trace from the Logging interface Admin UI:
> > >
> > >
> > > java.io.IOException: Failed to execute sqlQuery 'select id from document
> > > limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> > > Error while executing SQL "select id from document limit 10": null
> > > at
> > > org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:271)
> > > at
> > > org.apache.solr.client.solrj.io.stream.ExceptionStream.open(ExceptionStream.java:54)
> > > at
> > > org.apache.solr.handler.StreamHandler$TimerStream.open(StreamHandler.java:394)
> > > at
> > > org.apache.solr.client.solrj.io.stream.TupleStream.writeMap(TupleStream.java:78)
> > > at
> > > org.apache.solr.common.util.JsonTextWriter.writeMap(JsonTextWriter.java:164)
> > > at
> > > org.apache.solr.common.util.TextWriter.writeVal(TextWriter.java:69)
> > > at
> > > org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:152)
> > > at
> > > org.apache.solr.common.util.JsonTextWriter.writeNamedListAsMapWithDups(JsonTextWriter.java:386)
> > > at
> > > org.apache.solr.common.util.JsonTextWriter.writeNamedList(JsonTextWriter.java:292)
> > > at
> > > org.apache.solr.response.JSONWriter.writeResponse(JSONWriter.java:73)
> > > at
> > > org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:66)
> > > at
> > > org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
> > > at
> > > org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:788)
> > > at
> > > org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:525)
> > > at
> > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:395)
> > > at
> > > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:341)
> > > at
> > > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
> > > at
> > > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
> > > at
> > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
> > > at
> > > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
> > > at
> > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > at
> > > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
> > > at
> > > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588)
> > > at
> > > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> > > at
> > > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
> > > at
> > > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> > > at
> > > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
> > > at
> > > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557)
> > > at
> > > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> > > at
> > > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
> > > at
> > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> > > at
> > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
> > > at
> > > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
> > > at
> > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > at
> > > org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
> > > at
> > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> > > at org.eclipse.jetty.server.Server.handle(Server.java:502)
> > > at
> > > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
> > > at
> > > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
> > > at org.eclipse.jetty.io
> > > .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> > > at org.eclipse.jetty.io
> > > .FillInterest.fillable(FillInterest.java:103)
> > > at org.eclipse.jetty.io
> > > .ChannelEndPoint$2.run(ChannelEndPoint.java:118)
> > > at
> > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> > > at
> > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> > > at
> > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> > > at
> > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> > > at
> > > org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> > > at
> > > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> > > at
> > > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> > > at java.lang.Thread.run(Unknown Source)
> > > Caused by: java.sql.SQLException: Error while executing SQL "select id
> > > from document limit 10": null
> > > at
> > > org.apache.calcite.avatica.Helper.createException(Helper.java:56)
> > > at
> > > org.apache.calcite.avatica.Helper.createException(Helper.java:41)
> > > at
> > > org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
> > > at
> > > org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:218)
> > > at
> > > org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:269)
> > > ... 49 more
> > > Caused by: java.lang.NullPointerException
> > > at
> > > org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891)
> > > at
> > > org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
> > > at
> > > org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > > at
> > > org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > > at
> > > org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > > at
> > > org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > > at
> > > org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
> > > at
> > > org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > > at
> > > org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > > at
> > > org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > > at
> > > org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > > at
> > > org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
> > > at org.apache.calcite.tools.Programs$5.run(Programs.java:309)
> > > at
> > > org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
> > > at org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
> > > at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
> > > at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
> > > at
> > > org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
> > > at
> > > org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
> > > at
> > > org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
> > > at
> > > org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
> > > at
> > > org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
> > > at
> > > org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
> > > at
> > > org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
> > >
> > >
> > >
> > > Thanks Dave
> > >
> > > -----------------------------------------------------------------------------------------------------------------------
> > > The information contained in this communication is intended solely for the
> > > use of the individual or entity to whom it is addressed and others
> > > authorized to receive it. It may contain confidential or legally privileged
> > > information. If you are not the intended recipient you are hereby notified
> > > that any disclosure, copying, distribution or taking any action in reliance
> > > on the contents of this information is strictly prohibited and may be
> > > unlawful. If you are not the intended recipient, please notify us
> > > immediately by responding to this email and then delete it from your
> > > system. Bahwan Cybertek is neither liable for the proper and complete
> > > transmission of the information contained in this communication nor for any
> > > delay in its receipt.
> > >
> >
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

Shawn Heisey-2
In reply to this post by dave.b
On 4/18/2019 1:47 AM, David Barnett wrote:
> I have a large solr 7.3 collection 400m + documents.
>
> I’m trying to use the Solr JDBC driver to query the data but I get a
>
> java.io.IOException: Failed to execute sqlQuery 'select id from document limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> Error while executing SQL "select id from document limit 10": null

<snip>

By the way, either that JDBC url is extremely incomplete or you nuked it
from the log before sharing.  Seeing the construction of the full URL
might be helpful.  If you need to redact it in some way for privacy
concerns, do so in a way so that we can still tell what the URL was -
change a real password to PASSWORD, change things like host names to
something like HOST_NAME, etc.

> Caused by: java.lang.NullPointerException
>          at org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891 >          at
org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)

>          at org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
>          at org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
>          at org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
>          at org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
>          at org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
>          at org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
>          at org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
>          at org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
>          at org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
>          at org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
>          at org.apache.calcite.tools.Programs$5.run(Programs.java:309)
>          at org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
>          at org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
>          at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
>          at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
>          at org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
>          at org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
>          at org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
>          at org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
>          at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
>          at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
>          at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)

The root cause is an NPE in pure calcite code (no Solr classes listed).
Calcite didn't like the SQL query for some reason.  I'm not at all
familiar with Calcite.

Did you try to query a single core (shard replica) rather than the
collection?  I wonder if doing that might make the driver think it's not
talking to SolrCloud.  Joel is the expert here, I don't know much about it.

What context is this being used in?  The dataimport handler, or
something you wrote yourself?  I don't know if this information is
important, just trying to provide as much information for Joel as I can.

Thanks,
Shawn
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

Joel Bernstein
This let's make sure the jdbc URL is correct.

Reloading the collection shouldn't effect much unless the schema is
different.

But as Shawn mentioned the stack trace is not coming from Solr. Is there
more in the logs beyond the Calcite exception?

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


On Thu, Apr 18, 2019 at 11:04 AM Shawn Heisey <[hidden email]> wrote:

> On 4/18/2019 1:47 AM, David Barnett wrote:
> > I have a large solr 7.3 collection 400m + documents.
> >
> > I’m trying to use the Solr JDBC driver to query the data but I get a
> >
> > java.io.IOException: Failed to execute sqlQuery 'select id from document
> limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> > Error while executing SQL "select id from document limit 10": null
>
> <snip>
>
> By the way, either that JDBC url is extremely incomplete or you nuked it
> from the log before sharing.  Seeing the construction of the full URL
> might be helpful.  If you need to redact it in some way for privacy
> concerns, do so in a way so that we can still tell what the URL was -
> change a real password to PASSWORD, change things like host names to
> something like HOST_NAME, etc.
>
> > Caused by: java.lang.NullPointerException
> >          at
> org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891
> >          at
>
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
> >          at
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> >          at
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> >          at
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> >          at
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> >          at
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
> >          at
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> >          at
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> >          at
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> >          at
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> >          at
> org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
> >          at org.apache.calcite.tools.Programs$5.run(Programs.java:309)
> >          at
> org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
> >          at org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
> >          at
> org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
> >          at
> org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
> >          at
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
> >          at
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
> >          at
> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
> >          at
> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
> >          at
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
> >          at
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
> >          at
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
>
> The root cause is an NPE in pure calcite code (no Solr classes listed).
> Calcite didn't like the SQL query for some reason.  I'm not at all
> familiar with Calcite.
>
> Did you try to query a single core (shard replica) rather than the
> collection?  I wonder if doing that might make the driver think it's not
> talking to SolrCloud.  Joel is the expert here, I don't know much about it.
>
> What context is this being used in?  The dataimport handler, or
> something you wrote yourself?  I don't know if this information is
> important, just trying to provide as much information for Joel as I can.
>
> Thanks,
> Shawn
>
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

oandgtc
This query is directly from a web browser to eliminate any downstream
components (we use Talend ESB to read / write data into our web
application)

Any of these queries fail -

the URL format is

http://localhost:8983/solr/data/sql?stmt=select id from data limit 10

http://localhost:8983/solr/data/sql?stmt=select * from data limit 10

http://localhost:8983/solr/data/sql?stmt=select id, WellboreUWI, SystemID,
datatype from data where datatype='Well'  limit 10

- As mentioned if I export and import the records any of those queries will
then work

Here is the trace from solr.log

Error while executing SQL "select id from data limit 10": null
at
org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:271)
at
org.apache.solr.client.solrj.io.stream.ExceptionStream.open(ExceptionStream.java:54)
at
org.apache.solr.handler.StreamHandler$TimerStream.open(StreamHandler.java:394)
at
org.apache.solr.client.solrj.io.stream.TupleStream.writeMap(TupleStream.java:78)
at
org.apache.solr.common.util.JsonTextWriter.writeMap(JsonTextWriter.java:164)
at org.apache.solr.common.util.TextWriter.writeVal(TextWriter.java:69)
at
org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:152)
at
org.apache.solr.common.util.JsonTextWriter.writeNamedListAsMapWithDups(JsonTextWriter.java:386)
at
org.apache.solr.common.util.JsonTextWriter.writeNamedList(JsonTextWriter.java:292)
at org.apache.solr.response.JSONWriter.writeResponse(JSONWriter.java:73)
at
org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:66)
at
org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
at org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:788)
at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:525)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:395)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:341)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1602)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:502)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: Error while executing SQL "select id from
data limit 10": null
at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
at
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
at
org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:218)
at
org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:269)
... 48 more
Caused by: java.lang.NullPointerException
at
org.apache.solr.handler.sql.SolrSchema.getRelDataType(SolrSchema.java:103)
at org.apache.solr.handler.sql.SolrTable.getRowType(SolrTable.java:83)
at org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:159)
at
org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.java:99)
at
org.apache.calcite.sql.validate.DelegatingScope.resolveTable(DelegatingScope.java:202)
at
org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:104)
at
org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:167)
at
org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
at
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:939)
at
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:920)
at
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:2954)
at
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:2939)
at
org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3181)
at
org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
at
org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
at
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:939)
at
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:920)
at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:220)
at
org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:895)
at
org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:605)
at
org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:550)
at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:264)
at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
at
org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
at
org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
at
org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
at
org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
at
org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
at
org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
at
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
... 50 more


On Thu, 18 Apr 2019 at 10:46, Joel Bernstein <[hidden email]> wrote:

> This let's make sure the jdbc URL is correct.
>
> Reloading the collection shouldn't effect much unless the schema is
> different.
>
> But as Shawn mentioned the stack trace is not coming from Solr. Is there
> more in the logs beyond the Calcite exception?
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
>
> On Thu, Apr 18, 2019 at 11:04 AM Shawn Heisey <[hidden email]> wrote:
>
> > On 4/18/2019 1:47 AM, David Barnett wrote:
> > > I have a large solr 7.3 collection 400m + documents.
> > >
> > > I’m trying to use the Solr JDBC driver to query the data but I get a
> > >
> > > java.io.IOException: Failed to execute sqlQuery 'select id from
> document
> > limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> > > Error while executing SQL "select id from document limit 10": null
> >
> > <snip>
> >
> > By the way, either that JDBC url is extremely incomplete or you nuked it
> > from the log before sharing.  Seeing the construction of the full URL
> > might be helpful.  If you need to redact it in some way for privacy
> > concerns, do so in a way so that we can still tell what the URL was -
> > change a real password to PASSWORD, change things like host names to
> > something like HOST_NAME, etc.
> >
> > > Caused by: java.lang.NullPointerException
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891
> > >          at
> >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > >          at
> >
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > >          at
> >
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
> > >          at org.apache.calcite.tools.Programs$5.run(Programs.java:309)
> > >          at
> > org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
> > >          at
> org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
> > >          at
> > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
> > >          at
> > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
> > >          at
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
> > >          at
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
> > >          at
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
> > >          at
> >
> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
> > >          at
> >
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
> > >          at
> >
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
> > >          at
> >
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
> >
> > The root cause is an NPE in pure calcite code (no Solr classes listed).
> > Calcite didn't like the SQL query for some reason.  I'm not at all
> > familiar with Calcite.
> >
> > Did you try to query a single core (shard replica) rather than the
> > collection?  I wonder if doing that might make the driver think it's not
> > talking to SolrCloud.  Joel is the expert here, I don't know much about
> it.
> >
> > What context is this being used in?  The dataimport handler, or
> > something you wrote yourself?  I don't know if this information is
> > important, just trying to provide as much information for Joel as I can.
> >
> > Thanks,
> > Shawn
> >
>


--
*David Barnett*
O&G Technology Consulting Ltd
[hidden email]
+44 (0) 7753 235608
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

oandgtc
In reply to this post by Joel Bernstein
Hi Joel, besides the solr log is there anywhere else i need to go ?
anything I need to set to get more detail ?

On Thu, 18 Apr 2019 at 10:46, Joel Bernstein <[hidden email]> wrote:

> This let's make sure the jdbc URL is correct.
>
> Reloading the collection shouldn't effect much unless the schema is
> different.
>
> But as Shawn mentioned the stack trace is not coming from Solr. Is there
> more in the logs beyond the Calcite exception?
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
>
> On Thu, Apr 18, 2019 at 11:04 AM Shawn Heisey <[hidden email]> wrote:
>
> > On 4/18/2019 1:47 AM, David Barnett wrote:
> > > I have a large solr 7.3 collection 400m + documents.
> > >
> > > I’m trying to use the Solr JDBC driver to query the data but I get a
> > >
> > > java.io.IOException: Failed to execute sqlQuery 'select id from
> document
> > limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> > > Error while executing SQL "select id from document limit 10": null
> >
> > <snip>
> >
> > By the way, either that JDBC url is extremely incomplete or you nuked it
> > from the log before sharing.  Seeing the construction of the full URL
> > might be helpful.  If you need to redact it in some way for privacy
> > concerns, do so in a way so that we can still tell what the URL was -
> > change a real password to PASSWORD, change things like host names to
> > something like HOST_NAME, etc.
> >
> > > Caused by: java.lang.NullPointerException
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891
> > >          at
> >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > >          at
> >
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > >          at
> >
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > >          at
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
> > >          at org.apache.calcite.tools.Programs$5.run(Programs.java:309)
> > >          at
> > org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
> > >          at
> org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
> > >          at
> > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
> > >          at
> > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
> > >          at
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
> > >          at
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
> > >          at
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
> > >          at
> >
> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
> > >          at
> >
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
> > >          at
> >
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
> > >          at
> >
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
> >
> > The root cause is an NPE in pure calcite code (no Solr classes listed).
> > Calcite didn't like the SQL query for some reason.  I'm not at all
> > familiar with Calcite.
> >
> > Did you try to query a single core (shard replica) rather than the
> > collection?  I wonder if doing that might make the driver think it's not
> > talking to SolrCloud.  Joel is the expert here, I don't know much about
> it.
> >
> > What context is this being used in?  The dataimport handler, or
> > something you wrote yourself?  I don't know if this information is
> > important, just trying to provide as much information for Joel as I can.
> >
> > Thanks,
> > Shawn
> >
>


--
*David Barnett*
O&G Technology Consulting Ltd
[hidden email]
+44 (0) 7753 235608
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

Joel Bernstein
That stack trace points here:
https://github.com/apache/lucene-solr/blob/releases/lucene-solr/7.3.0/solr/core/src/java/org/apache/solr/handler/sql/SolrSchema.java#L103

So the Sql Schema is not initializing properly for this dataset. I'd be
interested in understanding why.

If you want to create a jira ticket and attach your schema we can track
this down. I'll probably attach a special binary to the ticket which has
additional logging so we can can find out what field is causing the problem.

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


On Thu, Apr 18, 2019 at 1:38 PM David Barnett <[hidden email]> wrote:

> Hi Joel, besides the solr log is there anywhere else i need to go ?
> anything I need to set to get more detail ?
>
> On Thu, 18 Apr 2019 at 10:46, Joel Bernstein <[hidden email]> wrote:
>
> > This let's make sure the jdbc URL is correct.
> >
> > Reloading the collection shouldn't effect much unless the schema is
> > different.
> >
> > But as Shawn mentioned the stack trace is not coming from Solr. Is there
> > more in the logs beyond the Calcite exception?
> >
> > Joel Bernstein
> > http://joelsolr.blogspot.com/
> >
> >
> > On Thu, Apr 18, 2019 at 11:04 AM Shawn Heisey <[hidden email]>
> wrote:
> >
> > > On 4/18/2019 1:47 AM, David Barnett wrote:
> > > > I have a large solr 7.3 collection 400m + documents.
> > > >
> > > > I’m trying to use the Solr JDBC driver to query the data but I get a
> > > >
> > > > java.io.IOException: Failed to execute sqlQuery 'select id from
> > document
> > > limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> > > > Error while executing SQL "select id from document limit 10": null
> > >
> > > <snip>
> > >
> > > By the way, either that JDBC url is extremely incomplete or you nuked
> it
> > > from the log before sharing.  Seeing the construction of the full URL
> > > might be helpful.  If you need to redact it in some way for privacy
> > > concerns, do so in a way so that we can still tell what the URL was -
> > > change a real password to PASSWORD, change things like host names to
> > > something like HOST_NAME, etc.
> > >
> > > > Caused by: java.lang.NullPointerException
> > > >          at
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891
> > > >          at
> > >
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
> > > >          at
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > > >          at
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > > >          at
> > >
> >
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > > >          at
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > > >          at
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
> > > >          at
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > > >          at
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > > >          at
> > >
> >
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > > >          at
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > > >          at
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
> > > >          at
> org.apache.calcite.tools.Programs$5.run(Programs.java:309)
> > > >          at
> > >
> org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
> > > >          at
> > org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
> > > >          at
> > > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
> > > >          at
> > > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
> > > >          at
> > >
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
> > > >          at
> > >
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
> > > >          at
> > >
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
> > > >          at
> > >
> >
> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
> > > >          at
> > >
> >
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
> > > >          at
> > >
> >
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
> > > >          at
> > >
> >
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
> > >
> > > The root cause is an NPE in pure calcite code (no Solr classes listed).
> > > Calcite didn't like the SQL query for some reason.  I'm not at all
> > > familiar with Calcite.
> > >
> > > Did you try to query a single core (shard replica) rather than the
> > > collection?  I wonder if doing that might make the driver think it's
> not
> > > talking to SolrCloud.  Joel is the expert here, I don't know much about
> > it.
> > >
> > > What context is this being used in?  The dataimport handler, or
> > > something you wrote yourself?  I don't know if this information is
> > > important, just trying to provide as much information for Joel as I
> can.
> > >
> > > Thanks,
> > > Shawn
> > >
> >
>
>
> --
> *David Barnett*
> O&G Technology Consulting Ltd
> [hidden email]
> +44 (0) 7753 235608
>
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

Kevin Risden-3
Do you have multiple shards (including replicas) on the same host for the
collection in question? Do the number of shards per host change on the
export/index?

Kevin Risden

On Thu, Apr 18, 2019, 20:50 Joel Bernstein <[hidden email]> wrote:

> That stack trace points here:
>
> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/7.3.0/solr/core/src/java/org/apache/solr/handler/sql/SolrSchema.java#L103
>
> So the Sql Schema is not initializing properly for this dataset. I'd be
> interested in understanding why.
>
> If you want to create a jira ticket and attach your schema we can track
> this down. I'll probably attach a special binary to the ticket which has
> additional logging so we can can find out what field is causing the
> problem.
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
>
> On Thu, Apr 18, 2019 at 1:38 PM David Barnett <[hidden email]> wrote:
>
> > Hi Joel, besides the solr log is there anywhere else i need to go ?
> > anything I need to set to get more detail ?
> >
> > On Thu, 18 Apr 2019 at 10:46, Joel Bernstein <[hidden email]> wrote:
> >
> > > This let's make sure the jdbc URL is correct.
> > >
> > > Reloading the collection shouldn't effect much unless the schema is
> > > different.
> > >
> > > But as Shawn mentioned the stack trace is not coming from Solr. Is
> there
> > > more in the logs beyond the Calcite exception?
> > >
> > > Joel Bernstein
> > > http://joelsolr.blogspot.com/
> > >
> > >
> > > On Thu, Apr 18, 2019 at 11:04 AM Shawn Heisey <[hidden email]>
> > wrote:
> > >
> > > > On 4/18/2019 1:47 AM, David Barnett wrote:
> > > > > I have a large solr 7.3 collection 400m + documents.
> > > > >
> > > > > I’m trying to use the Solr JDBC driver to query the data but I get
> a
> > > > >
> > > > > java.io.IOException: Failed to execute sqlQuery 'select id from
> > > document
> > > > limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> > > > > Error while executing SQL "select id from document limit 10": null
> > > >
> > > > <snip>
> > > >
> > > > By the way, either that JDBC url is extremely incomplete or you nuked
> > it
> > > > from the log before sharing.  Seeing the construction of the full URL
> > > > might be helpful.  If you need to redact it in some way for privacy
> > > > concerns, do so in a way so that we can still tell what the URL was -
> > > > change a real password to PASSWORD, change things like host names to
> > > > something like HOST_NAME, etc.
> > > >
> > > > > Caused by: java.lang.NullPointerException
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891
> > > > >          at
> > > >
> > > >
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
> > > > >          at
> > org.apache.calcite.tools.Programs$5.run(Programs.java:309)
> > > > >          at
> > > >
> > org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
> > > > >          at
> > > org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
> > > > >          at
> > > > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
> > > > >          at
> > > > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
> > > > >          at
> > > >
> > >
> >
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
> > > >
> > > > The root cause is an NPE in pure calcite code (no Solr classes
> listed).
> > > > Calcite didn't like the SQL query for some reason.  I'm not at all
> > > > familiar with Calcite.
> > > >
> > > > Did you try to query a single core (shard replica) rather than the
> > > > collection?  I wonder if doing that might make the driver think it's
> > not
> > > > talking to SolrCloud.  Joel is the expert here, I don't know much
> about
> > > it.
> > > >
> > > > What context is this being used in?  The dataimport handler, or
> > > > something you wrote yourself?  I don't know if this information is
> > > > important, just trying to provide as much information for Joel as I
> > can.
> > > >
> > > > Thanks,
> > > > Shawn
> > > >
> > >
> >
> >
> > --
> > *David Barnett*
> > O&G Technology Consulting Ltd
> > [hidden email]
> > +44 (0) 7753 235608
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

oandgtc
Hi Kevin

We have the same outcome on systems with a single shard (the original host) and also a system where we have created a replica on the same host

The import / export does not to my knowledge create a new shard but I can confirm
On 18 Apr 2019, 20:53 -0500, Kevin Risden <[hidden email]>, wrote:

> Do you have multiple shards (including replicas) on the same host for the
> collection in question? Do the number of shards per host change on the
> export/index?
>
> Kevin Risden
>
> On Thu, Apr 18, 2019, 20:50 Joel Bernstein <[hidden email]> wrote:
>
> > That stack trace points here:
> >
> > https://github.com/apache/lucene-solr/blob/releases/lucene-solr/7.3.0/solr/core/src/java/org/apache/solr/handler/sql/SolrSchema.java#L103
> >
> > So the Sql Schema is not initializing properly for this dataset. I'd be
> > interested in understanding why.
> >
> > If you want to create a jira ticket and attach your schema we can track
> > this down. I'll probably attach a special binary to the ticket which has
> > additional logging so we can can find out what field is causing the
> > problem.
> >
> > Joel Bernstein
> > http://joelsolr.blogspot.com/
> >
> >
> > On Thu, Apr 18, 2019 at 1:38 PM David Barnett <[hidden email]> wrote:
> >
> > > Hi Joel, besides the solr log is there anywhere else i need to go ?
> > > anything I need to set to get more detail ?
> > >
> > > On Thu, 18 Apr 2019 at 10:46, Joel Bernstein <[hidden email]> wrote:
> > >
> > > > This let's make sure the jdbc URL is correct.
> > > >
> > > > Reloading the collection shouldn't effect much unless the schema is
> > > > different.
> > > >
> > > > But as Shawn mentioned the stack trace is not coming from Solr. Is
> > there
> > > > more in the logs beyond the Calcite exception?
> > > >
> > > > Joel Bernstein
> > > > http://joelsolr.blogspot.com/
> > > >
> > > >
> > > > On Thu, Apr 18, 2019 at 11:04 AM Shawn Heisey <[hidden email]>
> > > wrote:
> > > >
> > > > > On 4/18/2019 1:47 AM, David Barnett wrote:
> > > > > > I have a large solr 7.3 collection 400m + documents.
> > > > > >
> > > > > > I’m trying to use the Solr JDBC driver to query the data but I get
> > a
> > > > > >
> > > > > > java.io.IOException: Failed to execute sqlQuery 'select id from
> > > > document
> > > > > limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> > > > > > Error while executing SQL "select id from document limit 10": null
> > > > >
> > > > > <snip>
> > > > >
> > > > > By the way, either that JDBC url is extremely incomplete or you nuked
> > > it
> > > > > from the log before sharing. Seeing the construction of the full URL
> > > > > might be helpful. If you need to redact it in some way for privacy
> > > > > concerns, do so in a way so that we can still tell what the URL was -
> > > > > change a real password to PASSWORD, change things like host names to
> > > > > something like HOST_NAME, etc.
> > > > >
> > > > > > Caused by: java.lang.NullPointerException
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891
> > > > > > at
> > > > >
> > > > >
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
> > > > > > at
> > > org.apache.calcite.tools.Programs$5.run(Programs.java:309)
> > > > > > at
> > > > >
> > > org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
> > > > > > at
> > > > org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
> > > > > > at
> > > > > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
> > > > > > at
> > > > > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
> > > > > > at
> > > > >
> > > >
> > >
> > org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
> > > > >
> > > > > The root cause is an NPE in pure calcite code (no Solr classes
> > listed).
> > > > > Calcite didn't like the SQL query for some reason. I'm not at all
> > > > > familiar with Calcite.
> > > > >
> > > > > Did you try to query a single core (shard replica) rather than the
> > > > > collection? I wonder if doing that might make the driver think it's
> > > not
> > > > > talking to SolrCloud. Joel is the expert here, I don't know much
> > about
> > > > it.
> > > > >
> > > > > What context is this being used in? The dataimport handler, or
> > > > > something you wrote yourself? I don't know if this information is
> > > > > important, just trying to provide as much information for Joel as I
> > > can.
> > > > >
> > > > > Thanks,
> > > > > Shawn
> > > > >
> > > >
> > >
> > >
> > > --
> > > *David Barnett*
> > > O&G Technology Consulting Ltd
> > > [hidden email]
> > > +44 (0) 7753 235608
> > >
> >
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

oandgtc
In reply to this post by Joel Bernstein
Hi Joel

BUG created in jira SOLR-13414

Please let me know if you need more info

Thanks

Dave
On 18 Apr 2019, 20:50 -0500, Joel Bernstein <[hidden email]>, wrote:

> That stack trace points here:
> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/7.3.0/solr/core/src/java/org/apache/solr/handler/sql/SolrSchema.java#L103
>
> So the Sql Schema is not initializing properly for this dataset. I'd be
> interested in understanding why.
>
> If you want to create a jira ticket and attach your schema we can track
> this down. I'll probably attach a special binary to the ticket which has
> additional logging so we can can find out what field is causing the problem.
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
>
> On Thu, Apr 18, 2019 at 1:38 PM David Barnett <[hidden email]> wrote:
>
> > Hi Joel, besides the solr log is there anywhere else i need to go ?
> > anything I need to set to get more detail ?
> >
> > On Thu, 18 Apr 2019 at 10:46, Joel Bernstein <[hidden email]> wrote:
> >
> > > This let's make sure the jdbc URL is correct.
> > >
> > > Reloading the collection shouldn't effect much unless the schema is
> > > different.
> > >
> > > But as Shawn mentioned the stack trace is not coming from Solr. Is there
> > > more in the logs beyond the Calcite exception?
> > >
> > > Joel Bernstein
> > > http://joelsolr.blogspot.com/
> > >
> > >
> > > On Thu, Apr 18, 2019 at 11:04 AM Shawn Heisey <[hidden email]>
> > wrote:
> > >
> > > > On 4/18/2019 1:47 AM, David Barnett wrote:
> > > > > I have a large solr 7.3 collection 400m + documents.
> > > > >
> > > > > I’m trying to use the Solr JDBC driver to query the data but I get a
> > > > >
> > > > > java.io.IOException: Failed to execute sqlQuery 'select id from
> > > document
> > > > limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> > > > > Error while executing SQL "select id from document limit 10": null
> > > >
> > > > <snip>
> > > >
> > > > By the way, either that JDBC url is extremely incomplete or you nuked
> > it
> > > > from the log before sharing. Seeing the construction of the full URL
> > > > might be helpful. If you need to redact it in some way for privacy
> > > > concerns, do so in a way so that we can still tell what the URL was -
> > > > change a real password to PASSWORD, change things like host names to
> > > > something like HOST_NAME, etc.
> > > >
> > > > > Caused by: java.lang.NullPointerException
> > > > > at
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891
> > > > > at
> > > >
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
> > > > > at
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > > > > at
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > > > > at
> > > >
> > >
> > org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > > > > at
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > > > > at
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
> > > > > at
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > > > > at
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > > > > at
> > > >
> > >
> > org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > > > > at
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > > > > at
> > > >
> > >
> > org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
> > > > > at
> > org.apache.calcite.tools.Programs$5.run(Programs.java:309)
> > > > > at
> > > >
> > org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
> > > > > at
> > > org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
> > > > > at
> > > > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
> > > > > at
> > > > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
> > > > > at
> > > >
> > >
> > org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
> > > > > at
> > > >
> > >
> > org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
> > > > > at
> > > >
> > >
> > org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
> > > > > at
> > > >
> > >
> > org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
> > > > > at
> > > >
> > >
> > org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
> > > > > at
> > > >
> > >
> > org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
> > > > > at
> > > >
> > >
> > org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
> > > >
> > > > The root cause is an NPE in pure calcite code (no Solr classes listed).
> > > > Calcite didn't like the SQL query for some reason. I'm not at all
> > > > familiar with Calcite.
> > > >
> > > > Did you try to query a single core (shard replica) rather than the
> > > > collection? I wonder if doing that might make the driver think it's
> > not
> > > > talking to SolrCloud. Joel is the expert here, I don't know much about
> > > it.
> > > >
> > > > What context is this being used in? The dataimport handler, or
> > > > something you wrote yourself? I don't know if this information is
> > > > important, just trying to provide as much information for Joel as I
> > can.
> > > >
> > > > Thanks,
> > > > Shawn
> > > >
> > >
> >
> >
> > --
> > *David Barnett*
> > O&G Technology Consulting Ltd
> > [hidden email]
> > +44 (0) 7753 235608
> >
Reply | Threaded
Open this post in threaded view
|

Re: solr 7.x sql query returns null

Joel Bernstein
Ok I updated the ticket, we can move the discussion there.

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


On Fri, Apr 19, 2019 at 7:44 AM David Barnett <[hidden email]> wrote:

> Hi Joel
>
> BUG created in jira SOLR-13414
>
> Please let me know if you need more info
>
> Thanks
>
> Dave
> On 18 Apr 2019, 20:50 -0500, Joel Bernstein <[hidden email]>, wrote:
> > That stack trace points here:
> >
> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/7.3.0/solr/core/src/java/org/apache/solr/handler/sql/SolrSchema.java#L103
> >
> > So the Sql Schema is not initializing properly for this dataset. I'd be
> > interested in understanding why.
> >
> > If you want to create a jira ticket and attach your schema we can track
> > this down. I'll probably attach a special binary to the ticket which has
> > additional logging so we can can find out what field is causing the
> problem.
> >
> > Joel Bernstein
> > http://joelsolr.blogspot.com/
> >
> >
> > On Thu, Apr 18, 2019 at 1:38 PM David Barnett <[hidden email]> wrote:
> >
> > > Hi Joel, besides the solr log is there anywhere else i need to go ?
> > > anything I need to set to get more detail ?
> > >
> > > On Thu, 18 Apr 2019 at 10:46, Joel Bernstein <[hidden email]>
> wrote:
> > >
> > > > This let's make sure the jdbc URL is correct.
> > > >
> > > > Reloading the collection shouldn't effect much unless the schema is
> > > > different.
> > > >
> > > > But as Shawn mentioned the stack trace is not coming from Solr. Is
> there
> > > > more in the logs beyond the Calcite exception?
> > > >
> > > > Joel Bernstein
> > > > http://joelsolr.blogspot.com/
> > > >
> > > >
> > > > On Thu, Apr 18, 2019 at 11:04 AM Shawn Heisey <[hidden email]>
> > > wrote:
> > > >
> > > > > On 4/18/2019 1:47 AM, David Barnett wrote:
> > > > > > I have a large solr 7.3 collection 400m + documents.
> > > > > >
> > > > > > I’m trying to use the Solr JDBC driver to query the data but I
> get a
> > > > > >
> > > > > > java.io.IOException: Failed to execute sqlQuery 'select id from
> > > > document
> > > > > limit 10' against JDBC connection 'jdbc:calcitesolr:'.
> > > > > > Error while executing SQL "select id from document limit 10":
> null
> > > > >
> > > > > <snip>
> > > > >
> > > > > By the way, either that JDBC url is extremely incomplete or you
> nuked
> > > it
> > > > > from the log before sharing. Seeing the construction of the full
> URL
> > > > > might be helpful. If you need to redact it in some way for privacy
> > > > > concerns, do so in a way so that we can still tell what the URL
> was -
> > > > > change a real password to PASSWORD, change things like host names
> to
> > > > > something like HOST_NAME, etc.
> > > > >
> > > > > > Caused by: java.lang.NullPointerException
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891
> > > > > > at
> > > > >
> > > > >
> > > >
> > >
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.plan.volcano.VolcanoPlanner.setRoot(VolcanoPlanner.java:308)
> > > > > > at
> > > org.apache.calcite.tools.Programs$5.run(Programs.java:309)
> > > > > > at
> > > > >
> > >
> org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:387)
> > > > > > at
> > > > org.apache.calcite.prepare.Prepare.optimize(Prepare.java:186)
> > > > > > at
> > > > > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:319)
> > > > > > at
> > > > > org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638)
> > > > > > at
> > > > >
> > > >
> > >
> org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149)
> > > > >
> > > > > The root cause is an NPE in pure calcite code (no Solr classes
> listed).
> > > > > Calcite didn't like the SQL query for some reason. I'm not at all
> > > > > familiar with Calcite.
> > > > >
> > > > > Did you try to query a single core (shard replica) rather than the
> > > > > collection? I wonder if doing that might make the driver think it's
> > > not
> > > > > talking to SolrCloud. Joel is the expert here, I don't know much
> about
> > > > it.
> > > > >
> > > > > What context is this being used in? The dataimport handler, or
> > > > > something you wrote yourself? I don't know if this information is
> > > > > important, just trying to provide as much information for Joel as I
> > > can.
> > > > >
> > > > > Thanks,
> > > > > Shawn
> > > > >
> > > >
> > >
> > >
> > > --
> > > *David Barnett*
> > > O&G Technology Consulting Ltd
> > > [hidden email]
> > > +44 (0) 7753 235608
> > >
>