-
Notifications
You must be signed in to change notification settings - Fork 40
Description
It would seem that I am the only user of clj-rethinkdb — if so, this issue is not really a bug report, but rather a request for comments.
I've spent some time today trying to debug why I wasn't able to process changefeed exceptions.
I had this in the logs:
Jul 09, 2020 3:28:23 PM clojure.tools.logging$eval138$fn__143 invoke
SEVERE: #error {
:cause RethinkDB server: Changefeed aborted (unavailable).
:data {:type :op-failed, :response {:t 18, :e 4100000, :r [Changefeed aborted (unavailable).], :b []}}
:via
[{:type clojure.lang.ExceptionInfo
:message RethinkDB server: Changefeed aborted (unavailable).
:data {:type :op-failed, :response {:t 18, :e 4100000, :r [Changefeed aborted (unavailable).], :b []}}
:at [rethinkdb.net$make_rethink_exception invokeStatic net.clj 29]}]
:trace
[[rethinkdb.net$make_rethink_exception invokeStatic net.clj 29]
[rethinkdb.net$make_rethink_exception invoke net.clj 28]
[rethinkdb.net$handle_response invokeStatic net.clj 119]
[rethinkdb.net$handle_response invoke net.clj 93]
[rethinkdb.net$setup_consumer$fn__23980 invoke net.clj 135]
closely followed by:
Jul 09, 2020 3:28:23 PM clojure.tools.logging$eval138$fn__143 invoke
SEVERE: error in stream handler
java.lang.ClassCastException: clojure.lang.ExceptionInfo cannot be cast to clojure.lang.IPersistentCollection
at clojure.core$conj__5390.invokeStatic(core.clj:82)
at clojure.core$conj__5390.invoke(core.clj:82)
at rethinkdb.net$deliver_result.invokeStatic(net.clj:79)
at rethinkdb.net$deliver_result.invoke(net.clj:75)
at rethinkdb.net$handle_response.invokeStatic(net.clj:118)
at rethinkdb.net$handle_response.invoke(net.clj:93)
at rethinkdb.net$setup_consumer$fn__23980.invoke(net.clj:135)
I stared and the code on GitHub and line numbers didn't match, and the whole thing didn't make sense. Until I realized that the code I'm running is different from GH master. It seems that 0.15.26 was released way back in 2016, and all the changes since then have never been released, including a fix for the conj above.
Before I do anything else, I thought I'd ask — @apa512, are there reasons for not releasing anything after 0.15.26? Is the code considered risky or experimental?
As it is, 0.15.26 is unable to deliver any exception created in handle-response, because the conj in deliver-result will fail.