couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Davis <>
Subject Re: [jira] [Commented] (COUCHDB-1342) Asynchronous file writes
Date Fri, 18 Nov 2011 06:40:00 GMT
On Thu, Nov 17, 2011 at 9:43 PM, Jason Smith <> wrote:
> On Fri, Nov 18, 2011 at 10:06 AM, Damien Katz (Commented) (JIRA)
> <> wrote:
>> Right now we have a culture of everyone's pet concerns must addressed before code
gets checked in, which is demoralizing and slows things down, which is a very big problem
the project has right now. I want your help in trying to change that.
> I'm sorry to agree. I made two (IMO) useful contributions and both
> died in JIRA committee.
> My CORS implementation[1] was ignored for three months (15 May - 24
> August), despite production deployment at Iris Couch. Ultimately, a
> competing patch showed up, with no reason given. After some
> discussion, it too languishes.
> My inbox database feature[2] is suffering the same fate. Both features
> are highly requested by real-world Couch app developers.

I understand the frustration that a patch languishes in JIRA. I too
have had serious amounts of effort rot away never to be heard from

Though I would point out that both of these patches have significant
security concerns attached. CORS opens up some crazy XSS stuff for a
spec that I'm not even sure is out of draft status (which we have a
history of not implementing in core).

As to the inbox db thing, last I looked it was pattern matching on
request properties to implement its security model. That's a model
destined to break and since its security related the possibility that
it breaks in bad ways is (IMO) second only in severity to the
possibility that we lose data.

> I have a new CommonJS feature mostly done but I've postponed it.
> (I'm not changing the subject, just sharing that it's not just newbies
> who are frustrated. I'm not super frustrated, just a little
> frustrated.)

Oh, for sure. I get frustrated as well. It takes effort and
determination to get big patches through the JIRA process and into
trunk. As well it should. If we make it too easy to just throw random
patches into trunk and "fix things as they come up" then we end up
losing our credibility as serious database engineers.

> My inbox database patches[2] are also
> [1]:
> The last two big contributions I made have been ignored in JIRA. My
> CORS implementation[1] was ignored
>>> Asynchronous file writes
>>> ------------------------
>>>                 Key: COUCHDB-1342
>>>                 URL:
>>>             Project: CouchDB
>>>          Issue Type: Improvement
>>>          Components: Database Core
>>>            Reporter: Jan Lehnardt
>>>             Fix For: 1.3
>>>         Attachments: COUCHDB-1342.patch
>>> This change updates the file module so that it can do
>>> asynchronous writes. Basically it replies immediately
>>> to process asking to write something to the file, with
>>> the position where the chunks will be written to the
>>> file, while a dedicated child process keeps collecting
>>> chunks and write them to the file (and batching them
>>> when possible). After issuing a series of write request
>>> to the file module, the caller can call its 'flush'
>>> function which will block the caller until all the
>>> chunks it requested to write are effectively written
>>> to the file.
>>> This maximizes the IO subsystem, as for example, while
>>> the updater is traversing and modifying the btrees and
>>> doing CPU bound tasks, the writes are happening in
>>> parallel.
>>> Originally described at
>>> Github Commit:
>> --
>> This message is automatically generated by JIRA.
>> If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
>> For more information on JIRA, see:
> --
> Iris Couch

View raw message