Skip to content

Switch away from passing funs between nodes when uploading attachments#1393

Closed
nickva wants to merge 1 commit into
apache:masterfrom
cloudant:do-not-pass-funs-between-nodes
Closed

Switch away from passing funs between nodes when uploading attachments#1393
nickva wants to merge 1 commit into
apache:masterfrom
cloudant:do-not-pass-funs-between-nodes

Conversation

@nickva

@nickva nickva commented Jun 19, 2018

Copy link
Copy Markdown
Contributor

Passing closures around is fragile and prevents smooth upgrading. Instead pass
a tuple with a data from the receiver closure explicitly and convert to back to
a local fun locally on each node.

Config options [fabric] attachment_receiver_tuple controls how receivers are
encoded. To upgrade a cluster to use the new format, first upgrade all nodes to
the new code, then flip the value to true. In the future, the option and the
old closure handling code will be removed.

@wohali

wohali commented Jun 19, 2018

Copy link
Copy Markdown
Member

I can't review the code here, but I insist you add something to the documentation about this new flag, even if it's just in rel/overlay/etc/default.ini.

Speaking of which, I don't see any changes in this PR to that file 😞 ALL new config:get entries should be paired with a change to default.ini.

When we change the default value and remove the config option, we will need a big screaming warning in the upgrade docs that says rolling upgrades from older CouchDBs that have the value set to false will fail. (It might be worth describing exactly how those upgrades will fail, too.)

@nickva
nickva force-pushed the do-not-pass-funs-between-nodes branch from bb3db59 to d569d24 Compare June 19, 2018 19:39
@nickva

nickva commented Jun 19, 2018

Copy link
Copy Markdown
Contributor Author

@wohali sorry, this is still a WIP, forgot to mark it as such

Passing closures around is fragile and prevents smooth upgrading. Instead pass
a tuple with a data from the receiver closure explicitly and convert to back to
a local fun locally on each node.
@nickva
nickva force-pushed the do-not-pass-funs-between-nodes branch from d569d24 to 2419b22 Compare June 19, 2018 20:15
@nickva nickva closed this Jun 19, 2018
@nickva
nickva deleted the do-not-pass-funs-between-nodes branch June 19, 2018 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants