Martha Obrinteschi created CAMEL-7318:
-----------------------------------------

             Summary: Concurrency on HDFS Consumer not working efficiently
                 Key: CAMEL-7318
                 URL: https://issues.apache.org/jira/browse/CAMEL-7318
             Project: Camel
          Issue Type: Bug
          Components: camel-hdfs
    Affects Versions: 2.11.2
            Reporter: Martha Obrinteschi
            Priority: Minor


If we have two HDFS consumers the files are being processed twice (once by each 
consumer, waiting one after the other) so the consumers are not working in 
parallel. If we add this the consumers will work as a team and the transfer 
will go faster.

This happens because there is no exception thrown (the rename method just 
returns true or false and everything carries on as nothing would have happened 
:).

In order to fix this we could add in the HdfsInputStream: 49

boolean tf = info.getFileSystem().rename(new Path(ret.actualPath), new 
Path(ret.suffixedPath));
if (!tf) {
        throw new IOException("This exception is thrown because the rename did 
not succeded.");
        }

And also in the HdfsConsumer: 150
try {
     this.rwlock.writeLock().lock();
     this.istream = 
HdfsInputStream.createInputStream(fileStatuses[i].getPath().toString(), 
this.config);
} catch (IOException ioe) {
     log.info(ioe.getMessage()  + " If the rename fails we move on to the next 
file.");
     continue;
}

  





--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to