You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Damien Kamerman <da...@gmail.com> on 2016/07/18 04:35:25 UTC

JDBC: Collection not found with count(*) and uppercase name

Hi,

I'm on Solr 6.1 and testing a JDBC query from SquirrelSQL and I find this
query works OK:
select id from c_D02016

But when I try this query I get an error: Collection not found c_d02016
select count(*) from c_D02016.

It seems solr is expecting the collection/table name to be lower-case. Has
anyone else seen this?

Here's the full log from the server:
ERROR - 2016-07-18 13:46:23.711; [c:ip_0 s:shard1 r:core_node1
x:c_0_shard1_replica1] org.apache.solr.common.SolrException;
java.io.IOException: org.apache.solr.common.SolrException: Collection not
found: c_d02016
        at
org.apache.solr.client.solrj.io.stream.StatsStream.open(StatsStream.java:221)
        at
org.apache.solr.handler.SQLHandler$MetadataStream.open(SQLHandler.java:1578)
        at
org.apache.solr.client.solrj.io.stream.ExceptionStream.open(ExceptionStream.java:51)
        at
org.apache.solr.handler.StreamHandler$TimerStream.open(StreamHandler.java:423)
        at
org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:304)
        at
org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:168)
        at
org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
        at
org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
        at
org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
        at
org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
        at
org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
        at
org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:731)
        at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:473)
        at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:257)
        at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:208)
        at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
        at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
        at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
        at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
        at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
        at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
        at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
        at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
        at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
        at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
        at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
        at
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:318)
        at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
        at org.eclipse.jetty.server.Server.handle(Server.java:518)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
        at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
        at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
        at
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
        at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
        at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
        at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
        at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.solr.common.SolrException: Collection not found:
ip_tiger_d02016-00
        at
org.apache.solr.client.solrj.impl.CloudSolrClient.getCollectionNames(CloudSolrClient.java:1248)
        at
org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:961)
        at
org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:934)
        at
org.apache.solr.client.solrj.io.stream.StatsStream.open(StatsStream.java:218)
        ... 40 more

Regards,
Damien.

Re: JDBC: Collection not found with count(*) and uppercase name

Posted by Joel Bernstein <jo...@gmail.com>.
This looks a like a bug with SQL stats query which uses the StatsStream.
The table name should be case insensitive.

The simple select query is using CloudSolrStream which is properly handling
the table name.

Feel free to create a jira for this.

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

On Mon, Jul 18, 2016 at 12:35 AM, Damien Kamerman <da...@gmail.com> wrote:

> Hi,
>
> I'm on Solr 6.1 and testing a JDBC query from SquirrelSQL and I find this
> query works OK:
> select id from c_D02016
>
> But when I try this query I get an error: Collection not found c_d02016
> select count(*) from c_D02016.
>
> It seems solr is expecting the collection/table name to be lower-case. Has
> anyone else seen this?
>
> Here's the full log from the server:
> ERROR - 2016-07-18 13:46:23.711; [c:ip_0 s:shard1 r:core_node1
> x:c_0_shard1_replica1] org.apache.solr.common.SolrException;
> java.io.IOException: org.apache.solr.common.SolrException: Collection not
> found: c_d02016
>         at
>
> org.apache.solr.client.solrj.io.stream.StatsStream.open(StatsStream.java:221)
>         at
>
> org.apache.solr.handler.SQLHandler$MetadataStream.open(SQLHandler.java:1578)
>         at
>
> org.apache.solr.client.solrj.io.stream.ExceptionStream.open(ExceptionStream.java:51)
>         at
>
> org.apache.solr.handler.StreamHandler$TimerStream.open(StreamHandler.java:423)
>         at
>
> org.apache.solr.response.TextResponseWriter.writeTupleStream(TextResponseWriter.java:304)
>         at
>
> org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:168)
>         at
>
> org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:183)
>         at
>
> org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:299)
>         at
>
> org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:95)
>         at
>
> org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:60)
>         at
>
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:65)
>         at
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:731)
>         at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:473)
>         at
>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:257)
>         at
>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:208)
>         at
>
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>         at
>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>         at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>         at
>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>         at
>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)
>         at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
>         at
>
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>         at
>
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)
>         at
>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>         at
>
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
>         at
>
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
>         at
>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>         at
>
> org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:318)
>         at
>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>         at org.eclipse.jetty.server.Server.handle(Server.java:518)
>         at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>         at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)
>         at
>
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
>         at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>         at
>
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>         at
>
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)
>         at
>
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)
>         at
>
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>         at
>
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.solr.common.SolrException: Collection not found:
> ip_tiger_d02016-00
>         at
>
> org.apache.solr.client.solrj.impl.CloudSolrClient.getCollectionNames(CloudSolrClient.java:1248)
>         at
>
> org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:961)
>         at
>
> org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:934)
>         at
>
> org.apache.solr.client.solrj.io.stream.StatsStream.open(StatsStream.java:218)
>         ... 40 more
>
> Regards,
> Damien.
>