It does no good to anyone, anywhere and is creating race conditions when using the stack in a multi-tenant fashion.
Signed-off-by: quobix <dave@quobix.com>
The channel is used by vacuum and the validator, it is required for schema validation. but it also slows things down considerably when done synchronously. I have moved this code back to async, it cuts parsing time in half for vaccum, and restores super speed.
Signed-off-by: quobix <dave@quobix.com>
Now the original indention is captured and string delimiters are retained when rendering out documents.
Signed-off-by: Dave Shanley <dave@quobix.com>
# fixes 106
The issue lay with the `ExtractSpecInfo()` method from within the `datamodel` module. There is a round of parsing that happens in another thread inside there, and a notification is pumped down a channel once done. The pronlem is that nothing was listening on that channel, so everything in those threads just kept piling up with the garbage collector unable to free any of it.
This simple method gives the low API a super powerful and simple way to mutate the value of any node, which is then reflected in the root node, can than be serialized again and, voila! now our spec is editable.
working with k8s, stripe, petstore and locals. Speed is as good as I can make it at this point, not without further performance tunupes for memory consumption. less copying everywhere.