Skip to content
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

rethinkdb.net/deliver-result tries to conj to ex-info, which fails #199

Open
jwr opened this issue Jul 9, 2020 · 3 comments
Open

rethinkdb.net/deliver-result tries to conj to ex-info, which fails #199

jwr opened this issue Jul 9, 2020 · 3 comments

Comments

@jwr
Copy link
Contributor

jwr commented Jul 9, 2020

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.

@apa512
Copy link
Owner

apa512 commented Jul 9, 2020

Hi @jwr,

I don't remember any issues with the latest version. I just never got around to releasing it with RethinkDB shutting down and me no longer using it at work.

@jwr
Copy link
Contributor Author

jwr commented Jul 10, 2020

Thank you. I am considering building and switching to the current HEAD of clj-rethinkdb, just slightly worried about Cursor-related changes.

@apa512
Copy link
Owner

apa512 commented Jul 10, 2020

I'm pretty sure https://clojars.org/com.apa512/rethinkdb/versions/1.0.0-SNAPSHOT is up to date, but if it makes things easier I don't mind making it the proper non-SNAPSHOT version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants