[ https://issues.apache.org/jira/browse/COUCHDB-2016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13862558#comment-13862558 ]
Jan Lehnardt commented on COUCHDB-2016: --------------------------------------- I talked this over a bit with [~rnewson]. Money quote: “<rnewson> so couchdb plugins are erlang applications that we have scripting to ease their integration into the couchdb release (and the inverse).” There are multiple issues intermingled here: 1. How to (un)install and start a CouchDB Plugin on an installation that uses Erlang Releases (BigCouch & rcouch & up)? 2. How to ensure a plugin gets installed into every node of a cluster? As for 1., Erlang Releases can be upgraded to newer versions while they are running. A plugin installation is simply an upgrade to a newer release. The difference from regular release updates is that these releases would be triggered by CouchDB itself (e.g. the couch_plugins application). We would have to figure out how to do version numbers in this case and everything else that retains Erlang Release semantics. 2. Installation of plugins should be done on each node separately. Once a plugin is installed on all nodes, the nodes can be upgraded as per 1. to activate the plugin. The API for this could disallow installation and upgrade if the cluster is in a unhealthy state. That way, we don’t have to worry about nodes that don’t receive an update instruction. Allowing this for unhealthy clusters could be tackled later, but is punted on for now. > Plugins meet BigCouch > --------------------- > > Key: COUCHDB-2016 > URL: https://issues.apache.org/jira/browse/COUCHDB-2016 > Project: CouchDB > Issue Type: New Feature > Components: Plugins > Reporter: Jan Lehnardt > > Currently Plugins don’t work with BigCouch. Two options that I can see so far: > 1. Find a way to dynamically install plugins into a cluster, surviving > offline nodes that get a delayed installation on recovery (or only allow > plugins into a fully online cluster). > 2. Make plugin building a static affair where plugins are installed with the > rest of CouchDB as an Erlang release and do not allow dynamic updates of apps. > I’d prefer 1, but any other options are welcome too. -- This message was sent by Atlassian JIRA (v6.1.5#6160)