SPEC Community
Product Support => SPECvirt_sc2013 => Topic started by: bcarson on September 03, 2015, 06:25:11 PM
-
Both DBServer and AppServer for /opt/SPECjAppServer2004/schema/postgresql/pg_hba.conf show:
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all appserver1/24 trust
host all all appserver2/24 trust
host all all appserver3/24 trust
host all all appserver4/24 trust
host all all client1/24 trust
# IPv6 local connections:
host all all ::1/128 trust
Do these default values need to be changed?
Thanks,
Bruce
-
/opt/SPECjAppServer2004/schema/postgresql/pg_hba.conf is just a sample file.
Please check your PostgreSQL installation dir. You should have a pg_hba.conf there (just on the DBServer VM).
Since 1 DBServer VM can service up to 4 AppServer VMs, the 4 AppServer VM hostnames or IP addresses need to be in this file. If the hostnames are appserver[1-4] in your case, then this sample file should still be valid, but does need to be placed appropriately in the DBServer VM.
-
Do I make this change to /var/lib/pgsql/9.2/data/pg_hba.conf or /var/lib/pgsql/data/pg_hba.conf ?
Also, what needs to be restarted after I make this change?
Thanks,
Bruce
-
I am not sure why do you have /var/lib/pgsql/9.2/data and /var/lib/pgsql/data. Either there is a symbolic link, or only one of those is getting used by PostgreSQL. Either way, it wouldn't hurt to have the same content in both the pg_hba.conf files.
After the change, you will have to restart:
- PostgreSQL on the DBServerVM using pg_ctl stop|start. You may refer to PostgreSQL documentation for more details.
- After PostgreSQL is started, on AppServer VM restart GlassFish.
-
Hello Bruce,
The directory /var/lib/pgsql/9.2/data is the type of directory you get when you install a version of PostgreSQL from www.postgresql.org and the /var/lib/pgsql typically would be one you might get with a version of PostgreSQL from a linux distribution? What OS are you using and did you install a downloaded version of PostgreSQL? If you are using an rpm based distribution you could try running "rpm -qa | grep postgres" and verify what packages are installed.
I would also suggest trying to get a simple connection to the database to work from an appserver VM using the psql client command. This would help debug PostgreSQL based configuration issues without the complication of trying to use Glassfish.
Andy
-
Ok, thanks! Ultimately I'm trying to resolve the error in the appserver log showing 'Lookup failed for 'jdbc/SPECDB'' when attempting to hit curl http://specdelivery:8000/SPECjAppServer/app?action=atomicityTests (all 3 tests return FAILED).
POSTGRES info:
[root@specvirt-db ~]# rpm -qa | grep postgres
postgresql-9.2.10-2.el7_1.x86_64
postgresql-libs-9.2.10-2.el7_1.x86_64
postgresql-devel-9.2.10-2.el7_1.x86_64
postgresql-server-9.2.10-2.el7_1.x86_64
I can successfully connect to specdb on the DBServer from the AppServer using psql -h specdb -U spec -d specdb
but the Atomicity test still fails which I guess is my primary concern. What else should I be checking?
-
Hey Bruce,
Thanks for the info. I was afraid there might be multiple versions of PostgreSQL present and causing connection problems, but that does not appear to be the case. Glad to hear that your normal database connections seem to be working.
The next step would be to make sure you have the PostgreSQL JDBC file installed and linked correctly. Are you setting this environment up using the ExampleVM guide and scripts?
Thanks,
Andy
-
Yeah for the app server I used the appvm_scripts folder to run:
./makeme_appserver.sh
./setup_files.sh (after changing reference to installed postgres.jar and location of glassfish domain path to /opt/glassfish3/glassfish/domains/domain1/config)
-
You shouldn't need to change the domain directory in the setup_files.sh script since it will be created as a part of the buildappsrv.sh command. Would you attach the setup_files.sh script that you are using here in the forum? Also, if you happen to have the output of the setup_files.sh script that you could attach here as well that would be handy to see if your buildappsrv.sh command ran ok. You should have a /opt/glassfish3/glassfish/domains/spec2004-1 directory once it runs, but if one of the interim build steps has a problem it won't necessarily work correctly.
-
1) See attached setup_files.sh
2) Error from AppServer log:
NestedStackTrace:
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)
at com.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.getPersistenceManagerFactory(CMPHelper.java:222)
at org.spec.jappserver.supplier.suppliercompent.ejb.SupplierCompCmp20EJB_741753996_ConcreteImpl.jdoLookupPersistenceManagerFactory(SupplierCompCmp20EJB_741753996_ConcreteImpl.java:385)
at org.spec.jappserver.supplier.suppliercompent.ejb.SupplierCompCmp20EJB_741753996_ConcreteImpl.setEntityContext(SupplierCompCmp20EJB_741753996_ConcreteImpl.java:331)
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.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.naming.NameNotFoundException: SPECDB not found
at com.sun.enterprise.naming.impl.TransientContext.doLookup(TransientContext.java:248)
at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:215)
at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:219)
at com.sun.enterprise.naming.impl.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:77)
at com.sun.enterprise.naming.impl.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:119)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:505)
-
Hey Bruce,
With the change made to the setup_files.sh script to point to domain1, some of the required changes to spec2004-1 would not be occurring. I would do the following.
1. Shutdown the glassfish domain
2. Delete the /opt/glassfish3/glassfish/domains/spec2004-1 directory
3. Undo the domain directory changes you made to setup_files.sh to put spec2004-1 back in as the domain directory
4. Rerun the setup_files.sh script and capture the output of the script
See if the atomicity tests work, and if they don't post the output of the setup_files.sh script to the forum and we can take a look at it.
Thanks,
Andy
-
I made the change to apply the defaults (/domains/spec2004-1 back into setup_files.sh) but when I run I get:
[root@specvirt-app appvm_scripts]# ./setup_files.sh
/bin/java
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
SPECvirt_sc2013 v1.00, build: 79
mkdir: cannot create directory ‘OLD-envs’: File exists
./env.sh: line 1: ../glassfish.env: No such file or directory
27256 54
27256 54
./setup_files.sh: line 60: cd: /opt/glassfish3/glassfish/domains/spec2004-1/config: No such file or directory
-
Bruce, the version of setup_files.sh you're using is old (v1.00). Sorry about this. We recently made some changes to how Glassfish installs and builds appserver, so please download the new optdirs-sc2013-v1.01.tgz from https://www.spec.org/forums/index.php?action=dlattach;topic=15.0;attach=55. You also might want to grab the helper scripts archive while you're there.
Lisa