Claus Ibsen created CAMEL-26516:
-----------------------------------

             Summary: camel-web3j - stopping a filter consumer reports an 
UndeliverableException when eth_uninstallFilter fails
                 Key: CAMEL-26516
                 URL: https://issues.apache.org/jira/browse/CAMEL-26516
             Project: Camel
          Issue Type: Bug
          Components: camel-web3j
            Reporter: Claus Ibsen
             Fix For: 4.24.0


Found while fixing CAMEL-26173 (bug 4 of that issue, not fixed there). When a 
consumer using a web3j filter (block, transaction or log observable) stops and 
the node fails {{eth_uninstallFilter}}, web3j's {{Filter.cancel()}} throws a 
{{FilterException}}. RxJava 2's {{CancellableDisposable}} hands it to 
{{RxJavaPlugins.onError}}, which reports an {{UndeliverableException}} (printed 
on stderr / to the global handler). {{dispose()}} itself does not throw, so 
Camel cannot catch it.

Options:
* ask web3j to log instead of throw in {{Filter.cancel()}} (preferred);
* install a JVM-wide RxJava error handler from camel-web3j when none is set 
(global side effect);
* implement the filter Flowables in Camel.

Recommendation: report it upstream to web3j and link the upstream issue here.

_Claude Code on behalf of Claus Ibsen (davsclaus)_



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to