Thursday, December 12, 2013

WAS 8. 0 : API_UNEXPECTED_JNDI_ERROR: The JNDI cannot be accessed

Caused By:

javax.naming.NamingException: Error getting WsnNameService properties [Root exception is org.omg.CORBA.TRANSIENT: initial and forwarded IOR inaccessible  vmcid: IBM  minor code: E07  completed: No]

The steps to resolve the issue are :

http://mresetar.blogspot.in/2012/06/was-8-has-ssl-turned-on-for-rmi-by.html

In Application Server Admin Console,

1)      Go to Global Security

2)      Under Authentication panel -> Expand RMI/IIOP security

3)      Click on  CSIv2 inbound communications -> CSIv2 Transport Layer  ->

  • set Transport :  SSL-supported


4)      Similarly, for  CSIv2 outbound communications -> CSIv2 Transport Layer  ->

  • set Transport :  SSL-supported


5)      Restart the Server.

Friday, September 20, 2013

Large Content Upload and Download performance

Improving content uploads and downloads

http://pic.dhe.ibm.com/infocenter/p8docs/v5r1m0/topic/com.ibm.p8.performance.doc/p8ppt135.htm

Optimizing performance for large content uploads and downloads

http://pic.dhe.ibm.com/infocenter/p8docs/v5r1m0/topic/com.ibm.p8.performance.doc/p8ppt148.htm

Tuning recommendations

http://pic.dhe.ibm.com/infocenter/p8docs/v5r1m0/topic/com.ibm.p8.xt.user.doc/ae_help/ae_admin/aeadm_tuning_recommend.htm

Tune ORB in WebSphere to boost FileNet P8 performance

http://www.ibm.com/developerworks/data/library/techarticle/dm-1004tuneorbperformance/

After implementing the optimization as suggested  above we were still getting the following upload error for file of size 1.3 GB .

Caused by: java.io.IOException: File too large
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(FileOutputStream.java:263)
        at com.filenet.engine.content.TimeToLiveOutputStream.write(TimeToLiveOutputStream.java:401)
        at com.filenet.engine.content.PutContentHandler$PutContentState.write(PutContentHandler.java:1291)

After research we found that 'wasadmin' user that is configured as admin user for content engine in websphere (AIX) does not have ulimit setting as 'unlimited'. We changed the setting to unlimited in AIX and it fixed the problem.

Tuesday, July 2, 2013

EJB Optimizing upload and download performance

If you are using EJB tranport layer to download (view) or upload content, the performance can be optimized by using CE server affinity. Usually in cluster setup with more than servers, CE randomly select server if multiple CE round trip (large content) is required. This may require new connection to external device. With server affinity all requests for the document upload or download always goes to same CE server.

 

Thursday, June 6, 2013

DB2 GUID Conversion

As we know GUID are stored in byte reversed form in database. This link details how to translate it  back.

However in DB2 9.x version the GUID is stored in VARCHAR_FORMAT_BIT.

Below query retruns the Audit of the documents with converted GUID in DB2.

SELECT '{' concat substr (VARCHAR_FORMAT_BIT(cast(dv.object_id as varchar(16) for bit data),'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'), 7,2)  concat substr (VARCHAR_FORMAT_BIT(cast(dv.object_id as varchar(16) for bit data),'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'), 5,2) concat substr (VARCHAR_FORMAT_BIT(cast(dv.object_id as varchar(16) for bit data),'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'), 3,2) concat substr (VARCHAR_FORMAT_BIT(cast(dv.object_id as varchar(16) for bit data),'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'), 1,2) concat '-' concat substr (VARCHAR_FORMAT_BIT(cast(dv.object_id as varchar(16) for bit data),'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'), 12,2) concat substr (VARCHAR_FORMAT_BIT(cast(dv.object_id as varchar(16) for bit data),'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'), 10,2) concat '-' concat substr (VARCHAR_FORMAT_BIT(cast(dv.object_id as varchar(16) for bit data),'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'), 17,2) concat substr (VARCHAR_FORMAT_BIT(cast(dv.object_id as varchar(16) for bit data),'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'), 15,2) concat substr (VARCHAR_FORMAT_BIT(cast(dv.object_id as varchar(16) for bit data),'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'), 19,18) concat '}' AS DocumentId,cd1.symbolic_name AS DocumentClass,  cd2.symbolic_name AS EventType,ev.creator AS EventCreator,ev.create_date AS EventTime FROM event ev, docversion dv, classdefinition cd1, classdefinition cd2 WHERE 1=1  AND cd2.symbolic_name='GetContentEvent'AND cd1.object_id=ev.source_object_class_id AND cd2.object_id=ev.object_class_id AND ev.source_object_id=dv.object_id

 

Note: We can also use function to do the conversion.

Monday, June 3, 2013

EJB Transport Layer Cluster Configuration

This link provides the configuration for high availability of content engine deployed on cluster environment.

For WebSphere here is some additional notes if you are writing  custom EJB application

corbaloc::<CEServer1_Host1>:WC_default port,:<CEserver2>:WC_default port/ cell/clusters/your_websphere_cluster_name/FileNet/Engine

e.g.

corbaloc::server1.test.com:47022,:server2.test.com:47060/ cell/clusters/FNECM01/FileNet/Engine