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 Aki Balogh <ak...@marketmuse.com> on 2015/05/07 17:24:37 UTC

Specify HTTP instead of AJP on tomcat

Hello,

I'm seeing the following error while indexing:

May 06, 2015 10:52:32 PM org.apache.jk.common.MsgAjp processHeader
SEVERE: BAD packet signature 18245
May 06, 2015 10:52:32 PM org.apache.jk.common.ChannelSocket
processConnection
SEVERE: Error, processing connection
java.lang.IndexOutOfBoundsException
        at java.io.BufferedInputStream.read(BufferedInputStream.java:338)
        at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:628)
        at
org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:585)
        at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:693)
        at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
        at java.lang.Thread.run(Thread.java:745)



After doing some digging, I found that tomcat's AJP connector is to blame:
http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201101.mbox/%3C1296129324.29340.1417510503@webmail.messagingengine.com%3E



The post specifies Java code to post via http, but in my code, I'm not
using a library. I'm just doing GET/POST/DELETE to solr via http: "
http://127.0.0.1:8080/solr"


How can I specify that solr use tomcat's http connector, not the AJP
connector?

Thanks,
Aki

Re: Specify HTTP instead of AJP on tomcat

Posted by Shawn Heisey <ap...@elyograg.org>.
On 5/7/2015 9:24 AM, Aki Balogh wrote:
> I'm seeing the following error while indexing:
>
> May 06, 2015 10:52:32 PM org.apache.jk.common.MsgAjp processHeader
> SEVERE: BAD packet signature 18245
> May 06, 2015 10:52:32 PM org.apache.jk.common.ChannelSocket
> processConnection
> SEVERE: Error, processing connection
> java.lang.IndexOutOfBoundsException
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:338)
>         at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:628)
>         at
> org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:585)
>         at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:693)
>         at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>         at java.lang.Thread.run(Thread.java:745)
>
>
>
> After doing some digging, I found that tomcat's AJP connector is to blame:
> http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201101.mbox/%3C1296129324.29340.1417510503@webmail.messagingengine.com%3E
>
>
>
> The post specifies Java code to post via http, but in my code, I'm not
> using a library. I'm just doing GET/POST/DELETE to solr via http: "
> http://127.0.0.1:8080/solr"
>
>
> How can I specify that solr use tomcat's http connector, not the AJP
> connector?

Solr cannot dictate which connector is used.  The exception you are
seeing is purely in tomcat code -- the request has not made it to Solr
at all.

You choose which connector to use when you set up Tomcat's configuration
and choose the port where you send your request -- send it to the port
specified in the http connector.  I believe that a default Tomcat config
normally uses 8080 for HTTP and 8109 for AJP.

Thanks,
Shawn