Product Support > SPECvirt_sc2013

Lookup failed for 'jdbc/SPECDB',specvirt fail to run.

(1/4) > >>

xxltomail:
Hi, I encoutered a problem in running a single workload(specjappserver2004).
In primectrl.out:

[root@client1 SPECvirt]# cat primectrl.out
2015-03-03 17:11:02:676 Tue Mar 03 17:11:02 CST 2015
2015-03-03 17:11:02:731 RMI server started: client1:9990
2015-03-03 17:11:02:735 [INFO] This is a perf-only benchmark run. Skipping active idle polling interval.
2015-03-03 17:11:02:735 PrimeControl: preparing client drivers.
2015-03-03 17:11:02:804 PrimeControl: starting clients...
2015-03-03 17:11:02:867 PrimeControl: PTDs not used for this benchmark run!
2015-03-03 17:11:02:867 PrimeControl: starting 4 masters.
2015-03-03 17:33:00:334 PrimeControl: waiting on 4 prime client(s).
.
2015-03-03 17:33:01:342 setting hostsReady = true
2015-03-03 17:36:12:062 PrimeControl: Workload and prime controller builds: 79


In Clientmgr1_1088.out:

-> INFO: corbaloc url ==> iiop:1.2@specdelivery:3700
-> Initial Audit
-> For txRate(100), loadFactor(5), and load_scale_factor(1.0), your DBIR must be built for 500IR
-> Exception encountered in auditor.validateInitialValues(). Aborting.
-> java.rmi.RemoteException: Failure in calling validateInitialValues() java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
->      java.rmi.RemoteException: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB; nested exception is:
->      javax.ejb.EJBException: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB


Then I checked the file: 
/opt/glassfish3/glassfish/domains/spec2004-1/logs

[#|2015-03-04T08:52:21.323+0800|SEVERE|glassfish3.1.2|javax.enterprise.resource.jdo.persistencemanager|_ThreadID=116;_ThreadName=Thread-2;|com.sun.jdo.api.persistence.support.JDOFatalUserException: JDO76604: JNDI lookup for cmp-resource 'jdbc/SPECDB' failed.
NestedException: javax.naming.NamingException: Lookup failed for 'jdbc/SPECDB' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: SPECDB not found]|#]

[#|2015-03-04T08:52:21.323+0800|WARNING|glassfish3.1.2|javax.enterprise.system.container.ejb.entity.lifecycle|_ThreadID=116;_ThreadName=Thread-2;|JDO74004: Bean 'POLineEnt' method setEntityContext:
com.sun.jdo.api.persistence.support.JDOFatalUserException: JDO76604: JNDI lookup for cmp-resource 'jdbc/SPECDB' failed.
NestedException: javax.naming.NamingException: Lookup failed for 'jdbc/SPECDB' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: SPECDB not found]
        at com.sun.jdo.spi.persistence.support.sqlstore.ejb.SunContainerHelper.getPersistenceManagerFactory(SunContainerHelper.java:333)
        at com.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.getPersistenceManagerFactory(CMPHelper.java:222)
        at org.spec.jappserver.supplier.polineent.ejb.POLineCmp20EJB353820924_ConcreteImpl.jdoLookupPersistenceManagerFactory(POLineCmp20EJB353820924_ConcreteImpl.java:406)
        at org.spec.jappserver.supplier.polineent.ejb.POLineCmp20EJB353820924_ConcreteImpl.setEntityContext(POLineCmp20EJB353820924_ConcreteImpl.java:352)
        at com.sun.ejb.containers.EntityContainer$EntityContextFactory.create(EntityContainer.java:2513)
        at com.sun.ejb.containers.util.pool.NonBlockingPool.preload(NonBlockingPool.java:338)
        at com.sun.ejb.containers.util.pool.NonBlockingPool.doResize(NonBlockingPool.java:586)
        at com.sun.ejb.containers.util.pool.NonBlockingPool$IdleBeanWork.run(NonBlockingPool.java:684)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)
Caused by: javax.naming.NamingException: Lookup failed for 'jdbc/SPECDB' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: SPECDB not found]
        at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
        at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
        at javax.naming.InitialContext.lookup(InitialContext.java:411)
        at javax.naming.InitialContext.lookup(InitialContext.java:411)
        at com.sun.jdo.spi.persistence.support.sqlstore.ejb.SunContainerHelper.getPersistenceManagerFactory(SunContainerHelper.java:302)
        ... 13 more

thanks.

ChrisFloyd:
From the error log, it appears that the database name "SPECDB" is not found when being accessed from the Application server VM.  Can you verify that you can access "SPECDB" from the application server VM?  (Another good test is to access the main SPECjApp application via a web browser from the application server [glassfish] VM, as well as the client VM to ensure all host names are resolved and the database service is up and properly built for SPECDB. )

-Chris Floyd

xxltomail:
I know very little about java,so I made the following test,the database named "SPECDB"  can be accessed from the Application server VM:

[root@appserver ~]# psql -h dbserver1 -U spec -d SPECDB
psql (9.2.5)
输入 "help" 来获取帮助信息.

SPECDB=# \d
                     关联列表
 架构模式 |         名称         |  型别  | 拥有者
----------+----------------------+--------+--------
 public   | c_customer           | 资料表 | spec
 public   | c_customerinventory  | 资料表 | spec
 public   | c_parts              | 资料表 | spec
 public   | c_site               | 资料表 | spec
 public   | c_supplier           | 资料表 | spec
 public   | m_bom                | 资料表 | spec
 public   | m_inventory          | 资料表 | spec
 public   | m_largeorder         | 资料表 | spec
 public   | m_parts              | 资料表 | spec
 public   | m_workorder          | 资料表 | spec
 public   | o_item               | 资料表 | spec
 public   | o_orderline          | 资料表 | spec
 public   | o_orders             | 资料表 | spec
 public   | s_component          | 资料表 | spec
 public   | s_purchase_order     | 资料表 | spec
 public   | s_purchase_orderline | 资料表 | spec
 public   | s_site               | 资料表 | spec
 public   | s_supp_component     | 资料表 | spec
 public   | s_supplier           | 资料表 | spec
 public   | txn_log_table        | 资料表 | spec
 public   | u_sequences          | 资料表 | spec
(21 行记录)

SPECDB=# \q
[root@appserver ~]#

AnoopGupta:
Thanks for the update. It does mean that the App VM is able to access the DB. Next need to verify the following:
[1] Check that the specj application deployed in GlassFish successfully. After starting GlassFish server, check if you are able to access:
http://specdelivery:8000/SPECjAppServer
Otherwise, check GlassFish server log for errors.

[2] Did the load complete successfully for IR500? See https://www.spec.org/forums/index.php?topic=12.0

[3] Verify that database is properly configured and accessible by the SPECjAppServer application on AppServer:
curl http://specdelivery:8000/SPECjAppServer/app?action=atomicityTests
The resulting text should show PASSED for the three Atomicity tests.
Otherwise, check PostgreSQL DB properties configured in /opt/glassfish3/glassfish/domains/spec2004-1/config/domain.xml 


For instruction and scripts to help you setup, please see https://www.spec.org/forums/index.php?topic=15.0

Thanks,
Anoop

xxltomail:
hi :
when I run step 2,I found that there is no table "Llr" in datebase "specdb" and other tables are correct.

when I run step 3,all of three tests are all failed.

please help me to how to check it,thanks a lot.

Navigation

[0] Message Index

[#] Next page

Go to full version