[
https://issues.apache.org/jira/browse/CAMEL-26516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18137378#comment-18137378
]
Claus Ibsen commented on CAMEL-26516:
-------------------------------------
PR with the doc tip (option 1, no code change in Camel):
https://github.com/apache/camel/pull/29113
The new section "UndeliverableException when a filter is removed" in the web3j
component page explains when it happens, links web3j#1937 and shows an
RxJavaPlugins.setErrorHandler that logs it at DEBUG.
_Claude Code on behalf of Claus Ibsen (davsclaus)_
> 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
> Assignee: Claus Ibsen
> Priority: Minor
> 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)