Maciej Zerkowski created FOP-2561:
-------------------------------------
Summary: Multithreaded FOP conserve memory failure
Key: FOP-2561
URL: https://issues.apache.org/jira/browse/FOP-2561
Project: FOP
Issue Type: Bug
Affects Versions: 2.0
Reporter: Maciej Zerkowski
Priority: Critical
Hi Guys,
I'm dealing with really large data so using conserve memory flag as below
{code}
foUserAgent.setConserveMemoryPolicy(true);
{code}
But it seems that in multithreaded mode all of the threads use the same default
location set by the resolver:
{code}
CachedRenderPagesModel.class: tempBaseURI = TEMP_URI_GENERATOR.generate();
So I can see in the logs:
...
Delegating to default resolver for uri: tmp:/fop-page-873.ser
...
{code}
But in multithreaded configuration I'm getting the below exception:
{code}
13:59:53.334 [task-scheduler-4] ERROR org.apache.fop.apps.FOUserAgent- Error
while serializing page 4. Reason: java.io.IOException:
/tmp/fop-page-3.ser2704106194054979958.fop.tmp has been already created for
/fop-page-3.ser
java.io.IOException: /tmp/fop-page-3.ser2704106194054979958.fop.tmp has been
already created for /fop-page-3.ser
at
org.apache.fop.apps.io.ResourceResolverFactory$DefaultTempResourceResolver.createTempFile(ResourceResolverFactory.java:187)
~[fop-2.0.jar!/:na]
at
org.apache.fop.apps.io.ResourceResolverFactory$DefaultTempResourceResolver.getOutputStream(ResourceResolverFactory.java:199)
~[fop-2.0.jar!/:na]
at
org.apache.fop.apps.io.ResourceResolverFactory$TempAwareResourceResolver.getOutputStream(ResourceResolverFactory.java:159)
~[fop-2.0.jar!/:na]
at
org.apache.fop.apps.io.ResourceResolverFactory$DefaultResourceResolver.getOutputStream(ResourceResolverFactory.java:126)
~[fop-2.0.jar!/:na]
at com.xxxxxxx.fop.XXXXXX.getOutputStream(XXXXXX.java:87)
~[xxx.jar!/:na]
at
org.apache.fop.apps.io.InternalResourceResolver.getOutputStream(InternalResourceResolver.java:103)
~[fop-2.0.jar!/:na]
at
org.apache.fop.area.CachedRenderPagesModel.savePage(CachedRenderPagesModel.java:128)
[fop-2.0.jar!/:na]
at
org.apache.fop.area.CachedRenderPagesModel.checkPreparedPages(CachedRenderPagesModel.java:110)
[fop-2.0.jar!/:na]
at
org.apache.fop.area.RenderPagesModel.addPage(RenderPagesModel.java:146)
[fop-2.0.jar!/:na]
{code}
Can you please advise if there is a way to maybe configure it for multithreaded
mode - maybe I'm missing something? How to make this tmp files unique...
Or it is rather a bug?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)