Skip to main content
Announcements
SYSTEM MAINTENANCE: Thurs., Sept. 19, 1 AM ET, Platform will be unavailable for approx. 60 minutes.
cancel
Showing results for 
Search instead for 
Did you mean: 
solquest
Contributor
Contributor

tFileFetch Thumbnail cannot be generated on the fly

Hey there.

I have a job for getting products' images url from xml files, for fetching them and then for uploading to S3.

In one case I get this error in the fetching part:

Exception in component tFileFetch_3 (ProductsImages)

java.lang.Exception: Method failed: HTTP/1.1 409 Thumbnail cannot be generated on the fly for asset(id: 9iBn2rnqq8G924MJvaky36, path: /INTERLACED/PUBLIC/PRODUCTS/8056300956327-1.png, v=1, c=2, p=1).

   at mio.productsimages_0_1.ProductsImages.tFileFetch_3Process(ProductsImages.java:7927)

   at mio.productsimages_0_1.ProductsImages.tFileInputDelimited_3Process(ProductsImages.java:6089)

   at mio.productsimages_0_1.ProductsImages.tFileInputXML_1Process(ProductsImages.java:5135)

   at mio.productsimages_0_1.ProductsImages.tS3Connection_1Process(ProductsImages.java:1432)

   at mio.productsimages_0_1.ProductsImages.tJava_2Process(ProductsImages.java:1287)

   at mio.productsimages_0_1.ProductsImages.runJobInTOS(ProductsImages.java:11651)

   at mio.productsimages_0_1.ProductsImages.main(ProductsImages.java:11283)

while the rest of the products are fine.

Can anyone tell me what I should check?

In tFileFetch_3 component I have

protocol = https,

URI = ((String)globalMap.get("planogramThumbnailUrl"))

Destination directory = context.workingDir + "/tmp/output/"+context.imagesFileName+"/img"

Destination filename = globalMap.get("imgName") + "_thumb_" + globalMap.get("planogramThumbnailProgr") + ".jpg"

and all other flags unchecked apart from Die on error,

while in Advance tab I have timeout = 30000 and all other flags unchecked

Thanks.

Labels (2)
8 Replies
gjeremy1617088143

Hi, the file is .png and you want To fetch it in .jpg . Are the other images you try to fetch are jpg or png ?

Send me love and kudos

solquest
Contributor
Contributor
Author

Well, in the thumbnail URI I'm receiving I have '..._8056300956327-1_thumb.jpg?...' but actually when trying to open it I get the error "The requested resource is not available in its current state.", so it definitely looks like a problem of the image itself.

I wonder if there's a way for detecting this issue before entering tFileFetch_3, for avoiding to receive an error and stop the job...

Thanks!

solquest
Contributor
Contributor
Author

I've tried to uncheck Die on error on tFileFetch_3 and to do:

tFileFetch_3 -> OnComponentError -> tJava for writing a message in a log file, but seems it's never going there, not even for those images that were killing the job...

And the same thing when using OnSubjobError

What am I missing?

gjeremy1617088143

Hi solquest, when you uncheck Die on error in your tFileFetch component , is your exception is visible on the console ? If yes you can use a tlogcatcher to catch java exception.

solquest
Contributor
Contributor
Author

Thanks!

With

tFileFetch_3 -> OnComponentOK -> tlogCatcher -> Main -> tJava

I managed to write those error in a separate log file.

Thanks for helping.

gjeremy1617088143

You dont have to Link tfilefetch to tlogcatcher , tlogcatcher is an entry component link only his output. Tlogcatcher catch all log of your job : info, error,fatal error, java exception etc

solquest
Contributor
Contributor
Author

Even easier then.

Thanks again!

solquest
Contributor
Contributor
Author

Hmmm, I've just tried, but seems that tLogCatcher is catching things only if I have set Die on error:

 

In job Stats & log I have Use logs (tLogCatcher) = true, On Console = true, Catch runtime errors = true, Catch user errors = true, Catch user warnings = true.

I've set tLogCatcher -> Main -> tLogRow (table) without any input on tLogCatcher and I don't have that table in logs (but there I have the error

java.lang.Exception: Method failed: HTTP/1.1 409 Thumbnail cannot be generated on the fly for asset(id: 8_gKCQsp4P9A7Ss9y_miDF, path:)

 

If I set Die on error = true in tFileFetch component, I get the table in log:tLogRow_1                                                                                                                                                                 |

|=------------------+------+--------+----------+-------+---------------------+-------+--------+--------------+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---=|

|moment            |pid  |root_pid|father_pid|project|job                 |context|priority|type         |origin     |message                                                                                                                                                                                                     |code|

|=------------------+------+--------+----------+-------+---------------------+-------+--------+--------------+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---=|

|2021-04-05 01:30:47|zhkpDI|zhkpDI |zhkpDI   |ProductsImages|Local |6      |Java Exception|tFileFetch|java.lang.Exception:Method failed: HTTP/1.1 409 Thumbnail cannot be generated on the fly for asset(id: 9iBn2rnqq8G924MJvaky36, path: /INTERLACED/PUBLIC/PRODOTTI/80560956327-1.png, v=1, c=2, p=1).|1  |

 

But in this way I can't catch all the errors, cause job stops at first one.

 

I've tried printing ((String)globalMap.get("tFileFetch_ERROR_MESSAGE")), but again is null unless Die on error is true.

What can I do for saving all the errors messages (so with Die on error = false)?

 

Thanks.