absurdfarce commented on PR #1918:
URL:
https://github.com/apache/cassandra-java-driver/pull/1918#issuecomment-1997947155
Closing this out, will address in CASSANDRA-19468
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and
absurdfarce closed pull request #1918: Correction of exception handling in
asynchronous programming
URL: https://github.com/apache/cassandra-java-driver/pull/1918
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL
absurdfarce commented on PR #1918:
URL:
https://github.com/apache/cassandra-java-driver/pull/1918#issuecomment-1996093338
Ah, okay, I see your fundamental point @vararo27. I got confused myself by
the sequence of CompletionStages at play there but you're correct; what really
matters in
vararo27 commented on PR #1918:
URL:
https://github.com/apache/cassandra-java-driver/pull/1918#issuecomment-1994959017
Yes, agreed that it will never reach thenApplyAsync() and subsequent
whenComplete(). Basically, exception thrown by
schemaQueriesFactory.newInstance() reference is lost
absurdfarce commented on PR #1918:
URL:
https://github.com/apache/cassandra-java-driver/pull/1918#issuecomment-1994643967
I think we're talking about different whenComplete() blocks. The
newInstance() call throws an exception inside the whenComplete block that
starts with this code:
vararo27 commented on PR #1918:
URL:
https://github.com/apache/cassandra-java-driver/pull/1918#issuecomment-1993839304
Actually, exception thrown by below line will not move to the whenComplete
block following that. Basically, problem is that we have logic and exception
thrown outside of
absurdfarce commented on PR #1918:
URL:
https://github.com/apache/cassandra-java-driver/pull/1918#issuecomment-1992441145
For reference the code in question can be found
vararo27 opened a new pull request, #1918:
URL: https://github.com/apache/cassandra-java-driver/pull/1918
An exception is thrown from DefaultSchemaQueriesFactory.java (newInstance
method) when Control connection goes down for any reason and new connection has
not yet initialized yet.