couchdb-global-changes.git
7 years agoFix race condition by relying on admin only windsor-merge
Paul J. Davis [Fri, 22 Aug 2014 10:05:59 +0000 (05:05 -0500)] 
Fix race condition by relying on admin only

Since we no longer have to worry about filtering for users we can let
fabric take care of the underlying limit implementation for now. Without
this there's a race condition where fabric will wait for Timeout seconds
before actually stopping. Any activity in that window will be sent
through the callback and forwarded on to clients. There's probably a way
to fix that but my brain isn't working so well right now.

7 years agoUpdate to use couch_stats
Paul J. Davis [Thu, 21 Aug 2014 06:56:48 +0000 (01:56 -0500)] 
Update to use couch_stats

7 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.

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

7 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

7 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

7 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

7 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

7 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

7 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

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

7 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

7 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

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