]
Van Halbert moved JBEDSP-1016 to TEIIDDES-396:
----------------------------------------------
Project: Teiid Designer (was: JBoss Enterprise Data Services Platform)
Key: TEIIDDES-396 (was: JBEDSP-1016)
Component/s: (was: Designer)
Affects Version/s: (was: 5.5.3)
Move location for temporary VDB execution state from system temp
directory to somewhere under designer workspace
----------------------------------------------------------------------------------------------------------------
Key: TEIIDDES-396
URL:
https://jira.jboss.org/jira/browse/TEIIDDES-396
Project: Teiid Designer
Issue Type: Feature Request
Environment: 5.5SP3 0012
Reporter: Greg Haber
Assignee: Barry LaFond
Priority: Minor
Attachments: JBEDSP1016Exception.txt
When you execute a VDB in Designer, it puts some temporary files in the system temp
directory (on Linux /tmp), like the VDB indexes. Then it expects those files to be there
during the user's execution session.
Normally, this is OK, but system temp is not a completely stable place - it is common (on
both Windows and Linux) for administrators to periodically clean out this directory.
At one time, this cleaning job happened between when the VDB was executed and when the
user went to run a query against the VDB, they hit an exception(full text is attached):
Caused by: com.metamatrix.api.exception.MetaMatrixComponentException[0]:
com.metamatrix.modeler.core.ModelerCoreException[0]:
java.io.FileNotFoundException:
/tmp/1237418435308_6014702366987474810/runtime-inf/TABLES.INDEX (No
such file or directory)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
at
com.metamatrix.internal.core.index.SafeRandomAccessFile.<init>(SafeRandomAccessFile.java:23)
at
com.metamatrix.internal.core.index.BlocksIndexInput.open(BlocksIndexInput.java:216)
Now, it would be better to write these files to a private temp space for the user. In
fact we do this for Server by changing the java.io.tmp system property to $MM_TMP_DIR.
For Designer 5.5.x we can do the same (change java.io.tmpdir to a directory under the
user's workspace, where we know they can read/write), but looking forward to future
releases where Designer will run under existing Eclipse installations, changing
java.io.tmpdir for all of Eclipse (or mucking with JVM params in Eclipse so this only is
set for VDB execution?) may be a bad idea.
Now, I believe (but am not positive) that the location for these temp files is determined
by com.metamatrix.core.io.FileUrl, where it uses
http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html#createTempFile(...
to get a temp file in the system temp directory. We can easily change code here to
instead use
http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html#createTempFile(...
to have the temp file created in the directory of our choosing. We may also want to
change com.metamatrix.core.io.ZipFileUrl's use of this same method while we're at
it.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: