Support Article
Java classes are not compiled (DirectStreamReaderDB)
SA-4008
Summary
The below Java classes are not compiled with an error message stating that the objects are invalid.
2b12b644_DirectStreamReaderDB
fad24711_DirectStreamReaderDB
Error Messages
2014-11-19 06:02:46,757 [ clo01appegsit02] [ STANDARD] [ ] [ ] (.clipboard.DirectStreamEncoder) WARN - Returning a large encoder back to the pool. Size = 35840;java.lang.Throwable; at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoder.releaseEncoder(DirectStreamEncoder.java:220); at com.pega.pegarules.data.internal.clipboard.DirectStreamEncoder.encode(DirectStreamEncoder.java:453); at com.pega.pegarules.data.internal.clipboard.StorageStreamCommonImpl.encode(StorageStreamCommonImpl.java:793); at com.pega.pegarules.data.internal.clipboard.StorageStreamCommonImpl.encode(StorageStreamCommonImpl.java:762); at com.pega.pegarules.data.internal.clipboard.StorageStreamCommonImpl.encode(StorageStreamCommonImpl.java:754); at com.pega.pegarules.data.internal.clipboard.StorageStreamCommonImpl.encode(StorageStreamCommonImpl.java:730); at com.pega.pegarules.data.internal.access.CachedInstanceSoftReference.setStatus(CachedInstanceSoftReference.java:184); at com.pega.pegarules.data.internal.access.CacheContainerImpl.putInstance(CacheContainerImpl.java:676); at com.pega.pegarules.data.internal.access.CacheContainerImpl.putInstance(CacheContainerImpl.java:572); at com.pega.pegarules.data.internal.access.Opener.openData(Opener.java:880); at com.pega.pegarules.data.internal.access.DatabaseImpl.open(DatabaseImpl.java:4231); at com.pega.pegarules.data.internal.access.DatabaseImpl.open(DatabaseImpl.java:3942); at com.pega.pegarules.data.internal.access.DatabaseImpl.open(DatabaseImpl.java:3910); at com.pega.pegarules.session.internal.authorization.context.ContextUtils.getAppStackForApplication(ContextUtils.java:539); at com.pega.pegarules.session.internal.authorization.context.ContextUtils.getRuleSetListForAccessGroup(ContextUtils.java:833); at com.pega.pegarules.session.internal.authorization.context.ContextUtils.getRuleSetListForAccessGroup(ContextUtils.java:495); at com.pega.pegarules.exec.internal.declare.infengine.pages.DeclarativePageDefinitionImpl.initialize(DeclarativePageDefinitionImpl.java:616); at com.pega.pegarules.exec.internal.declare.infengine.pages.DeclarativePageDefinitionFactory.acquire(DeclarativePageDefinitionFactory.java:71); at com.pega.pegarules.exec.internal.declare.infengine.pages.DeclarativePageDefinitionCacheImpl.initialize(DeclarativePageDefinitionCacheImpl.java:297); at com.pega.pegarules.session.internal.mgmt.PRNodeImpl.initializeSystem(PRNodeImpl.java:786); at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:373); at com.pega.pegarules.session.internal.PRSessionProviderImpl.getThreadAndInitialize(PRSessionProviderImpl.java:1913); at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:640); at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._initEngine_privact(EngineImpl.java:165); at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.doStartup(EngineImpl.java:138); at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngineImpl(EngineImpl.java:240); at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngine(EngineImpl.java:119); at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngine(EngineImpl.java:112); at com.pega.pegarules.data.internal.access.ExtractImpl.main(ExtractImpl.java:875); at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method); at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57); at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43); at java.lang.reflect.Method.invoke(Method.java:606); at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:419); at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:460); at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:509); at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85);
2014-11-19 06:02:47,708 [ clo01appegsit02] [ STANDARD] [ ] [ ] ( MTThreadContainerLogger) WARN - The threadActivationThreadis doing a threadContainer.put();java.lang.Exception; at com.pega.pegarules.pub.context.ThreadContainer.put(ThreadContainer.java:75); at com.pega.pegarules.session.internal.mgmt.base.ThreadPassivation.configureThreadImpl(ThreadPassivation.java:309); at com.pega.pegarules.session.internal.mgmt.PRThreadBase.configureThread(PRThreadBase.java:174); at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.<init>(PRThreadImpl.java:157); at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.acquire(PRThreadImpl.java:172); at com.pega.pegarules.session.internal.mgmt.base.RequestorThreadSync.getOrCreateThread(RequestorThreadSync.java:174); at com.pega.pegarules.session.internal.mgmt.base.RequestorThreadSync.getOrCreateThread(RequestorThreadSync.java:161); at com.pega.pegarules.session.internal.mgmt.base.RequestorThreadSync.getOrCreateThread(RequestorThreadSync.java:157); at com.pega.pegarules.session.internal.mgmt.PRRequestorImpl.getOrCreateThread(PRRequestorImpl.java:715); at com.pega.pegarules.session.internal.mgmt.PRNodeImpl.initializeSystem(PRNodeImpl.java:789); at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:373); at com.pega.pegarules.session.internal.PRSessionProviderImpl.getThreadAndInitialize(PRSessionProviderImpl.java:1913); at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:640); at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._initEngine_privact(EngineImpl.java:165); at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.doStartup(EngineImpl.java:138); at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngineImpl(EngineImpl.java:240); at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngine(EngineImpl.java:119); at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngine(EngineImpl.java:112); at com.pega.pegarules.data.internal.access.ExtractImpl.main(ExtractImpl.java:875); at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method); at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57); at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43); at java.lang.reflect.Method.invoke(Method.java:606); at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:419); at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:460); at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:509); at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85);
Steps to Reproduce
There is no specific use case to replicate this behavior.
Root Cause
This is an issue with installation.
Resolution
These ‘Invalid’ objects are Java artifacts used by the reporting facility (‘UDF’=’Used Defined Functions’) available in PRPC 6.2 SP2 onwards; which allow reports to be run on ‘non-exposed’ columns in a more efficient manner (than fetching the entire contents of the BLOB to the main PRPC JVM).
It appears that when Oracle imports the reports, it initially marks them as invalid. However you can correct this after installation.
Follow the instructions below to resolve all of the invalid Java classes, except for the class names ending with *DB2LUW and *DB2ZOS, which are for DB2 for Linux, UNIX and Windows (DB2 LUW) and DB2 for z/OS).
http://pdn.pega.com/node/66181
If you are not using the ‘UDF’ based reporting; then you can safely ignore these invalid objects. However, you should be able to remove the ‘invalid’ status by running a ‘Dummy’ SQL Statement such as below:
1. Confirm the objects displayed as invalid:
SELECT dbms_java.longname(object_name) FROM user_objects WHERE status!='VALID' AND object_type LIKE 'JAVA%';
2. Run the following SQL (which makes a call to a function , which makes use of the Java Objects).
select pr_read_from_stream('pylabel','DATA-ADMIN-WORKBASKET your_WB@your_host.COM',pzpvstream) from pr_data_admin where pzinskey='DATA-ADMIN-WORKBASKET your_WB@your_host.com'
Tags:
Published January 31, 2016 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.