Issue #17074 has been updated by Charlie Sharpsteen.

Redmine Issue [#17074](http://projects.puppetlabs.com/issues/17074) has been 
migrated to JIRA:

  <https://tickets.puppetlabs.com/browse/MCO-60>


----------------------------------------
Bug #17074: Use JSON for all serialization
https://projects.puppetlabs.com/issues/17074#change-101442

* Author: R.I. Pienaar
* Status: Accepted
* Priority: Normal
* Assignee: 
* Category: Backlog
* Target version: 
* Keywords: backlog
* Branch: 
* Affected mCollective version: 
----------------------------------------
Today mcollective use YAML or Marshal for serialization because:

 * It's in all Rubies
 * It supports complex data types
 * The protocol uses symbols

This is not portable, it is roughly impossible to support other languages on 
the mcollective protocol because this choice effectively makes it Ruby specific.

We have ages ago vendored a JSON gem that works on older RHEL systems so we 
should consider doing everything with JSON.

A few problems:

 * today there are users who transport complex ruby types using mcollective, 
this works due to the choice of yaml/marshal as serialization and we will 
effectively downgrade mcollective if we support pure JSON.
 * the protocol has to change and this will break backwards compat unless we 
add some magical handling for strings and symbols ala the mash gem.



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to