I found out what's going on. 

My test queries from existing Solr (not 1.3.0) that I am using have *2*
"select" in the URL. http://host:port/select/select?q=foo . Not sure
why, but that's a separate issue. The result is that it is following a
codepath that bypasses this decision point, and it falls back on
something that assumes it will *not* be a BinaryQueryResponseWriter,
even though it does correctly locate and use my new writer.

The solution was to map /select/select to a new handler.

Not sure if this raises another issue or not, but for me it solves the
problem. Thanks for the help.

-Todd

-----Original Message-----
From: Grant Ingersoll [mailto:[EMAIL PROTECTED] 
Sent: Monday, October 20, 2008 1:09 PM
To: solr-user@lucene.apache.org
Subject: Re: Problem implementing a BinaryQueryResponseWriter

I'd start by having a look at SolrDispatchFilter and put in a debug  
breakpoint at:

                QueryResponseWriter responseWriter =  
core.getQueryResponseWriter(solrReq);
                    
response.setContentType(responseWriter.getContentType(solrReq,  
solrRsp));
                   if (Method.HEAD != reqMethod) {
                     if (responseWriter instanceof  
BinaryQueryResponseWriter) {
                       BinaryQueryResponseWriter binWriter =  
(BinaryQueryResponseWriter) responseWriter;
                       binWriter.write(response.getOutputStream(),  
solrReq, solrRsp);
                     } else {
                       PrintWriter out = response.getWriter();
                       responseWriter.write(out, solrReq, solrRsp);

                     }


On Oct 20, 2008, at 3:59 PM, Feak, Todd wrote:

> Yes.
>
> I've gotten it to the point where my class is called, but the wrong
> method on it is called.
>
> -Todd
>
> -----Original Message-----
> From: Shalin Shekhar Mangar [mailto:[EMAIL PROTECTED]
> Sent: Monday, October 20, 2008 12:19 PM
> To: solr-user@lucene.apache.org
> Subject: Re: Problem implementing a BinaryQueryResponseWriter
>
> Hi Todd,
>
> Did you add your response writer in solrconfig.xml?
>
> <queryResponseWriter name="xml"
> class="org.apache.solr.request.XMLResponseWriter" default="true"/>
>
> On Mon, Oct 20, 2008 at 9:35 PM, Feak, Todd <[EMAIL PROTECTED]>
> wrote:
>
>> I switched from dev group for this specific question, in case other
>> users have similar issue.
>>
>>
>>
>> I'm implementing my own BinaryQueryResponseWriter. I've implemented
> the
>> interface and successfully plugged it into the Solr configuration.
>> However, the application always calls the Writer method on the
> interface
>> instead of the OutputStream method.
>>
>>
>>
>> So, how does Solr determine *which* one to call? Is there a setting
>> somewhere I am missing maybe?
>>
>>
>>
>> For troubleshooting purposes, I am using 1.3.0 release version. If I
> try
>> using the BinaryResponseWriter (javabin) as the wt, I get the
> exception
>> indicating that Solr is doing the same thing with that writer as  
>> well.
>> This leads me to believe I am somehow misconfigured, OR this isn't
>> supported with 1.3.0 release.
>>
>>
>>
>> -Todd
>>
>>
>
>
> -- 
> Regards,
> Shalin Shekhar Mangar.

--------------------------
Grant Ingersoll
Lucene Boot Camp Training Nov. 3-4, 2008, ApacheCon US New Orleans.
http://www.lucenebootcamp.com


Lucene Helpful Hints:
http://wiki.apache.org/lucene-java/BasicsOfPerformance
http://wiki.apache.org/lucene-java/LuceneFAQ










Reply via email to