-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix for #215 Anchors don't decode to the same pointer + Allowing recursive references #218
Conversation
af2aa62
to
f80922e
Compare
@vinzenz This is awesome work, thanks! +1 |
Nice work! We had to implement a quick and dirty patch similar to this to avoid the massive memory consumption that came from copied references. Much better to have upstream fixed. |
Signed-off-by: Vinzenz Feenstra <evilissmo@redhat.com>
…problems Signed-off-by: Vinzenz Feenstra <evilissmo@redhat.com>
Signed-off-by: Vinzenz Feenstra <evilissmo@redhat.com>
Signed-off-by: Vinzenz Feenstra <evilissmo@redhat.com>
Signed-off-by: Vinzenz Feenstra <evilissmo@redhat.com>
Signed-off-by: Vinzenz Feenstra <evilissmo@redhat.com>
Oh cool, I forgot about this! @vinzenz While it's still cool, now that we have the language in https://github.com/purpleidea/mgmt/ I actually don't know how important this is anymore. |
We need something along those lines, but this must wait for v3 as we need to take into account the new public visibility of intermediate state there. Closing this for the time being since it seems abandoned (our fault as we took too long). |
You can still fixup patch and merge it :) |
@purpleidea Please give me a hand. It took me a long time to go over this process and find time to work on v3 and fix all these longstanding issues which you're comfortably observing in your inbox. Please help me making sure we make v3 a success instead of pledging for even more work. |
For those interested on the underlying issue, please move over to #215. It remains open and will track the work once it happens on v3. |
@niemeyer I didn't know there was a v3 planned. Are there some design docs or an announce somewhere I can read about it and what needs doing? |
There shouldn't be any surprises for those following the project. Most of the changes have been previously discussed here in the repository, and many of them are things that we could not do without breaking compatibility promises. The major improvement is exposing an intermediate representation. |
This mainly is fixing Issue #215 however I have added at the same time support for recursive decoding, since those things should go basically hand in hand.
I took the liberty and rebased my changes on top of PR #210 because I can see that these changes would go the same way and would need a new parser as well. Therefore I added it on top of that.
Here is a test case where the new code comes into play: