-
Notifications
You must be signed in to change notification settings - Fork 583
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
Avro Compact Format #1213
Avro Compact Format #1213
Conversation
e6020d6
to
c74889f
Compare
@duglin I've had a negative contributor experience with this PR:
This has resulted in a messy PR very unlike my usual work. |
Signing is a commit-level thing, so the DCO checker needs to check each commit. One option is to Not sure what to say about conflicts - that's just part of a collaborative tool like git and I don't see how someone can avoid it if there are busy files. One thing I found helpful is to rebase often. On the positive side, since we only (usually) merge PRs once a week, rebasing shouldn't be needed more than that. |
I've traced the cause of the conflict. The instruction for fixing the DCO check are wrong. You cannot push using |
@duglin open questions: Existing event formats loose type information ( It is not clear if the HTTP formats support this, but I'm not sure how they would. Say you head custom context attribute that was Given how common the Avro Turbo chooses performance over complexity. Supporting these types is For My Java implementation is 126 lines long.
It is a full order of magnitude smaller. This is achieved by keenly eschewing complexity. Less code means less bugs. I don't want to make implementing it harder and more buggy than needed. @pierDipi is v3x of the Java SDK backwards incompatible with v2.x? If that is the case, then I'll put this work on hold because we will not have resource to do a version upgrade anytime in the next 3-6 months. |
In v3, there will be a few breaking changes (current list of breaking changes), however, avro-turbo will be a new module, so we can backport it for a 2.x release |
I think I understand how avro loses precision on "time", but how does JSON lose URI type info? Do you mean because it's just a string and there's no way to know if
Everything is converted to a string. You need to know what the extension's spec-defined type is to know how to deserialize it back to the right type.
I'm not sure what you mean by this one.
Is there a question here? It seems to me that if people choose to use Avro then they're accepting the limitations you've mentioned to gain performance. |
Thank you. You answered my questions (even if not intentionally).
|
@alexec is this one ready for final review? |
ready for review |
Discussed on the 6/15 call and the general direction looks good. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with the suggestion to rename this to "compact" - I'm happy to do that in an extra commit in this PR if you'd like, so that we're not adding work for you.
Other than that:
- One wording nitpick which can be addressed later
- One question about type differentiation for String/URI/URI-Ref
- One suggested renaming
"default": null | ||
}, | ||
{ | ||
"name": "attributes", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps this should be extensionattributes or extensions? (The other values are all attributes too, apart from data.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't feel strongly - @clemensv _
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed to “extensions”
I've renamed this to "Avro Compact" because 3 of us preferred that. |
|
can you rebase? There's a conflict on the SDK.md |
there is always a conflict with that file, I'll fix conflicts once approved |
I fixed the rebase for you so we can have the checker do it's job |
Signed-off-by: Alex Collins <[email protected]> ok Signed-off-by: Alex Collins <[email protected]> Update cloudevents-turbo.avsc Signed-off-by: Alex Collins <[email protected]> Update avro-format.md Signed-off-by: Alex Collins <[email protected]> turbo -> compact Signed-off-by: Alex Collins <[email protected]> turbo -> compact Signed-off-by: Alex Collins <[email protected]> turbo -> compact Signed-off-by: Alex Collins <[email protected]>
I also added a change to the primer since the Adobe docs moved. Might as well just reuse this PR. Now the only failing check is an ok one. |
@alexec sorry for the late notice, but I just realized that for consistency I think you should put the new spec into: cloudevents/working-drafts dir, like we did for XML. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor tweak ....
Signed-off-by: Alex Collins <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ping @clemensv for the naming of "attributes" vs "extensions" for the map of extension attributes. I'd personally like to see that resolved before merging. One new thing I've noticed as well around nullability... but we're getting there :)
Signed-off-by: Alex Collins <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for being patient with us :)
@alexec can you please move the new spec into the cloudevents/working-drafts dir? |
Signed-off-by: Alex Collins <[email protected]>
@alexec couple of bad refs now:
actually, I think the first one is supposed to fail but it needs to point to "working-drafts" instead of "formats". The other 2 probably need the files moved to the working-drafts dir |
Signed-off-by: Alex Collins <[email protected]>
@alexec thanks - merging as it was approved during last week's call. |
No description provided.