<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/couchdb.git, branch contributing-md-update</title>
<subtitle>github.com: apache/couchdb.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/couchdb.git/'/>
<entry>
<title>Update CONTRIBUTING.md to reflect monorepo</title>
<updated>2017-06-30T16:27:50+00:00</updated>
<author>
<name>Benjamin Bastian</name>
<email>benjamin.bastian@gmail.com</email>
</author>
<published>2017-06-30T15:20:08+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/couchdb.git/commit/?id=06772addab3c0ee17a3c2ecea3557c273acd9406'/>
<id>06772addab3c0ee17a3c2ecea3557c273acd9406</id>
<content type='text'>
Also, there was a typo in the gitbox URL.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also, there was a typo in the gitbox URL.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a soak-eunit target to Makefile</title>
<updated>2017-06-30T15:49:38+00:00</updated>
<author>
<name>Paul J. Davis</name>
<email>paul.joseph.davis@gmail.com</email>
</author>
<published>2017-06-30T15:49:38+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/couchdb.git/commit/?id=67048abbd14848c92595a2950b22b20a18607c59'/>
<id>67048abbd14848c92595a2950b22b20a18607c59</id>
<content type='text'>
This allows developers to run eunit in a loop until a test crashes. This
can be helpful for fixing flaky tests that are failing due to timing
related issues. For instance:

    make soak-eunit apps=ddoc_cache suites=ddoc_cache_lru_test

This command would run that specific test module repeatedly until it hit
a timing condition that caused a failure. And yes, I used this change to
fix that failure. :D
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows developers to run eunit in a loop until a test crashes. This
can be helpful for fixing flaky tests that are failing due to timing
related issues. For instance:

    make soak-eunit apps=ddoc_cache suites=ddoc_cache_lru_test

This command would run that specific test module repeatedly until it hit
a timing condition that caused a failure. And yes, I used this change to
fix that failure. :D
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure replicator _active_tasks entry reports recent pending changes value</title>
<updated>2017-06-28T23:33:12+00:00</updated>
<author>
<name>Nick Vatamaniuc</name>
<email>vatamane@apache.org</email>
</author>
<published>2017-06-28T20:31:35+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/couchdb.git/commit/?id=571a2fc0b7445df0f6ad4626f6172bfe6c8c9a7c'/>
<id>571a2fc0b7445df0f6ad4626f6172bfe6c8c9a7c</id>
<content type='text'>
Previously there was a race between reporting the source update  sequence
between the the workers and the changes readers. Each one used separate
incrementing timestamp sequences.

In some cases that lead to pending changes being stuck. For example, if changes
reader reported the highest sequence with timestamp 10000, then later workers
reported it with sequences 5000, 5001, 5002, then all those reports would be
ignored and users would see an always lagging pending changes value reported
with timestamp 1000.

The fix is to thread the last_sequence update through the changes queue to
the changes manager, so only its timestamp sequence will be used. This removes
the race condition.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously there was a race between reporting the source update  sequence
between the the workers and the changes readers. Each one used separate
incrementing timestamp sequences.

In some cases that lead to pending changes being stuck. For example, if changes
reader reported the highest sequence with timestamp 10000, then later workers
reported it with sequences 5000, 5001, 5002, then all those reports would be
ignored and users would see an always lagging pending changes value reported
with timestamp 1000.

The fix is to thread the last_sequence update through the changes queue to
the changes manager, so only its timestamp sequence will be used. This removes
the race condition.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #614 from cloudant/fix-compaction_daemon_tests</title>
<updated>2017-06-24T14:23:53+00:00</updated>
<author>
<name>Eric Avdey</name>
<email>eiri@eiri.ca</email>
</author>
<published>2017-06-24T14:23:53+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/couchdb.git/commit/?id=d23b26d4e8faf719fdf12f1a5f2e20c5adf9fa1b'/>
<id>d23b26d4e8faf719fdf12f1a5f2e20c5adf9fa1b</id>
<content type='text'>
Fix compaction daemon tests</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix compaction daemon tests</pre>
</div>
</content>
</entry>
<entry>
<title>Address a race on compacting process exit</title>
<updated>2017-06-23T18:03:37+00:00</updated>
<author>
<name>Eric Avdey</name>
<email>eiri@eiri.ca</email>
</author>
<published>2017-06-23T18:01:59+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/couchdb.git/commit/?id=9ea4ad83d3f847d8ab12f4bdf7c8437a8b8d4864'/>
<id>9ea4ad83d3f847d8ab12f4bdf7c8437a8b8d4864</id>
<content type='text'>
View compacting process can be just a bit
slow on exit after swap_compacted call.

This leads to the test failure, because
compacting process holding on db monitor
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
View compacting process can be just a bit
slow on exit after swap_compacted call.

This leads to the test failure, because
compacting process holding on db monitor
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor compaction tests setup and teardown</title>
<updated>2017-06-23T18:03:15+00:00</updated>
<author>
<name>Eric Avdey</name>
<email>eiri@eiri.ca</email>
</author>
<published>2017-06-23T16:57:24+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/couchdb.git/commit/?id=7105971725f0c6103f088a3d9bf2f8b407b300c7'/>
<id>7105971725f0c6103f088a3d9bf2f8b407b300c7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix "not_mocked" error in compaction tests</title>
<updated>2017-06-23T18:03:05+00:00</updated>
<author>
<name>Eric Avdey</name>
<email>eiri@eiri.ca</email>
</author>
<published>2017-06-19T18:11:16+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/couchdb.git/commit/?id=c7f7dcf380e9c90b0e656fa6f52125c574276b3e'/>
<id>c7f7dcf380e9c90b0e656fa6f52125c574276b3e</id>
<content type='text'>
With meck unload set during per suit
teardown all the mocked modules crashing
with "not_mocked" error on attempt
to stop couch in the final cleanup.

This fix moves load and unload meck
modules into global setup and cleanup
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With meck unload set during per suit
teardown all the mocked modules crashing
with "not_mocked" error on attempt
to stop couch in the final cleanup.

This fix moves load and unload meck
modules into global setup and cleanup
</pre>
</div>
</content>
</entry>
<entry>
<title>Add X-Frame-Options (#582)</title>
<updated>2017-06-22T13:06:59+00:00</updated>
<author>
<name>garren smith</name>
<email>garren.smith@gmail.com</email>
</author>
<published>2017-06-22T13:06:59+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/couchdb.git/commit/?id=2f539e003c88b8c76c42a39e6c53b9e61bc783f8'/>
<id>2f539e003c88b8c76c42a39e6c53b9e61bc783f8</id>
<content type='text'>
Adds X-Frame-Options support to help protect against clickjacking.
X-Frame-Options is configurable via the config and allows for DENY,
SAMEORIGIN and ALLOW-FROM
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds X-Frame-Options support to help protect against clickjacking.
X-Frame-Options is configurable via the config and allows for DENY,
SAMEORIGIN and ALLOW-FROM
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch '3358-use-efficient-set'</title>
<updated>2017-06-21T15:55:56+00:00</updated>
<author>
<name>Tony Sun</name>
<email>tony.sun@cloudant.com</email>
</author>
<published>2017-06-21T15:55:56+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/couchdb.git/commit/?id=90db262d00ee9066f94ac842fe6a043adbb1eeaf'/>
<id>90db262d00ee9066f94ac842fe6a043adbb1eeaf</id>
<content type='text'>
COUCHDB-3358
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
COUCHDB-3358
</pre>
</div>
</content>
</entry>
<entry>
<title>Use efficient set storage for field names</title>
<updated>2017-06-21T15:26:04+00:00</updated>
<author>
<name>Tony Sun</name>
<email>tony.sun@cloudant.com</email>
</author>
<published>2017-04-05T07:02:57+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/couchdb.git/commit/?id=4e5e84ecc20808df056163f6a147c154cdf75ee3'/>
<id>4e5e84ecc20808df056163f6a147c154cdf75ee3</id>
<content type='text'>
When indexing a set of fields for text search, we also create a special
field called $fieldnames. It contains values for all the fields that
need to be indexed. In order to do that, we need a unique list of the
form [[&lt;&lt;"$fieldnames"&gt;&gt;, Name, [] | Rest]. The old code would add an
element to the list, and then check for membership via lists:member/2.
This is inefficient. Some documents can contain a large number of
fields, so we will use gb_sets to create a unique set of fields, and
then extract out the field names.

COUCHDB-3358
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When indexing a set of fields for text search, we also create a special
field called $fieldnames. It contains values for all the fields that
need to be indexed. In order to do that, we need a unique list of the
form [[&lt;&lt;"$fieldnames"&gt;&gt;, Name, [] | Rest]. The old code would add an
element to the list, and then check for membership via lists:member/2.
This is inefficient. Some documents can contain a large number of
fields, so we will use gb_sets to create a unique set of fields, and
then extract out the field names.

COUCHDB-3358
</pre>
</div>
</content>
</entry>
</feed>
