cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Media not found exception but only on production environment

former_member754254
Discoverer
0 Likes
1,605

The requirement is customer uploads the pdf and submit, hybris will attach the pdf in email and send it to destined email address.

This exception occurs when trying to invoke getStreamFromMedia from modelservice

it is working properly in Local, Dev and Quality environments but not in producton environment.

Quality environment is cluster environment as same as Production environment but this flow is working properly in Quality

Strange thing is it works properly once in a while in production which means it can pick the pdf from the location available in media model but mostly file not found and media not found exception

i couldn't even debug the issue since its not occuring in any environments. Please help.

Files are present in the location where it couldn't find.

Error Logs

de.hybris.platform.servicelayer.media.NoDataAvailableException: de.hybris.platform.media.exceptions.MediaNotFoundException: Media not found (requested media location: ha8/he2/8903867891742.pdf) at de.hybris.platform.servicelayer.media.impl.DefaultMediaService.getStreamFromMedia(DefaultMediaService.java:274) at com.core.register.email.UploadPdfEmailWithAttachmentAction.executeAction(UploadPdfEmailWithAttachmentAction.java:102) at de.hybris.platform.processengine.action.AbstractSimpleDecisionAction.execute(AbstractSimpleDecisionAction.java:50) at de.hybris.platform.processengine.definition.ActionNode.execute(ActionNode.java:154) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.lambda$3(ProcessengineTaskRunner.java:169) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.lambda$8(ProcessengineTaskRunner.java:562) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.runProcessTask(ProcessengineTaskRunner.java:171) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.lambda$2(ProcessengineTaskRunner.java:112) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.lambda$9(ProcessengineTaskRunner.java:535) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.lambda$7(ProcessengineTaskRunner.java:532) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.runProcessTaskInTransaction(ProcessengineTaskRunner.java:112) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.lambda$1(ProcessengineTaskRunner.java:102) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.lambda$6(ProcessengineTaskRunner.java:503) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.doRun(ProcessengineTaskRunner.java:102) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.lambda$0(ProcessengineTaskRunner.java:90) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.lambda$5(ProcessengineTaskRunner.java:467) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.run(ProcessengineTaskRunner.java:90) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.run(ProcessengineTaskRunner.java:1) at de.hybris.platform.processengine.task.impl.ProcessengineTaskExecutionStrategy.run(ProcessengineTaskExecutionStrategy.java:30) at de.hybris.platform.task.impl.DefaultTaskService.processTask(DefaultTaskService.java:1612) at de.hybris.platform.task.impl.DefaultTaskService.process(DefaultTaskService.java:1516) at de.hybris.platform.task.impl.DefaultTaskService.processInTenant(DefaultTaskService.java:1485) at de.hybris.platform.task.impl.DefaultTaskService$5.run(DefaultTaskService.java:1363) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) at de.hybris.platform.core.threadregistry.RegistrableThread.internalRun(RegistrableThread.java:145) at de.hybris.platform.core.threadregistry.RegistrableThread.run(RegistrableThread.java:135) Caused by: de.hybris.platform.media.exceptions.MediaNotFoundException: Media not found (requested media location: ha8/he2/8903867891742.pdf) at de.hybris.platform.media.storage.impl.LocalFileMediaStorageStrategy.getAsStream(LocalFileMediaStorageStrategy.java:224) at de.hybris.platform.jalo.media.MediaManager$1.getStream(MediaManager.java:154) at de.hybris.platform.jalo.media.MediaManager.getMediaAsStream(MediaManager.java:370) at de.hybris.platform.jalo.media.MediaManager.getMediaAsStream(MediaManager.java:386) at de.hybris.platform.servicelayer.media.impl.DefaultMediaService.getStreamFromMedia(DefaultMediaService.java:270) ... 28 more Caused by: java.io.FileNotFoundException: /opt/hybris/persistent/data/media/sys_master/ha8/he2/8903867891742.pdf (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.<init>(FileInputStream.java:138) at de.hybris.platform.media.storage.impl.LocalFileMediaStorageStrategy.getAsStream(LocalFileMediaStorageStrategy.java:220) ... 32 more

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member754254
Discoverer
0 Likes

This issue has been resolved by myself.

Since it is a cluster environment,copying the created media from one node to another node took time, so i just delayed the email process for 5 mins.