Thursday, March 11, 2010

Install MySQL 5.0.27 on Solaris 5.10

Compilation from Source (GCC 3.4.6)

Get the Source

A distribution mysql-5.0.27.tar.gz (20 Oct 2006, 24.7M) was downloaded from MySQL website and stored in /usr/local/software.

Pre-Compile Config

All default except install location:

./configure --prefix=/usr/local/mysql
configure:22606: WARNING: term.h: present but cannot be compiled
configure:22608: WARNING: term.h: check for missing prerequisite headers?
configure:22610: WARNING: term.h: see the Autoconf documentation
configure:22612: WARNING: term.h: section "Present But Cannot Be Compiled"
configure:22614: WARNING: term.h: proceeding with the preprocessor's result
configure:22616: WARNING: term.h: in the future, the compiler will take precedence
configure:22628: checking for term.h
.
.
configure:32423: WARNING: sys/ptem.h: present but cannot be compiled
configure:32425: WARNING: sys/ptem.h: check for missing prerequisite headers?
configure:32427: WARNING: sys/ptem.h: see the Autoconf documentation
configure:32429: WARNING: sys/ptem.h: section "Present But Cannot Be Compiled"
configure:32431: WARNING: sys/ptem.h: proceeding with the preprocessor's result
configure:32433: WARNING: sys/ptem.h: in the future, the compiler will take precedence
configure:32445: checking for sys/ptem.h 

Check configure.log found:

configure:23024: checking term.h usability
configure:23036: gcc -c     conftest.c >&5
In file included from conftest.c:102:
/usr/include/term.h:1034: error: syntax error before "bool"
/usr/include/term.h:1060: error: syntax error before "SGTTY"
/usr/include/term.h:1081: error: syntax error before "sgr_mode"
/usr/include/term.h:1082: error: syntax error before "sgr_faked"
/usr/include/term.h:1092: error: syntax error before "funckeystarter"
/usr/include/term.h:1094: error: syntax error before "_fl_rawmode"
/usr/include/term.h:1101: error: syntax error before "_input_queue"
/usr/include/term.h:1108: error: syntax error before '*' token
/usr/include/term.h:1111: error: syntax error before "bit_vector"
/usr/include/term.h:1115: error: syntax error before "check_turn_off"
/usr/include/term.h:1116: error: syntax error before "non_faked_mode"
/usr/include/term.h:1117: error: syntax error before "_cur_pair"
/usr/include/term.h:1118: error: syntax error before '*' token
/usr/include/term.h:1120: error: syntax error before '}' token
/usr/include/term.h:1207: error: syntax error before "int"
/usr/include/term.h:1207: error: `vidputs' declared as function returning a function
/usr/include/term.h:1207: error: syntax error before ')' token
configure:23042: $? = 1
configure: failed program was:
| /* confdefs.h.  */
configure:34054: checking sys/ptem.h usability
configure:34066: gcc -c -O3 -DDBUG_OFF    -DHAVE_RWLOCK_T  conftest.c >&5
In file included from conftest.c:169:
/usr/include/sys/ptem.h:25: error: syntax error before "mblk_t"
/usr/include/sys/ptem.h:29: error: syntax error before '}' token
configure:34072: $? = 1
configure: failed program was:
| /* confdefs.h.  */

It seems that two files could not be compiled due to syntax errors. Could be GCC version problem. The warning does not affect the compilation.

Compilation Error

./gen_lex_hash > lex_hash.h-t
ld.so.1: gen_lex_hash: fatal: libstdc++.so.6: open failed: No such file or directory
/bin/bash: line 1: 5234 Killed ./gen_lex_hash >lex_hash.h-t
make[1]: *** [lex_hash.h] Error 137

Library libstdc++ is not on path. Need adding LD_LIBRARY_PATH.

Direct Installation from Binary (Standard & max)

Didn't adopt the installation from source and install from binary directly.

Get the Distributions

Two files: mysql-standard-5.0.27-solaris10-x86_64.pkg & mysql-max-5.0.27-solaris10-x86_64.pkg.

Installation Steps

Installing MySQL 5.0 on Solaris 10

Post Installation Config

Modify mysql @ /usr/init.d/

basedir=/opt/mysql/mysql
#datadir=/var/lib/mysql
datadir=/data

Create my.cnf @ /etc/

[mysqld]
basedir=/opt/mysql/mysql
datadir=/data
lower_case_table_names=1

Remove Most Symlinks About MySQL

The following directories are found to contains symlinks to MySQL:

rm -rf /usr/sbin/mysql.symlinks.2010-03-12
rm -rf /usr/local/mysql.2010-03-12
rm -rf /usr/include/mysql
rm -rf /usr/bin/mysql.symlinks

rm /usr/share/man/man1/msql2mysql.1
rm /usr/share/man/man1/mysql_config.1
rm /usr/share/man/man1/mysql_explain_log.1
rm /usr/share/man/man1/mysql_fix_privilege_tables.1
rm /usr/share/man/man1/mysql_upgrade.1
rm /usr/share/man/man1/mysql_zap.1
rm /usr/share/man/man1/mysql.1
rm /usr/share/man/man1/mysql.server.1
rm /usr/share/man/man1/mysqlaccess.1
rm /usr/share/man/man1/mysqladmin.1
rm /usr/share/man/man1/mysqlbinlog.1
rm /usr/share/man/man1/mysqlcheck.1
rm /usr/share/man/man1/mysqld_multi.1
rm /usr/share/man/man1/mysqld_safe.1
rm /usr/share/man/man1/mysqld.1
rm /usr/share/man/man1/mysqldump.1
rm /usr/share/man/man1/mysqlhotcopy.1
rm /usr/share/man/man1/mysqlimport.1
rm /usr/share/man/man1/mysqlman.1
rm /usr/share/man/man1/mysqlmanager.1
rm /usr/share/man/man1/mysqlshow.1
rm /usr/share/man/man1/safe_mysqld.1

rm /usr/sfw/include/mysql

rm /usr/info/mysql.info
rm /usr/lib/libmysqlclient_r.a
rm /usr/lib/libmysqlclient.a

mysqld_safe Change Due to Symlink Removal

All /usr/local/mysql strings are replaced by /opt/mysql/mysql. Now the MySQL server can be started by just typing:

# mysqld_safe

Monday, February 8, 2010

Win7 Installation Note on ThinkPad X200

Partition Size List

  • 30900 --> 30GB - OS
  • 102500 -> 100GB - VM
  • 5155 --> 5GB
  • 10200 --> 10GB

Relocate Users Directory

  • Create partitions (if haven't been done)
  • Enable Administrator
  • Do NOT logoff, copy Users directory into designated location
  • Ignore any notification (file is being used etc)
  • Open regedit, under ProfileList, change all relevant drive letter to designated one
  • Restart OS and login as Administrator
  • New user profile will be created in new designated location for Administrator

Install Drivers

  • Connect to wireless Internet
  • Download & Install ThinkVantage System Update
  • Install everything else within System Update

Saturday, January 9, 2010

RivaTuner + NV Trickies

RivaTuner is unable to control the FAN (on 8800 Ultra) in low-level System Tweak.

May need to enable the feature for ForceWare in regedit. Detail

RivaTuner is unable to display Fan Duty Cycle or Reference Fan Duty Cycle always 100%

To enable Fan Duty Cycle, need to enable a sensor plugin. Detail

Wednesday, December 9, 2009

JJM AU DW Tricky Trick

In DW_MATERIAL_MASTER a material may has an entry for JMNZ but not JMAU.

If there is a JMAU transaction for this material, when extracting the fact data against the dimension (material hierarchy), this transaction maybe dropped from the fact table since it could not find the correspond entry in material hierarchy.

For a JMNZ transaction, it might be labeled as UNALLOCATED JJMAU as its EMPLOYEE_NAME_DISPLAY.

Such transaction may have gone into JMAU (appears in JJM Affiliates) cube instead of JMNZ cube.

Saturday, December 5, 2009

C8 FAQ

Cognos 8.3, when trying to open a project in Framework Manager, it requires authentication. It gives "CAM-AAA-0064 - The function 'CMQueryCognosSecurityJNI' failed." error after entering user/password.

       Server CM-SYS-5192 An error occurred with Content Manager.   error cmStoreNotAvailable  CM-SYS-5003 Content Manager is unable to access the content store. Verify your database connection parameters, and then contact your database administrator for assistance.   1 Listener refused the connection with the following error: ORA-12518, TNS:listener could not hand off client connection The Connection descriptor used by the client was: NCSAPMEDCRD1:1525:DWD        

Investigating

Cognos 8.3, After log on to portal and click "Australia" tab, the page gave 5 "CPS-PAG-4801 - Operation failed in the consumer component." error.


com.cognos.cps.services.wsrp.v1.types.OperationFailedFaultPF-BRG-6141 The operation did not run.PF-BRG-6143 The request encountered an error while processing XML content.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6140 Not able to run the request.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6143 The request encountered an error while processing XML content. at com.cognos.portal.fragment.wsrp.FragmentWSRPBridge.getMarkup(FragmentWSRPBridge.java:219) at com.cognos.portal.fragment.service.WSRPService.handleSOAPRequest(WSRPService.java:436) at com.cognos.portal.fragment.service.WSRPService.invokeImpl(WSRPService.java:329) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.p2plb.clerver.LoadBalanceHandler.rawForwardToSelf(LoadBalanceHandler.java:648) at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToSelf(LoadBalanceHandler.java:614) at com.cognos.p2plb.clerver.LoadBalanceHandler.invokeImpl(LoadBalanceHandler.java:382) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.engine.ServiceLookupHandler.invokeImpl(ServiceLookupHandler.java:116) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.performance.PerformanceIndicationHandler.invokeImpl(PerformanceIndicationHandler.java:143) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.impl.PogoEngineImpl.service(PogoEngineImpl.java:133) at com.cognos.pogo.transport.PogoServlet.processRequest(PogoServlet.java:249) at com.cognos.pogo.transport.PogoServlet.doPost(PogoServlet.java:561) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.cognos.pogo.isolation.ServletWrapper.service(ServletWrapper.java:291) ...

com.cognos.cps.services.wsrp.v1.types.OperationFailedFaultPF-BRG-6141 The operation did not run.PF-BRG-6143 The request encountered an error while processing XML content.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6140 Not able to run the request.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6143 The request encountered an error while processing XML content. at com.cognos.portal.fragment.wsrp.FragmentWSRPBridge.getMarkup(FragmentWSRPBridge.java:219) at com.cognos.portal.fragment.service.WSRPService.handleSOAPRequest(WSRPService.java:436) at com.cognos.portal.fragment.service.WSRPService.invokeImpl(WSRPService.java:329) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.p2plb.clerver.LoadBalanceHandler.rawForwardToSelf(LoadBalanceHandler.java:648) at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToSelf(LoadBalanceHandler.java:614) at com.cognos.p2plb.clerver.LoadBalanceHandler.invokeImpl(LoadBalanceHandler.java:382) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.engine.ServiceLookupHandler.invokeImpl(ServiceLookupHandler.java:116) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) ...

com.cognos.cps.services.wsrp.v1.types.OperationFailedFaultPF-BRG-6141 The operation did not run.PF-BRG-6143 The request encountered an error while processing XML content.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6140 Not able to run the request.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6143 The request encountered an error while processing XML content. at com.cognos.portal.fragment.wsrp.FragmentWSRPBridge.getMarkup(FragmentWSRPBridge.java:219) at com.cognos.portal.fragment.service.WSRPService.handleSOAPRequest(WSRPService.java:436) at com.cognos.portal.fragment.service.WSRPService.invokeImpl(WSRPService.java:329) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.p2plb.clerver.LoadBalanceHandler.rawForwardToSelf(LoadBalanceHandler.java:648) at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToSelf(LoadBalanceHandler.java:614) at com.cognos.p2plb.clerver.LoadBalanceHandler.invokeImpl(LoadBalanceHandler.java:382) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.engine.ServiceLookupHandler.invokeImpl(ServiceLookupHandler.java:116) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.performance.PerformanceIndicationHandler.invokeImpl(PerformanceIndicationHandler.java:143) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.impl.PogoEngineImpl.service(PogoEngineImpl.java:133) at com.cognos.pogo.transport.PogoServlet.processRequest(PogoServlet.java:249) at com.cognos.pogo.transport.PogoServlet.doPost(PogoServlet.java:561) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.cognos.pogo.isolation.ServletWrapper.service(ServletWrapper.java:291) ...

com.cognos.cps.services.wsrp.v1.types.OperationFailedFaultPF-BRG-6141 The operation did not run.PF-BRG-6143 The request encountered an error while processing XML content.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6140 Not able to run the request.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6143 The request encountered an error while processing XML content. at com.cognos.portal.fragment.wsrp.FragmentWSRPBridge.getMarkup(FragmentWSRPBridge.java:219) at com.cognos.portal.fragment.service.WSRPService.handleSOAPRequest(WSRPService.java:436) ...

com.cognos.cps.services.wsrp.v1.types.OperationFailedFaultPF-BRG-6141 The operation did not run.PF-BRG-6143 The request encountered an error while processing XML content.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6140 Not able to run the request.
com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6143 The request encountered an error while processing XML content. at com.cognos.portal.fragment.wsrp.FragmentWSRPBridge.getMarkup(FragmentWSRPBridge.java:219) at com.cognos.portal.fragment.service.WSRPService.handleSOAPRequest(WSRPService.java:436) at com.cognos.portal.fragment.service.WSRPService.invokeImpl(WSRPService.java:329) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.p2plb.clerver.LoadBalanceHandler.rawForwardToSelf(LoadBalanceHandler.java:648) at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToSelf(LoadBalanceHandler.java:614) at com.cognos.p2plb.clerver.LoadBalanceHandler.invokeImpl(LoadBalanceHandler.java:382) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.engine.ServiceLookupHandler.invokeImpl(ServiceLookupHandler.java:116) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.performance.PerformanceIndicationHandler.invokeImpl(PerformanceIndicationHandler.java:143) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.impl.PogoEngineImpl.service(PogoEngineImpl.java:133) at com.cognos.pogo.transport.PogoServlet.processRequest(PogoServlet.java:249) at com.cognos.pogo.transport.PogoServlet.doPost(PogoServlet.java:561) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.cognos.pogo.isolation.ServletWrapper.service(ServletWrapper.java:291) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) at java.lang.Thread.run(Unknown Source) com.cognos.portal.fragment.wsrp.BridgeException: PF-BRG-6140 Not able to run the request. at com.cognos.portal.fragment.wsrp.Fragment.execute(Fragment.java:169) at com.cognos.portal.fragment.wsrp.FragmentWSRPBridge.getMarkup(FragmentWSRPBridge.java:161) at com.cognos.portal.fragment.service.WSRPService.handleSOAPRequest(WSRPService.java:436) at com.cognos.portal.fragment.service.WSRPService.invokeImpl(WSRPService.java:329) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.p2plb.clerver.LoadBalanceHandler.rawForwardToSelf(LoadBalanceHandler.java:648) at com.cognos.p2plb.clerver.LoadBalanceHandler.forwardToSelf(LoadBalanceHandler.java:614) at com.cognos.p2plb.clerver.LoadBalanceHandler.invokeImpl(LoadBalanceHandler.java:382) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.engine.ServiceLookupHandler.invokeImpl(ServiceLookupHandler.java:116) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.logic.ChainHandler.invokeImpl(ChainHandler.java:73) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.handlers.performance.PerformanceIndicationHandler.invokeImpl(PerformanceIndicationHandler.java:143) at com.cognos.pogo.pdk.BasicHandler.invoke(BasicHandler.java:252) at com.cognos.pogo.impl.PogoEngineImpl.service(PogoEngineImpl.java:133) at com.cognos.pogo.transport.PogoServlet.processRequest(PogoServlet.java:249) at com.cognos.pogo.transport.PogoServlet.doPost(PogoServlet.java:561) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.cognos.pogo.isolation.ServletWrapper.service(ServletWrapper.java:291) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) at java.lang.Thread.run(Unknown Source) com.cognos.portal.fragment.server.DashboardException: PF-SRV-6116 Unable to process the document, target is not valid or the target was not received. at com.cognos.portal.fragment.service.ServiceEnvironment.getLocalTargetStream(ServiceEnvironment.java:253) at com.cognos.portal.fragment.Environment.getTargetStream(Environment.java:581) at com.cognos.portal.fragment.service.ServiceEnvironment.createValidationDocument(ServiceEnvironment.java:658) ...

Possibly, the DW server and C8 server were reboot/shutdown in the wrong sequence. It may cause C8 server lose the connection or hold a stall connection to DW. Contact DBA.

Cognos 8.3, in Australia portal, Executive section, a yellow box shows up "PF-VAL-6171 Error retrieving metadata for the target fragment.".

Permission for Executive section has not been set properly.

Cognos 8.3, cube build was failed due to the following error(s).

Thu 10 Dec 2009 12:36:11 AM 2 00416C17 (TR2317) The level 'Regional Material Long Code' is designated as unique.  Source value '2960-B-9565' was used in an attempt to create a category in the path ( Regional Material,M00295,018175,028175,038175,040757,2960-B-9565 ).  '2960-B-9565' already exists in level 'Regional Material Long Code' in the path ( Regional Material,( Blank ),( Blank )~24548,( Blank )~24549,( Blank )~24550,04,2960-B-9565 ). [->OK]
Thu 10 Dec 2009 12:36:35 AM 2 00000000 (TR2318) Transformer has detected 424 attempts to create a category in more than one path. Refer to the online help for a detailed explanation of level uniqueness. [->OK]
Thu 10 Dec 2009 12:36:35 AM 4 00000000 End processing 50611 records from data source 'Material (with transaction)'.
Thu 10 Dec 2009 12:36:35 AM 4 00000000 Timing, READ DATA SOURCE,00:00:25
Thu 10 Dec 2009 12:36:35 AM 4 00000000 End cube update.
Thu 10 Dec 2009 12:36:35 AM 4 00000000 Timing, TOTAL TIME (CREATE CUBE),00:00:38
Thu 10 Dec 2009 12:36:35 AM 2 00000000 (TR0136) A uniqueness violation was detected.  The process has been aborted. [->OK]

Investigating

Wednesday, September 9, 2009

Seam + Hibernate + MS SQL

Seam 2.1, use Hibernate as JPA provider with MS SQL 2005, SQL driver complaints syntax error

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'user'.
 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196)
 at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1454)
 at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:388)
 at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:338)
 at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)

"User" is keyword in SQL Server, so need to escape it in @Table definition. Also the Entity which names a property by using "user" may causes problem too.

Seam 2.1, use Hibernate as JPA provider with MS SQL 2005 and its JDBC driver 2.0. A EJB remote interface is implemented for a Seam EntityHome. After a remote client (A plain Java main class) obtains the EntityHome by JNDI look up and try to get an instance of the entity via getInstance(), it causes ClassCastException.

@Name("measurementDataHome")
@Stateful
public class MeasurementDataHome extends EntityHome implements MeasurementData {
......
}
@Remote
public interface MeasurementData {
 
 public void setId(Object Id);
 
 public Object getId();
 
 public void setInstance(MeasurementDataEntity instance);
 
 public MeasurementDataEntity getInstance();
 
 public boolean isManaged();
 
 public String remove();
}
Exception in thread "main" java.lang.ClassCastException: java.lang.Long
 at $Proxy2.getInstance(Unknown Source)
 at Main.main(Main.java:24)

The cause is unknown. But the fix is add Override getInstance() inside EntityHome implementation:

    @Override 
    public MeasurementDataEntity getInstance() {
     return super.getInstance();
    }

Seam 2.1, use Hibernate as JPA provider with MS SQL 2005 and its JDBC driver 2.0. When User entity is trying to load a list of its associated MeasurementData entities, it throws exceptions.

javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of org.unsw.bsl.dss.measurement.MeasurementData.valueNumeric
 at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:77)
 at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
 at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
 at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorv2.invoke(RoleBasedAuthorizationInterceptorv2.java:201)
 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

The problems was that the value in the database was NULL so when Hibernate try to set the value NULL from the DB to the set method which accept a primitive value it throw an error. So in Entity, change primitive type to Object type so it accepts null.

Seam 2.1, use Hibernate as JPA provider with MS SQL 2005 and its JDBC driver 2.0. Association between MeasurementData and User is Lazy fetching. When trying to get list of measurementData which associates with a user, it throws LIE.

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: org.unsw.bsl.dss.user.User.measurementData, no session or session was closed
 at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:380)
 at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:372)
 at org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:119)
 at org.hibernate.collection.PersistentBag.size(PersistentBag.java:248)
 at DomainTest.testReadUser(DomainTest.java:77)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

Using EntityHome for entities in long-running contexts

How to avoid LazyInitializationException

Seam 2.1, use Hibernate as JPA provider with MS SQL 2005 and its JDBC driver 2.0. Hibernate generates wrong SQL, thus causes MS SQL driver throws exception. For example, ClinicalData and Patient are two entities associate with, the generated SQL mistakes clinicalData and patient (property field name) as column names.

Hibernate: 
    select
        measuremen0_.Id as Id4_0_,
        measuremen0_.addDateTime as addDateT2_4_0_,
        measuremen0_.clinicalData as clinical3_4_0_, <--- Wrong
        measuremen0_.patient as patient4_0_, <--- Wrong
        measuremen0_.valueNumeric as valueNum5_4_0_,
        measuremen0_.voidedDateTime as voidedDa6_4_0_ 
    from
        UserClinicalData measuremen0_ 
    where
        measuremen0_.Id=?
ERROR [org.hibernate.util.JDBCExceptionReporter] Invalid column name 'clinicalData'.
Hibernate: 
    select
        measuremen0_.UserId as UserId3_,
        measuremen0_.Id as Id3_,
        measuremen0_.Id as Id4_2_,
        measuremen0_.AddDateTime as AddDateT2_4_2_,
        measuremen0_.ClinicalDataId as Clinical6_4_2_, <--- After fixed
        measuremen0_.UserId as UserId4_2_, <--- After fixed
        measuremen0_.ValueNumeric as ValueNum3_4_2_,
        measuremen0_.VoidedDateTime as VoidedDa4_4_2_,
        clinicalda1_.Id as Id5_0_,
        clinicalda1_.ClinicalDataCodeId as Clinical3_5_0_,
        clinicalda1_.Type as Type5_0_,
        codedictio2_.Id as Id1_1_,
        codedictio2_.CodeDictionaryCode as CodeDict2_1_1_ 
    from
        UserClinicalData measuremen0_ 
    left outer join
        ClinicalData clinicalda1_ 
            on measuremen0_.ClinicalDataId=clinicalda1_.Id 
    left outer join
        CodeDictionary codedictio2_ 
            on clinicalda1_.ClinicalDataCodeId=codedictio2_.Id 
    where
        measuremen0_.UserId=?

The problem occurred when mapping notations i.e. @ManyToOne applied in getter/setter methods. The problem disappear after moving all notations to property field level.

Wednesday, August 26, 2009

MS Excel vlookup Demo

=VLOOKUP(A2, 's1'!$A$2:$B$25, 2,)

Assume this is vlookup in sheet s2. A2 is the exact value searched for in the first column of the reference array.'s1'!$A$2:$B$25 is the reference array, which must include at least two columns (because have to include A2). $ in the array range is absolute, ensures that all vlookup look up from the EXACT same reference array. 2 is is the column index in the array that contains the value to be returned. In other word, vlookup finds the match A2 in the array in sheet s1 and return the value in column 2.