This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-03-29
Channels
- # announcements (7)
- # asami (13)
- # babashka (22)
- # beginners (52)
- # calva (95)
- # clj-kondo (14)
- # cljs-dev (7)
- # clojars (5)
- # clojure (94)
- # clojure-austin (5)
- # clojure-dev (15)
- # clojure-europe (25)
- # clojure-nl (18)
- # clojure-uk (15)
- # clojuredesign-podcast (28)
- # clojurescript (63)
- # copenhagen-clojurians (1)
- # cursive (3)
- # datalevin (7)
- # datascript (13)
- # datomic (13)
- # duct (14)
- # emacs (24)
- # events (1)
- # fulcro (13)
- # graphql (7)
- # kaocha (4)
- # lambdaisland (6)
- # lsp (22)
- # music (5)
- # off-topic (24)
- # rdf (1)
- # re-frame (3)
- # reitit (9)
- # shadow-cljs (23)
- # sql (15)
- # testing (4)
- # tools-build (6)
- # vim (7)
- # vscode (7)
- # xtdb (21)
I just found a problem with Keyword deserialization (via Quartz) after upgrade to clojure 1.11.0: https://ask.clojure.org/index.php/11699/deserializing-upgrading-clojure-invalidclassexception Does anyone else noticed the same issue? Am I doing something wrong here?
@jumar Perhaps you're hitting the same issue as https://clojurians.slack.com/archives/C03S1KBA2/p1648037414353039 ?
Also posted here: https://ask.clojure.org/index.php/11658/clj-uuid-v5-uuids-inconsistent-after-clojure-1-11-0
@U04V15CAJ thanks for the link. I unfortunately expected something like this: > We do not guarantee binary serializability of Clojure objects between releases so the expectation here that these would be identical is incorrect. I'm still wondering why the Clojure classes, notably Keyword.java, don't provide custom serialVersionUID since it's a best practice and easy to update if things change in backward incompatible manner (which they didn't in this case).
Talk to @U064X3EF3 :)
I wonder why these problems appear after there have been several pre-releases. Not to blame you, but it would surely be a lot easier if these problems were caught and discussed pre-release. This change was already available September 2021.
@jumar I am working on addressing that in 1.12, but this has been the case approx forever
Yeah, I could do a better job with this - I typically don't test pre-releases on our production app only on my hobby projects Even with this, it was an edge case only caught by a manual tester.
I see, thanks 🙂 A silly request: could it be mentioned in release notes that this can break - or is it just too much to repeat this every time?
@jumar There is a reason we've run prerelease builds in production dating back to 1.3 alpha builds in 2011 🙂
I will be honest and say that I have always shied away from binary serialization formats, in favor of text or near-text (that doesn't depend on versioning), for exactly this sort of reason. I think I got burned back in the '90s with C++-based stuff and never trusted it again 😕
Having worked on Clojure since 1.6 and this is the first time I've seen people run into these serialization expectations. Although maybe it's because we rarely change types like Keyword
Yeah, it haven't changed for several years before that. At least, now I learned a lesson :)
I am still in the process of assessment on this