hashicorp / go-plugin

Golang plugin system over RPC.
Mozilla Public License 2.0
5.25k stars 450 forks source link

Preserve log keys order #267

Open oshirohugo opened 1 year ago

oshirohugo commented 1 year ago

This pull request aims to preserve the log keys' order provided by the plugin.

Currently, the host unmarshalls the logs emitted by the plugin into a map and uses its keys to create an output that is passed to the host logger. However, the order of the map keys is non-deterministic, resulting in a non-deterministic keys order passed to the host logger.

To address this issue, this pull request extracts the keys in an ordered manner and adds unit tests to ensure that the produced output preserves the order.

This PR solves https://github.com/hashicorp/go-plugin/issues/266

hashicorp-cla commented 1 year ago

CLA assistant check
All committers have signed the CLA.

oshirohugo commented 1 year ago

@fairclothjm would you take a look at this one at you availability? :D