[
https://issues.apache.org/jira/browse/FLUME-1289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13396582#comment-13396582
]
Mike Percy commented on FLUME-1289:
-----------------------------------
I think we are just swallowing some Exception that needs to be properly
surfaced. I don't think configure() is the answer here due to the way the code
is structured.
> HDFSEventSink doesn't log exception when config points to incorrect NN
> hostname
> -------------------------------------------------------------------------------
>
> Key: FLUME-1289
> URL: https://issues.apache.org/jira/browse/FLUME-1289
> Project: Flume
> Issue Type: Bug
> Components: Sinks+Sources
> Reporter: Mubarak Seyed
>
> It appears from test that if hdfs sink path points to incorrect {{NameNode}}
> hostname, there is no exception in log when {{BucketWriter}} append happens,
> there is no easy way to debug and correct the config file for hdfs path in
> hdfs sink.
> Looks like exception is eaten somewhere.
> Do we need to catch Exception here?
> {code}
> private static <T> T callWithTimeout(final ExecutorService executor,
> long timeout, final Callable<T> callable)
> throws IOException, InterruptedException {
> Future<T> future = executor.submit(callable);
> try {
> if (timeout > 0) {
> return future.get(timeout, TimeUnit.MILLISECONDS);
> } else {
> return future.get();
> }
> } catch (TimeoutException eT) {
> future.cancel(true);
> throw new IOException("Callable timed out", eT);
> } catch (ExecutionException e1) {
> Throwable cause = e1.getCause();
> if (cause instanceof IOException) {
> throw (IOException) cause;
> } else if (cause instanceof InterruptedException) {
> throw (InterruptedException) cause;
> } else if (cause instanceof RuntimeException) {
> throw (RuntimeException) cause;
> } else if (cause instanceof Error) {
> throw (Error)cause;
> } else {
> throw new RuntimeException(e1);
> }
> } catch (CancellationException ce) {
> throw new InterruptedException(
> "Blocked callable interrupted by rotation event");
> } catch (InterruptedException ex) {
> LOG.warn("Unexpected Exception " + ex.getMessage(), ex);
> throw ex;
> }
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira