Shared Client Side 'TMP' Directory Causes EDQ Director to Crash on Unix (Client) Systems
(Doc ID 2217187.1)
Last updated on JULY 20, 2020
Applies to:
Oracle Enterprise Data Quality - Version 12.2.1.1.0 and laterInformation in this document applies to any platform.
***Current as of 17-Jul-2020***
Symptoms
EDQ UI clients need to store local data on the client system. This is used for both persistent caches (processor library) and temporary jar storage (blueprints & database connectors).
A unique location within the Java temporary directory is used. On a Windows client platform, the Java temporary directory is located within the per-user AppData area. On a Unix client platform the Java temporary directory is /tmp (or /var/tmp), which is shared among all users.
On Unix the cache and blueprints directories are located within a directory which includes the current user name, so will not be shared among different users. Unfortunately, the database connector storage does not use this directory and instead uses a common directory in /tmp. This shared directory is created by the first user to run a client; if a different user on the
system runs a client they will not be able to write to the directory. Errors like:
...are seen in the Java console and the EDQ Director will crash when opening a project which uses any of the affected connectors. This is the error seen in the client:
com.datanomic.utils.transport.http.HTTPTransport.sendToServer(HTTPTransport.ja va:148) at
com.datanomic.utils.transport.http.HTTPTransport.doInvoke(HTTPTransport.java:88) at
com.datanomic.utils.transport.http.HTTPTransport.invokeThrowExceptions(HTTPTransport.java:201)
at com.datanomic.utils.transport.StubHandler.invoke(StubHandler.java:61)
at com.sun.proxy.$Proxy26.find(Unknown Source)at
com.datanomic.director.dbsupport.xstore.cache.XTreeCache.load(XTreeCache.java:91) at
com.datanomic.director.dbsupport.xstore.cache.XTreeBank.verifyCache(XTreeBank.java:250) at
com.datanomic.director.projectbrowser.model.AssetSetTreeNode.load(AssetSetTree Node.java:176) at
com.datanomic.director.projectbrowser.model.ProjectBrowserTreeModel$Loader.construct(ProjectBrowserTreeModel.java:602)
at com.datanomic.director.guihelper.SwingChore.run(SwingChore.java:265) at
com.datanomic.utils.blueprints.ui.chores.ChoreMaster$Runner.run(ChoreMaster.java:412) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: database species "magicuserinfo" not found at
com.datanomic.utils.databasespecies.DatabaseMaterializers.hunt(DatabaseMaterializers.java:72)at
com.datanomic.utils.databasespecies.DatabaseMaterializers$DBMat.materialize(DatabaseMaterializers.java:108)at
com.datanomic.utils.databasespecies.DatabaseMaterializers$DBMat.materialize(DatabaseMaterializers.java:82)
at
com.datanomic.utils.dematerialization.MaterializingInputStream.materialize(MaterializingInputStream.java:118)
at
com.datanomic.utils.dematerialization.MaterializingInputStream.resolveObject(MaterializingInputStream.java:91)
at java.io.ObjectInputStream.checkResolve(ObjectInputStream.java:1399)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at java.util.HashMap.readObject(HashMap.java:1396)
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at java.util.ArrayList.readObject(ArrayList.java:791)
at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at
com.datanomic.utils.clienthttp.AnotherHttpClient.postObject(AnotherHttpClient.java:161)
at
com.datanomic.utils.transport.http.HTTPTransport.sendToServer(HTTPTransport.java:145)
... 13 more
.
WARNING: 27-Oct-2016 15:43:05: Error loading nodescom.datanomic.director.dbsupport.exceptions.DBSupportException: The clip was not populated correctly (Code: 210,539)
at
com.datanomic.director.dbsupport.xstore.cache.XTreeCache.load(XTreeCache.java:97)
at
com.datanomic.director.dbsupport.xstore.cache.XTreeBank.verifyCache(XTreeBank.
java:250)
at
com.datanomic.director.projectbrowser.model.AssetSetTreeNode.load(AssetSetTreeNode.java:176)
at
com.datanomic.director.projectbrowser.model.ProjectBrowserTreeModel$Loader.construct(ProjectBrowserTreeModel.java:602)
at com.datanomic.director.guihelper.SwingChore.run(SwingChore.java:265)
at
com.datanomic.utils.blueprints.ui.chores.ChoreMaster$Runner.run(ChoreMaster.java:412)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
Caused by: com.datanomic.utils.transport.TransporterException: Errorconnecting to server (Code: 21,000)
at
com.datanomic.utils.transport.http.HTTPTransport.sendToServer(HTTPTransport.java:148)
at
com.datanomic.utils.transport.http.HTTPTransport.doInvoke(HTTPTransport.java:88)
at
com.datanomic.utils.transport.http.HTTPTransport.invokeThrowExceptions(HTTPTransport.java:201)
at com.datanomic.utils.transport.StubHandler.invoke(StubHandler.java:61)
at com.sun.proxy.$Proxy26.find(Unknown Source)
at
com.datanomic.director.dbsupport.xstore.cache.XTreeCache.load(XTreeCache.java:91)
at
com.datanomic.director.dbsupport.xstore.cache.XTreeBank.verifyCache(XTreeBank.java:250)
at
com.datanomic.director.projectbrowser.model.AssetSetTreeNode.load(AssetSetTreeNode.java:176)
at
com.datanomic.director.projectbrowser.model.ProjectBrowserTreeModel$Loader.construct(ProjectBrowserTreeModel.java:602)
at com.datanomic.director.guihelper.SwingChore.run(SwingChore.java:265)
at
com.datanomic.utils.blueprints.ui.chores.ChoreMaster$Runner.run(ChoreMaster.java:412)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142
)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617
)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: database species "magicuserinfo" not found
at
com.datanomic.utils.databasespecies.DatabaseMaterializers.hunt(DatabaseMaterializers.java:72)
at
com.datanomic.utils.databasespecies.DatabaseMaterializers$DBMat.materialize(DatabaseMaterializers.java:108)
at
com.datanomic.utils.databasespecies.DatabaseMaterializers$DBMat.materialize(DatabaseMaterializers.java:82)
at
com.datanomic.utils.dematerialization.MaterializingInputStream.materialize(MaterializingInputStream.java:118)
at
com.datanomic.utils.dematerialization.MaterializingInputStream.resolveObject(MaterializingInputStream.java:91)
at java.io.ObjectInputStream.checkResolve(ObjectInputStream.java:1399)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at java.util.HashMap.readObject(HashMap.java:1396)
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at java.util.ArrayList.readObject(ArrayList.java:791)
at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at
com.datanomic.utils.clienthttp.AnotherHttpClient.postObject(AnotherHttpClient.java:161)
at
com.datanomic.utils.transport.http.HTTPTransport.sendToServer(HTTPTransport.java:145)
... 13 more
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Cause |
Solution |
References |