My Oracle Support Banner

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 later
Information 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:

SEVERE: 27-Oct-2016 15:39:55: [EDQ-02035] Databases client: failed to write local jar /tmp/949d7f58-a93e-4013-8e2b-dba71aacadff-dir/1477579195093/1477492967108: java.io.FileNotFoundException: /tmp/949d7f58-a93e-4013-8e2b-dba71aacadff-dir/1477579195093/1477492967108 (No such file or directory)

...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:

WARNING: EDQ-05903 com.datanomic.utils.transport.TransporterException: Error connecting to server (Code: 21,000) at
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


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.