<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cloudant_bigcouch.git/apps/couch, branch debian</title>
<subtitle>[cloudant_bigcouch] 
</subtitle>
<link rel='alternate' type='text/html' href='https://leap.se/git/cloudant_bigcouch.git/'/>
<entry>
<title>Invoke couch_view_updater with the proper arguments</title>
<updated>2012-03-20T04:53:45+00:00</updated>
<author>
<name>Adam Kocoloski</name>
<email>adam@cloudant.com</email>
</author>
<published>2012-03-20T04:52:54+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/cloudant_bigcouch.git/commit/?id=42a471caa33c1fa753cf9e9221d678fc0d0f714f'/>
<id>42a471caa33c1fa753cf9e9221d678fc0d0f714f</id>
<content type='text'>
This fixes stale=update_after.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes stale=update_after.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix previous commit</title>
<updated>2012-01-31T21:59:28+00:00</updated>
<author>
<name>Robert Newson</name>
<email>robert.newson@cloudant.com</email>
</author>
<published>2012-01-31T21:59:28+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/cloudant_bigcouch.git/commit/?id=db23528537fed7b9b0e85d3f3617f560cb52d630'/>
<id>db23528537fed7b9b0e85d3f3617f560cb52d630</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix bug in replicator request piplining</title>
<updated>2012-01-31T19:37:53+00:00</updated>
<author>
<name>Paul J. Davis</name>
<email>paul.joseph.davis@gmail.com</email>
</author>
<published>2012-01-31T19:34:59+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/cloudant_bigcouch.git/commit/?id=f199c336b304b1a9abc03d6898b10dafb7a17ad6'/>
<id>f199c336b304b1a9abc03d6898b10dafb7a17ad6</id>
<content type='text'>
A replication with both an HTTP source and target on the same host and
port could end up in a dead lock due to ibrowse replication pipelining
when attachments are present on the source. The ibrowse http worker
would end up forming a multipart/mime body using anonymous reader
functions for attachment stubs. When the attachment stub functions are
executed it is possible that they end up assigned to the same ibrowse
worker.

This is a bit of a long path but then end result is equivalent to
calling gen_server:call(self(), Args, infinity) from a gen_server
callback.

A quick work around for users is to set up a DNA alias (possibly in
/etc/hosts) or to use a combination of hostname and ip address so that
ibrowse assigns the requests to different pools.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A replication with both an HTTP source and target on the same host and
port could end up in a dead lock due to ibrowse replication pipelining
when attachments are present on the source. The ibrowse http worker
would end up forming a multipart/mime body using anonymous reader
functions for attachment stubs. When the attachment stub functions are
executed it is possible that they end up assigned to the same ibrowse
worker.

This is a bit of a long path but then end result is equivalent to
calling gen_server:call(self(), Args, infinity) from a gen_server
callback.

A quick work around for users is to set up a DNA alias (possibly in
/etc/hosts) or to use a combination of hostname and ip address so that
ibrowse assigns the requests to different pools.
</pre>
</div>
</content>
</entry>
<entry>
<title>Minor bug getting the reduce_limit setting</title>
<updated>2012-01-24T09:29:40+00:00</updated>
<author>
<name>Paul J. Davis</name>
<email>paul.joseph.davis@gmail.com</email>
</author>
<published>2012-01-24T09:29:40+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/cloudant_bigcouch.git/commit/?id=6696d6fd42620f87f29f09f03daaf5fbe454e10d'/>
<id>6696d6fd42620f87f29f09f03daaf5fbe454e10d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert use of spawn_monitor</title>
<updated>2012-01-18T13:40:02+00:00</updated>
<author>
<name>Robert Newson</name>
<email>robert.newson@cloudant.com</email>
</author>
<published>2012-01-18T13:39:37+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/cloudant_bigcouch.git/commit/?id=855bb7dcda1cef59c449d62de35d9c4d74683731'/>
<id>855bb7dcda1cef59c449d62de35d9c4d74683731</id>
<content type='text'>
As Filipe correctly points out, we want the parent to die if the child dies.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As Filipe correctly points out, we want the parent to die if the child dies.
</pre>
</div>
</content>
</entry>
<entry>
<title>Only set the process dictionary if exit was ok</title>
<updated>2012-01-16T22:11:20+00:00</updated>
<author>
<name>Robert Newson</name>
<email>robert.newson@cloudant.com</email>
</author>
<published>2012-01-16T22:11:20+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/cloudant_bigcouch.git/commit/?id=5a7a1a536f32794910e8730ad93891f23a4e8895'/>
<id>5a7a1a536f32794910e8730ad93891f23a4e8895</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use spawn_monitor to await process completion</title>
<updated>2012-01-16T19:03:03+00:00</updated>
<author>
<name>Robert Newson</name>
<email>robert.newson@cloudant.com</email>
</author>
<published>2012-01-16T19:03:03+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/cloudant_bigcouch.git/commit/?id=effae95921f30d4847f8a8082f7e6f619c5108d7'/>
<id>effae95921f30d4847f8a8082f7e6f619c5108d7</id>
<content type='text'>
BugzID: 13133
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BugzID: 13133
</pre>
</div>
</content>
</entry>
<entry>
<title>Conditionally apply JSON encoding to update_seq values</title>
<updated>2011-11-09T19:30:11+00:00</updated>
<author>
<name>Robert Newson</name>
<email>robert.newson@cloudant.com</email>
</author>
<published>2011-11-09T13:08:49+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/cloudant_bigcouch.git/commit/?id=223646af60465522572cfea014f35bfa68496d0e'/>
<id>223646af60465522572cfea014f35bfa68496d0e</id>
<content type='text'>
BigCouch 0.3 cannot parse requests of the form /db/_changes?since="123-foo" so
the recent ?JSON_ENCODE addition to Since in two places causes 0.3 &lt;-&gt; 0.4
replication to fail with json_encode/badterm errors.

This patch applies JSON encoding only when the Since value is not already a
binary (i.e, when it's a [integer(), binary()]) and interop is restored.

BugzID: 12833
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BigCouch 0.3 cannot parse requests of the form /db/_changes?since="123-foo" so
the recent ?JSON_ENCODE addition to Since in two places causes 0.3 &lt;-&gt; 0.4
replication to fail with json_encode/badterm errors.

This patch applies JSON encoding only when the Since value is not already a
binary (i.e, when it's a [integer(), binary()]) and interop is restored.

BugzID: 12833
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge commit '1.1.1' into 0.4.x</title>
<updated>2011-10-31T18:54:51+00:00</updated>
<author>
<name>Robert Newson</name>
<email>robert.newson@cloudant.com</email>
</author>
<published>2011-10-31T18:36:54+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/cloudant_bigcouch.git/commit/?id=8bbd833f866c8dfdaaf06f3dc5a5ca06030504e8'/>
<id>8bbd833f866c8dfdaaf06f3dc5a5ca06030504e8</id>
<content type='text'>
Conflicts:
	acinclude.m4.in
	configure.ac
	couchjs/c_src/http.c
	src/erlang-oauth/Makefile.am
	src/erlang-oauth/oauth.app.in
	src/erlang-oauth/oauth_hmac_sha1.erl
	src/erlang-oauth/oauth_http.erl
	src/erlang-oauth/oauth_plaintext.erl
	src/etap/etap_web.erl
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	acinclude.m4.in
	configure.ac
	couchjs/c_src/http.c
	src/erlang-oauth/Makefile.am
	src/erlang-oauth/oauth.app.in
	src/erlang-oauth/oauth_hmac_sha1.erl
	src/erlang-oauth/oauth_http.erl
	src/erlang-oauth/oauth_plaintext.erl
	src/etap/etap_web.erl
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix retrieval of headers larger than 4k</title>
<updated>2011-10-31T17:13:59+00:00</updated>
<author>
<name>Adam Kocoloski</name>
<email>kocolosk@apache.org</email>
</author>
<published>2011-10-26T18:04:54+00:00</published>
<link rel='alternate' type='text/html' href='https://leap.se/git/cloudant_bigcouch.git/commit/?id=a6352493651f6f8e3430269555421b5599a77809'/>
<id>a6352493651f6f8e3430269555421b5599a77809</id>
<content type='text'>
Our headers start with a &lt;&lt;1&gt;&gt; and then four bytes indicating the length
of the header and its checksum. When the header is larger than 4090
bytes it will be split across multiple blocks in the file and will need
to be reassembled on read. The reassembly consists of stripping out
&lt;&lt;0&gt;&gt; from the beginning of each subsequent block in the
remove_block_prefixes/2 function. The bug here is that we tell
remove_block_prefixes that we're starting 1 byte into the current block
instead of 5, so it ends up removing one good byte from the header and
injecting one or more random &lt;&lt;0&gt;&gt;s.

Headers larger than 4k are very rare and generally require a view group
with a huge number of indexes or indexes with fairly large reductions,
which explains why this bug has gone undetected until now.

Closes COUCHDB-1319.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Our headers start with a &lt;&lt;1&gt;&gt; and then four bytes indicating the length
of the header and its checksum. When the header is larger than 4090
bytes it will be split across multiple blocks in the file and will need
to be reassembled on read. The reassembly consists of stripping out
&lt;&lt;0&gt;&gt; from the beginning of each subsequent block in the
remove_block_prefixes/2 function. The bug here is that we tell
remove_block_prefixes that we're starting 1 byte into the current block
instead of 5, so it ends up removing one good byte from the header and
injecting one or more random &lt;&lt;0&gt;&gt;s.

Headers larger than 4k are very rare and generally require a view group
with a huge number of indexes or indexes with fairly large reductions,
which explains why this bug has gone undetected until now.

Closes COUCHDB-1319.
</pre>
</div>
</content>
</entry>
</feed>
