couchdb-global-changes.git
8 years agoReimplement global_change rate limiting
Paul J. Davis [Wed, 13 Aug 2014 20:54:17 +0000 (15:54 -0500)] 
Reimplement global_change rate limiting

Rather than just checking when a change occurs to update we instead just
update after max_write_delay milliseconds.

8 years agoAdd ASF license
Robert Newson [Wed, 16 Jul 2014 12:06:58 +0000 (13:06 +0100)] 
Add ASF license

8 years agoRaise default global_changes max_write_delay & max_event_delay to 500ms
robfraz [Thu, 20 Feb 2014 13:48:19 +0000 (13:48 +0000)] 
Raise default global_changes max_write_delay & max_event_delay to 500ms

BugzID: 28257

8 years agoUse gen_server:cast rather than rexi RPCs
Benjamin Bastian [Wed, 19 Feb 2014 21:41:28 +0000 (13:41 -0800)] 
Use gen_server:cast rather than rexi RPCs

Prior to this commit, the global_changes_listener would send updates to
the global_changes_server via a rexi RPC which only did a
gen_server:call. This is needlessly heavyweight and would cause
gen_server:call timeout errors when the global_changes_server was slow
(usually due to slow disk IO). This commit removes the rexi RPC and
replaces it with a gen_server:cast.

Since this causes all global_changes_server handlers to not reply, this
commit also removes the format_reply function as it's unnecessary.

BugzID: 28242

8 years agoMake changes_callback end request when limit=1
Benjamin Bastian [Fri, 13 Dec 2013 22:31:30 +0000 (14:31 -0800)] 
Make changes_callback end request when limit=1

Prior to this commit, the limit was hit when limit=0 by the first
changes_callback function clause. This makes maybe_finish end the
request when limit=1, so that it doesn't have to wait for another change
to end the request.

BugzID: 26166

8 years agoThis was a silly off-by-one error while counting
Paul J. Davis [Fri, 13 Dec 2013 20:38:23 +0000 (14:38 -0600)] 
This was a silly off-by-one error while counting

The start message doesn't count as a row so we don't want to adjust
Acc#acc.limit based on that message.

BugzId: 26165

8 years agoFix limit=N for non-admins by counting post-filter
Benjamin Bastian [Tue, 10 Dec 2013 21:50:00 +0000 (13:50 -0800)] 
Fix limit=N for non-admins by counting post-filter

Prior to this commit, the _db_updates endpoint would often return less
than N results for limit=N queries, even when there were N changes to
return. This was because the limiting was done by passing the limit
parameter to fabric:changes, which doesn't account for the per-user
filtering done in global_changes_httpd.

This commit adds explicit counting of the filtered changes in
global_changes_httpd and manually ends the request when N post-filter
changes have been seen.

BugzID: 25272

8 years agoFix changes API usage for new pending values
Paul J. Davis [Thu, 12 Dec 2013 18:33:50 +0000 (12:33 -0600)] 
Fix changes API usage for new pending values

BugzId: 26119

8 years agoset module version to 1
Robert Newson [Fri, 22 Nov 2013 16:54:32 +0000 (16:54 +0000)] 
set module version to 1

8 years agoFix heartbeat=true for db_updates feeds
Benjamin Bastian [Tue, 15 Oct 2013 18:50:07 +0000 (11:50 -0700)] 
Fix heartbeat=true for db_updates feeds

This commit fixes some bad case clause ordering. It'd match 'true' to a
variable when the variable should only either be false or a number.

BugzID: 24170

8 years agoAdd the initial version of the global_changes app.
Benjamin Bastian [Fri, 6 Sep 2013 01:33:38 +0000 (18:33 -0700)] 
Add the initial version of the global_changes app.

BugzID: 17681

8 years agoInitial commit.
Benjamin Bastian [Fri, 9 Aug 2013 12:47:35 +0000 (13:47 +0100)] 
Initial commit.