JPPF Issue Tracker
star_faded.png
Please log in to bookmark issues
bug_report_small.png
CLOSED  Bug report JPPF-105  -  Temporary files disappear when setting a large MemoryMapDataProvider as data provider in a JPPFJob
Posted Dec 18, 2012 - updated Oct 26, 2014
icon_info.png This issue has been closed with status "Closed" and resolution "RESOLVED".
Issue details
  • Type of issue
    Bug report
  • Status
     
    Closed
  • Assigned to
     lolo4j
  • Progress
       
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
  • Posted by
     knife98
  • Owned by
    Not owned by anyone
  • Category
    Core
  • Resolution
    RESOLVED
  • Priority
    High
  • Reproducability
    Not determined
  • Severity
    Normal
  • Targetted for
    icon_milestones.png JPPF 3.2.1
Issue description
The problem arises when a large MemoryMapDataProvider (>2Gb. In my case) is set in a JPPFJob as data provider with long running task. Basically, the JPPF driver fails to find the JPPFJob associated file , as a result it does not assign the job to a node. Furthermore, the driver drops the connection with the node. This is the exception thrown by the JPPF driver:
2012-12-18 11:48:26,021 [DEBUG][org.jppf.server.protocol.ServerTaskBundleNode.taskCompleted(198)]: received exception for ServerTaskBundleNode[name=BinaryRelevanceJob 5 Counter: 0, uuid=null, initialTaskCount=6, taskCount=6, requeued=true, cancelled=false] : java.lang.Exception: java.io.FileNotFoundException: /tmp/jppf5419575781347962408.tmp (No such file or directory)
	at org.jppf.server.nio.nodeserver.AbstractNodeContext.handleException(AbstractNodeContext.java:196)
	at org.jppf.server.nio.StateTransitionTask.run(StateTransitionTask.java:94)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:679)
Caused by: java.io.FileNotFoundException: /tmp/jppf5419575781347962408.tmp (No such file or directory)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:137)
	at java.io.FileInputStream.<init>(FileInputStream.java:96)
	at org.jppf.io.FileDataLocation.transferTo(FileDataLocation.java:242)
	at org.jppf.server.nio.PlainNioObject.write(PlainNioObject.java:118)
	at org.jppf.server.nio.AbstractNioMessage.writeNextObject(AbstractNioMessage.java:201)
	at org.jppf.server.nio.AbstractNioMessage.write(AbstractNioMessage.java:128)
	at org.jppf.server.nio.nodeserver.AbstractNodeContext.writeMessage(AbstractNodeContext.java:248)
	at org.jppf.server.nio.nodeserver.SendingBundleState.performTransition(SendingBundleState.java:94)
	at org.jppf.server.nio.nodeserver.SendingBundleState.performTransition(SendingBundleState.java:33)
	at org.jppf.server.nio.StateTransitionTask.run(StateTransitionTask.java:82)
	... 6 more
Particularly, I am creating 10 JPPFJobs that uses this kind of data providers. This jobs' task might take to execute as long as 4 hours. This is important because when the task are short (<2 mins), the bug does not happen. The driver is running in a dedicated server with 8Gb. of RAM and 6-core AMD processor. The nodes are running in 6 nodes with a similar configuration. Operative system: Ubuntu 11.10 64 bits. Java Version: java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.4) (6b22-1.10.4-0ubuntu1~11.04.2) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

Steps to reproduce this issue
The following link contains a JUnit test case that can reproduce the issue as well as a patch. Patch+TestCase

#3
Comment posted by
 lolo4j
Dec 20, 07:36
Hi Juan Manuel,

It seems the file pointed to by the link is somehow corrupted. I'm able to extract the .tar from the gzip file, but I cannot extract the files in the .tar. Could you please compress the files again and attached the resulting archive to thsi bug report?

Thanks,

-Laurent
#6
Comment posted by
 lolo4j
Dec 20, 09:14
A file was uploaded. Reproducing JUnit test caseicon_open_new.png This comment was attached:

This test case reproduces the FileNotFoundException on the temporary file, before any fix is implemented.
#8
Comment posted by
 lolo4j
Dec 20, 10:13
Fix committed to SVN:

The issue was updated with the following change(s):
  • This issue has been closed
  • The status has been updated, from New to Closed.
  • This issue's progression has been updated to 100 percent completed.
  • The resolution has been updated, from Not determined to RESOLVED.
  • Information about the user working on this issue has been changed, from lolo4j to Not being worked on.