couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Zachary Zolton <zachary.zol...@gmail.com>
Subject Re: Redirect from _list function?
Date Mon, 28 Sep 2009 18:34:11 GMT
Guys,

I've started a ticket for this:
https://issues.apache.org/jira/browse/COUCHDB-514

I don't know what level of effort would be required to fix this, or if
this is even compatible with the current view server protocol. I'm
motivated to solve this, but I'd need some coaching from someone with
more knowledge of CouchDB view server internals.


Cheers,

Zach


On Sun, Sep 27, 2009 at 11:35 PM, Chris Anderson <jchris@apache.org> wrote:
> On Sun, Sep 27, 2009 at 8:26 PM, Zachary Zolton
> <zachary.zolton@gmail.com> wrote:
>> Hmm... I can't do anything that doesn't result in a view server timeout. (^_-)
>>
>> Shall I open an issue? I can discuss what I tried, as well...
>>
>
> It never hurts to start a ticket. Especially if you have patches.
>
> Thinking about it more, it seems like the Erlang side is gonna be
> looking for that start signal before it will send a row. We'll need to
> design a dont-start signal, so that it can get a row without sending
> headers.
>
>> On Sun, Sep 27, 2009 at 12:06 PM, Paul Davis
>> <paul.joseph.davis@gmail.com> wrote:
>>> On Sun, Sep 27, 2009 at 1:04 PM, Zachary Zolton
>>> <zachary.zolton@gmail.com> wrote:
>>>> Hey guys, newb question for you: the make script concatenates all the
>>>> /share/server/*.js scripts into main.js, right?
>>>>
>>>
>>> yepper.
>>>
>>>> I'm still trying to figure this stuff out...
>>>>
>>>> On Sat, Sep 26, 2009 at 11:35 PM, Zachary Zolton
>>>> <zachary.zolton@gmail.com> wrote:
>>>>> I'll start studying the query_server_spec.rb script; I think I might
>>>>> be able to handle this in JavaScript...
>>>>>
>>>>> On Sat, Sep 26, 2009 at 11:22 PM, Chris Anderson <jchris@apache.org>
wrote:
>>>>>> On Sat, Sep 26, 2009 at 8:57 PM, Paul Davis <paul.joseph.davis@gmail.com>
wrote:
>>>>>>> its been awhile since i studied the Erlang side of this, but
IIRC,
>>>>>>> once getRow() returns, the response has started which means that
you
>>>>>>> can't send a redirect. To get it working proper then would require
a
>>>>>>> bit of a patch to wait on starting the response until the first
output
>>>>>>> from the _list function.
>>>>>>>
>>>>>>
>>>>>> Yes I think it would be a simple patch, once you understand the
>>>>>> entrails of the _list system. You should read the query_server_spec.rb
>>>>>> to see what gets sent by the query server on first getRow() call.
>>>>>>
>>>>>> It may be that this patch can be accomplished just in the javascript
side.
>>>>>>
>>>>>> Chris
>>>>>>
>>>>>>> Paul Davis
>>>>>>>
>>>>>>> On Sat, Sep 26, 2009 at 11:39 PM, Zachary Zolton
>>>>>>> <zachary.zolton@gmail.com> wrote:
>>>>>>>> Hey guys,
>>>>>>>>
>>>>>>>> I need to find a way to do a redirect from a _list function
after
>>>>>>>> calling the getRow() function. After looking at render.js
for a while
>>>>>>>> I can't see how to solve this without at least adding to
the API.
>>>>>>>>
>>>>>>>> Basically, I think that calling getRow() shouldn't cause
the view
>>>>>>>> server to send the headers (or awaiting chunks) unless we've
already
>>>>>>>> called send() or something like that. That way, we can return
from the
>>>>>>>> _list function after iterating to the first row that should
redirect.
>>>>>>>> (I'm not sure if this is a breaking change from the current
semantics,
>>>>>>>> however...)
>>>>>>>>
>>>>>>>> Would greatly appreciate a little guidance on how to attack
this!
>>>>>>>>
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>>
>>>>>>>> Zach
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------- Forwarded message ----------
>>>>>>>> From: Chris Anderson <jchris@apache.org>
>>>>>>>> Date: Fri, Sep 25, 2009 at 2:15 PM
>>>>>>>> Subject: Re: Redirect from _list function?
>>>>>>>> To: Zachary Zolton <zachary.zolton@gmail.com>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton
>>>>>>>> <zachary.zolton@gmail.com> wrote:
>>>>>>>>> So, now I find that using the send() function to perform
the redirect
>>>>>>>>> doesn't work after the first time I call getRow(). Upon
checking out
>>>>>>>>> render.js, I see that the getRow() function calls sendStart()—which
I
>>>>>>>>> haven't quite yet figured out—but I can tell there's
something fishy
>>>>>>>>> going on there...
>>>>>>>>>
>>>>>>>>> Would I be correct to assume that the headers are already
set after
>>>>>>>>> calling getRow()?
>>>>>>>>
>>>>>>>> Yes... The headers are sent when the first getRow is called.
Fixing
>>>>>>>> this is definitely something I'd support.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Sep 25, 2009 at 12:11 PM, Chris Anderson <jchris@apache.org>
wrote:
>>>>>>>>>> On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton
>>>>>>>>>> <zachary.zolton@gmail.com> wrote:
>>>>>>>>>>> Okay, I've update this section to differentiate
between the 0.9 and
>>>>>>>>>>> 0.10 _list API:
>>>>>>>>>>>
>>>>>>>>>>> http://wiki.apache.org/couchdb/Formatting_with_Show_and_List#Sending_a_Redirect
>>>>>>>>>>>
>>>>>>>>>>> Now, I'm feeling that the Other Fun Things section
could use a bit of
>>>>>>>>>>> love. Hmm...  :^)
>>>>>>>>>>
>>>>>>>>>> Thanks for keeping the wiki in mind!
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Sep 25, 2009 at 10:19 AM, Zachary Zolton
>>>>>>>>>>> <zachary.zolton@gmail.com> wrote:
>>>>>>>>>>>> Sweet! I'll try to amend the wiki page for
the _list API...
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Sep 25, 2009 at 10:17 AM, Jason Davies
<jason@jasondavies.com> wrote:
>>>>>>>>>>>>> On 25 Sep 2009, at 16:16, Zachary Zolton
wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks for all the help, guys! Shall
I delete that JIRA issue?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I already did :-)
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Jason Davies
>>>>>>>>>>>>>
>>>>>>>>>>>>> www.jasondavies.com
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Chris Anderson
>>>>>>>>>> http://jchrisa.net
>>>>>>>>>> http://couch.io
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Chris Anderson
>>>>>>>> http://jchrisa.net
>>>>>>>> http://couch.io
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Chris Anderson
>>>>>> http://jchrisa.net
>>>>>> http://couch.io
>>>>>>
>>>>>
>>>>
>>>
>>
>
>
>
> --
> Chris Anderson
> http://jchrisa.net
> http://couch.io
>

Mime
View raw message