Re: Processing large files in Camel

2015-06-04 Thread Malolan raman
Hi Claus,

I am facing a similar kind of an issue while trying to consume larger files
in my application.

The parameters i have set for consuming the file
is 
delete=true&readLock=changed&readLockCheckInterval=5000&recursive=true&flatten=true&delay=1

Untill Linux version 5.7 when ever a file ftp in in progress from another
application, the camel component will wait for the ftp to be complete.
After we migrated to linux 5.9 with no change to our camel file poller and
no change to the options set above, the camel component starts consuming
files while ftp is in progress. this issue happens only with big files of
size more than 1GB.

Please give me some insight on how this issue can be handled.

Regards,

malolan


Re: Processing large files in Camel

2012-09-17 Thread gramanero
Hi Claus,

Thank you for the response. After someone hijacked my thread I deleted my
postings as I figured no one would respond. Plus, I figured out the
problem. You actually touched on the issue I discovered.

When I send the message to AMQ you are correct in that the entire file
content was being delivered to the queue. This is definitely not what I
wanted. Since the files are so large, at least for my test cases,
"something" was blowing up under the covers to cause the
java.lang.NullPointerException. My assumption is that due to the volume of
bytes being written to the queue either a timeout or some sort of buffer
overflow was happening, but the error was just manifesting itself in a
weird way (i.e. the java.lang.NullPointException). I would love to know the
actual problem, but in the end all I wanted to write to the queue was some
basic information about the file and NOT the entire file itself. Performing
a transform did the trick, so at this point I have things working as
suspected. Just had to hit my head against the desk a few times to figure
out what was going on.

Again, Thank you for your response. It is very much appreciated.

--Scott

On Sat, Sep 15, 2012 at 2:25 AM, Claus Ibsen-2 [via Camel] <
ml-node+s465427n5719403...@n5.nabble.com> wrote:

> Hi
>
> I suggest to take a moment to look more at the docs
> http://camel.apache.org/file2
>
> For example on that link there is a red box on top that talks about
> the issue of reading files which are currently being written by
> another process. There is a number of options you can configure to
> chose among. And if that don't suit you, you can implement your own
> custom read lock strategy.
>
> And for sending the "message" to AMQ you would need to do a message
> transformation so you don't send the entire file content with it, but
> only the meta-data you want. And in the format you want.
>
> See the EIP for that
> http://camel.apache.org/message-translator.html
>
> There is more EIPs here
> http://camel.apache.org/enterprise-integration-patterns.html
>
> And since you have to leave the files in place, you would have to
> consider at "what to do" in case the server is restarted.
> Then the previous "scanned" files may be picked up again. Is this
> okay, or do you need to keep "book" of  that.
> If so check out the idempotent consumer option on the file component,
> as well as the EIP
> http://camel.apache.org/idempotent-consumer.html
>
>
> On Fri, Sep 14, 2012 at 5:03 PM, gramanero <[hidden 
> email]>
> wrote:
>
> > I am attempting to understand how the Camel File/File2 component works
> as I
> > have a need to use this type of capability in an upcoming project.
> >
> > Goal: Write a Camel spring-based route that will detect files in a
> folder
> > structure, wait until the entire file has been written, and place an
> entry
> > onto an ActiveMQ queue that indicates the file name, path, and length,
> and
> > leave the file in place (i.e. do not let Camel move it to a .camel
> folder).
> >
> > Camel Route:
> > 
> >>
> uri="file:E:\NewDataReceived?recursive=true&maxMessagesPerPoll=500&noop=true&delay=6"/>
>
> >   
> > 
> >
> > Problem: For small files this route works as expected. For large files,
> I am
> > seeing a .camelLock file appear every N seconds (which corresponds to
> the
> > configured 'delay'setting) and then disappear. I am assuming that this
> is
> > Camel trying to get a read lock on the file, but I cannot find any docs
> on
> > this type of behavior. I am also guessing that it keeps appearing and
> > disappearing due to the file size?? The size of the files that I am
> dealing
> > with are anywhere from 7Gb and up. This may not be a realistic use case
> for
> > what we will be dealing with, but I want to verify that writing files
> will
> > only ever put an entry onto the queue once the file have been completely
> > written and not before.
> >
> > Camel version: Whatever is baked into apache-servicemix-4.4.1-fuse-03-06
> >
> > Any suggestions/help is greatly appreciated.
> >
> > Thank you.
> >
> >
> >
> >
> >
> > --
> > View this message in context:
> http://camel.465427.n5.nabble.com/Processing-large-files-in-Camel-tp5719376.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
>
> --
> Claus Ibsen
> -
> FuseSource
> Email: [hidden email]
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
>
>
> --
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://camel.465427.n5.nabble.com/Processing-large-files-in-Camel-tp5719376p5719403.html
>  To unsubscribe from Processing large files in Camel, click 
> here

Re: Processing large files in Camel

2012-09-14 Thread Claus Ibsen
Hi

I suggest to take a moment to look more at the docs
http://camel.apache.org/file2

For example on that link there is a red box on top that talks about
the issue of reading files which are currently being written by
another process. There is a number of options you can configure to
chose among. And if that don't suit you, you can implement your own
custom read lock strategy.

And for sending the "message" to AMQ you would need to do a message
transformation so you don't send the entire file content with it, but
only the meta-data you want. And in the format you want.

See the EIP for that
http://camel.apache.org/message-translator.html

There is more EIPs here
http://camel.apache.org/enterprise-integration-patterns.html

And since you have to leave the files in place, you would have to
consider at "what to do" in case the server is restarted.
Then the previous "scanned" files may be picked up again. Is this
okay, or do you need to keep "book" of  that.
If so check out the idempotent consumer option on the file component,
as well as the EIP
http://camel.apache.org/idempotent-consumer.html


On Fri, Sep 14, 2012 at 5:03 PM, gramanero  wrote:
> I am attempting to understand how the Camel File/File2 component works as I
> have a need to use this type of capability in an upcoming project.
>
> Goal: Write a Camel spring-based route that will detect files in a folder
> structure, wait until the entire file has been written, and place an entry
> onto an ActiveMQ queue that indicates the file name, path, and length, and
> leave the file in place (i.e. do not let Camel move it to a .camel folder).
>
> Camel Route:
> 
>uri="file:E:\NewDataReceived?recursive=true&maxMessagesPerPoll=500&noop=true&delay=6"/>
>   
> 
>
> Problem: For small files this route works as expected. For large files, I am
> seeing a .camelLock file appear every N seconds (which corresponds to the
> configured 'delay'setting) and then disappear. I am assuming that this is
> Camel trying to get a read lock on the file, but I cannot find any docs on
> this type of behavior. I am also guessing that it keeps appearing and
> disappearing due to the file size?? The size of the files that I am dealing
> with are anywhere from 7Gb and up. This may not be a realistic use case for
> what we will be dealing with, but I want to verify that writing files will
> only ever put an entry onto the queue once the file have been completely
> written and not before.
>
> Camel version: Whatever is baked into apache-servicemix-4.4.1-fuse-03-06
>
> Any suggestions/help is greatly appreciated.
>
> Thank you.
>
>
>
>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Processing-large-files-in-Camel-tp5719376.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen


Re: Processing large files in Camel

2012-09-14 Thread gramanero
I found this in the log as it relates to the issue with the .camelLock file.
Looks like there is a java.lang.NullPointerException being thrown. No clue
as to why this is happening though.


Fri Sep 14 2012 12:43:21 GMT-0400 (Eastern Daylight Time)   ERROR   Failed
delivery for exchangeId: ID-WMORMANS-7972-1346359758983-12-77. Exhausted
after delivery attempt: 1 caught: java.lang.NullPointerException
java.lang.NullPointerException: null

Fri Sep 14 2012 12:43:21 GMT-0400 (Eastern Daylight Time)   WARN
Rollback file
strategy:
org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@612a3291
for file:
GenericFile[E:\Publishing\NewDataReceived\ReferenceData\Ford\OEC.Publishing.Service.FileWatcher-7-19-2012.DMP]
  

Fri Sep 14 2012 12:43:20 GMT-0400 (Eastern Daylight Time)   INFO
ID-WMORMANS-7972-1346359758983-12-77 >>>
(publishing.dataWatchDog.FileReceived)
from(file://E:\Publishing\NewDataReceived?delay=6&maxMessagesPerPoll=500&recursive=true)
--> activemq://queue:data.received <<< Pattern:InOnly,
Headers:{CamelFileNameOnly=OEC.Publishing.Service.FileWatcher-7-19-2012.DMP,
breadcrumbId=ID-WMORMANS-7972-1346359758983-12-78,
CamelFileLength=7623493727,
CamelFileAbsolutePath=E:\Publishing\NewDataReceived\ReferenceData\Ford\OEC.Publishing.Service.FileWatcher-7-19-2012.DMP,
CamelFileRelativePath=ReferenceData\Ford\OEC.Publishing.Service.FileWatcher-7-19-2012.DMP,
CamelFilePath=E:\Publishing\NewDataReceived\ReferenceData\Ford\OEC.Publishing.Service.FileWatcher-7-19-2012.DMP,
CamelFileAbsolute=true,
CamelFileName=ReferenceData\Ford\OEC.Publishing.Service.FileWatcher-7-19-2012.DMP,
CamelFileLastModified=Thu Jul 19 16:02:52 EDT 2012,
CamelFileParent=E:\Publishing\NewDataReceived\ReferenceData\Ford},
BodyType:org.apache.camel.component.file.GenericFile, Body:[Body is file
based:
GenericFile[E:\Publishing\NewDataReceived\ReferenceData\Ford\OEC.Publishing.Service.FileWatcher-7-19-2012.DMP]]



--
View this message in context: 
http://camel.465427.n5.nabble.com/Processing-large-files-in-Camel-tp5719376p5719386.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Processing large files in Camel

2012-09-14 Thread gramanero
Sorry, once more piece of information...the appearing and disappearing of the
.camelLock file is continuous. It never stops unless I stop the route. Also,
I am running on Windows 7 O.S.



--
View this message in context: 
http://camel.465427.n5.nabble.com/Processing-large-files-in-Camel-tp5719376p5719378.html
Sent from the Camel - Users mailing list archive at Nabble.com.