Apache CouchDB

Clone this repo:
  1. 4aa1fc4 Merge remote-tracking branch 'cloudant/revert-default-value-for-max_write_delay' by Paul J. Davis · 2 years, 10 months ago master
  2. 8cf4896 Rollback change in default value for max_write_delay config by brkolla · 2 years, 10 months ago
  3. f6e4c56 Merge remote branch 'cloudant:3102-fix-return-value' by ILYA Khlopotov · 3 years, 3 months ago
  4. e984486 Return {ok, State} from handle_config_change/5 by ILYA Khlopotov · 3 years, 3 months ago
  5. 68c6a0e use shard suffix when generating _changes ETag by Robert Newson · 3 years, 3 months ago

global_changes

This app supplies the functionality for the /_db_updates endpoint.

When a database is created, deleted, or updated, a corresponding event will be persisted to disk (Note: This was designed without the guarantee that a DB event will be persisted or ever occur in the _db_updates feed. It probably will, but it isn't guaranteed). Users can subscribe to a _changes-like feed of these database events by querying the _db_updates endpoint.

When an admin user queries the /_db_updates endpoint, they will see the account name associated with the DB update as well as update

Captured Metrics

1: global_changes, db_writes: The number of doc updates caused by global_changes.

2: global_changes, server_pending_updates: The number of documents aggregated into the pending write batch.

3: global_changes, listener_pending_updates: The number of documents aggregated into the pending event batch.

4: global_changes, event_doc_conflict: The number of rev tree branches in event docs encountered by global_changes. Should never happen.

5: global_changes, rpcs: The number of non-fabric RPCs caused by global_changes.

Important Configs

1: global_changes, max_event_delay: (integer, milliseconds) The total timed added before an event is forwarded to the writer.

2: global_changes, max_write_delay: (integer, milliseconds) The time added before an event is sent to disk.

3: global_changes, update_db: (true/false) A flag setting whether to update the global_changes database. If false, changes will be lost and there will be no performance impact of global_changes on the cluster.