CouchDB Weekly News, July 23, 2015

Major Discussions

Windows build failing on couch_ejson_compare.c (see thread)

As reported in the previous Weekly News, there was a problem with the Windows build blocked by khash NIF (see thread). Now it has been tried to revert to the old-style ets approach on Windows, conditionally using khash only on *NIX. The first go on @wohali’s Windows build went well up to compilation of couch_ejson_compare.c. The PR awaits a +1 from a *nix person before merging.

Optimizing chunked transfer-encoding and the impact on clients (see thread)

It has been discussed how to deal with the chunked transfer-encoding capability of HTTP/1.1 to stream _all_docs, _changes, _view and similar responses to clients, that CouchDB uses. As it is more efficient to coalescent multiple rows into a chunk and yields throughput improvements, this change also bears the risk of breaking clients that have been organised on sending single rows-per-chunk. (More details on this topic can be found in COUCHDB-2724 and associated Pull Requests). Several options have been analysed and discussed.

High CPU after loading 15K documents (see thread)

While monitoring CouchDB, a user is concerned that the CPU keeps around 10-12% of the time from the erlang processes and wants to find out, why it takes CPU time, when only a new document is added to the DB each 5-6 minutes and there are only few read requests.

npm releases and ASF releases (see thread)

Some questions regarding npm releases and the ASF/ASF releases and reposting them, came up in a former discussion (Welcome nano to the ASF), and have been re-addressed: “How do we handle npm releases? Currently Nuno Job, Pedro Teixeira and me have write access on This needs to be changed so we maybe can have a CouchDB account? Also, how does the Apache release procedure work for npm packages?”

An approach to automate releases, maybe with the help of semantic-release, was suggested.

[couchrest] (see thread)

A pull request, “Persistent Connections and Streaming”, for the CouchRest gem includes a few, possibly breaking, API changes. The change boils down to replacing RestClient with HTTPClient which adds support for:

  • Persistent HTTP connections
  • Built-in streaming

You’re invited to help with feedback to the beta (version 2.0.0.beta1), before a final version will be released.

Releases in the CouchDB Universe

Opinions and other News in the CouchDB Universe

CouchDB Use Cases, Questions and Answers

  • Use Case: CouchDB Statistics: A CouchDB backend for the core Statistics module
  • QusetionNo CouchDB filter parameter working with CoachDB and Dreamfactory, is this normal? Answer:CouchDB doesn’t have a filter language. One needs NoSQL with traditional SQL-like filter arguments.

Stack Overflow:

no public answer yet (Stack Overflow):

For more new questions and answers about CouchDB, see these search results.

PouchDB Use Cases, Questions and Answers (PouchDB)

Stack Overflow:

For more new questions and answers about PouchDB, see these search results.

Get involved!

If you want to get into working on CouchDB:

  • We have an infinite number of open contributor positions on CouchDB. Submit a pull request and join the project!
  • Do you want to help us with the work on the new CouchDB website? Get in touch on our new website mailing list and join the website team! –
  • The CouchDB advocate marketing programme is just getting started. Join us in CouchDB’s Advocate Hub!
  • CouchDB has a new wiki. Help us move content from the old to the new one!
  • Can you help with Web Design, Development or UX for our Admin Console? No Erlang skills required! – Get in touch with us.
  • Do you want to help moving the CouchDB docs translation forward? We’d love to have you in our L10n team! See our current status and languages we’d like to provide CouchDB docs in on this page. If you’d like to help, don’t hesitate to contact the L10n mailing list on or ping Andy Wenk (awenkhh on IRC).

We’d be happy to welcome you on board!


Job opportunities for people with CouchDB skills

Time to relax!

  • “Last week I spoke at a new conference in Dublin called InspireFest: fresh perspectives on leadership, innovation and diversity in science, technology, engineering and mathematics (Stem). It was a Stem conference with a difference – 75% of the speakers were women.” – Technology still has a problem with women – but change is in the air
  • ““Safe space”: it’s an idealistic term. It’s just not a case of “if you build it, they will come.” It takes some work to get a website to a place where users will feel welcome. I spoke to the founders and editors of Femsplain,, Black Girl Nerds and Autostraddle as well as the marketing head at Disqus and the founder of dating app Thurst, to find out what it takes to create safe spaces online.” – How Niche Sites are Building Safe Spaces and Better Communities
  • “Small modules favor library authors at the expense of library users. Because library authors typically have larger megaphones (more Twitter followers, more credibility on GitHub and Hacker News, etc), their voices are heard more often.” – Small modules: it’s not quite that simple
  • “Reem was one of several students invited to participate in the public forum with the chancellor last Wednesday, part of a discussion series called Living Well in Germany. ‘Politics is sometimes hard,’ the chancellor said…” – Tearful Moment With Merkel Turns Migrant Girl Into a Potent Symbol
  • “There’s a funny thing about survival. People think it’s about strength. About not surrendering. It twists your mind around, shines lights into the path ahead so you can find your way back, but it also blinds you, softly covering the spaces you can’t bear to see. Yet, still, here I am, surviving, all while feeling like I surrendered my whole life to surviving.” – On Wednesdays we wear our Battle Scars

… and also in the news

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s