[ https://issues.apache.org/jira/browse/CONNECTORS-330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13171535#comment-13171535 ]
Karl Wright commented on CONNECTORS-330: ---------------------------------------- It looks like this may be JDBC related. The JDBC instance that fails is created BEFORE the ALTER USER is done, and it apparently just never gets updated: {code} [junit] Using JDBC connection com.bitmechanic.sql.PooledConnection@2f0d54 within database org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@e0a386 [junit] Created HSQLDB instance org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@193f6e2 with user manifoldcf which is meant to work with schema dbname [junit] Using JDBC connection com.bitmechanic.sql.PooledConnection@2f0d54 within database org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@193f6e2 [junit] Created HSQLDB instance org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@6782a9 with user manifoldcf which is meant to work with schema dbname [junit] Created HSQLDB instance org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@1b34126 with user sa which is meant to work with schema administration [junit] Using JDBC connection com.bitmechanic.sql.PooledConnection@17200b4 within database org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@1b34126 [junit] Created HSQLDB instance org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@4c47db with user manifoldcf which is meant to work with schema dbname [junit] Created HSQLDB instance org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@18c74 with user sa which is meant to work with schema administration [junit] Using JDBC connection com.bitmechanic.sql.PooledConnection@17200b4 within database org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@18c74 [junit] Using JDBC connection com.bitmechanic.sql.PooledConnection@17200b4 within database org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@18c74 [junit] Creating schema DBNAME using instance org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@18c74 [junit] Using JDBC connection com.bitmechanic.sql.PooledConnection@17200b4 within database org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@18c74 [junit] Altering user "manifoldcf" [junit] Using JDBC connection com.bitmechanic.sql.PooledConnection@17200b4 within database org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@18c74 [junit] Alter User succeeded! ALTER USER "manifoldcf" SET INITIAL SCHEMA DBNAME [junit] Created HSQLDB instance org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@1f2cea2 with user manifoldcf which is meant to work with schema dbname [junit] Checking for table in schema DBNAME in instance org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@1f2cea2 [junit] Using JDBC connection com.bitmechanic.sql.PooledConnection@2f0d54 within database org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@1f2cea2 [junit] Creating table in schema DBNAME in instance org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@1f2cea2 [junit] Using JDBC connection com.bitmechanic.sql.PooledConnection@2f0d54 within database org.apache.manifoldcf.core.database.DBInterfaceHSQLDB@1f2cea2 [junit] org.apache.manifoldcf.core.interfaces.ManifoldCFException: Database exception: Exception doing query: user lacks privilege or object not found: PUBLIC in statement [CREATE CACHED TABLE agents(classname VARCHAR(255) NOT NULL PRIMARY KEY)] [junit] at org.apache.manifoldcf.core.database.Database.executeViaThread(Database.java:673) {code} Since these are pooled objects, I basically have to figure out how to flush the pool - or create a different pool for instances where the schema has not yet been created. Or, maybe HSQLDB should try to update existing JDBC instances? Seems like a funky implementation detail of hsqldb we're seeing really. I've alerted the hsqldb team yet again... > HSQLDB external database tests fail > ----------------------------------- > > Key: CONNECTORS-330 > URL: https://issues.apache.org/jira/browse/CONNECTORS-330 > Project: ManifoldCF > Issue Type: Bug > Components: Framework core > Affects Versions: ManifoldCF 0.4 > Reporter: Karl Wright > Assignee: Karl Wright > Priority: Blocker > Fix For: ManifoldCF 0.4 > > > Here's the exception we get: > [junit] Database exception: Exception doing query: user lacks privilege > or o > bject not found: PUBLIC in statement [CREATE CACHED TABLE agents(classname > VARCH > AR(255) NOT NULL PRIMARY KEY)] > [junit] org.apache.manifoldcf.core.interfaces.ManifoldCFException: > Database > exception: Exception doing query: user lacks privilege or object not found: > PUBL > IC in statement [CREATE CACHED TABLE agents(classname VARCHAR(255) NOT NULL > PRIM > ARY KEY)] > [junit] at > org.apache.manifoldcf.core.database.Database.executeViaThread > (Database.java:672) > [junit] at > org.apache.manifoldcf.core.database.Database.executeUncachedQ > uery(Database.java:716) > [junit] at > org.apache.manifoldcf.core.database.Database$QueryCacheExecut > or.create(Database.java:1363) > [junit] at > org.apache.manifoldcf.core.cachemanager.CacheManager.findObje > ctsAndExecute(CacheManager.java:144) > [junit] at > org.apache.manifoldcf.core.database.Database.executeQuery(Dat > abase.java:179) > [junit] at > org.apache.manifoldcf.core.database.DBInterfaceHSQLDB.perform > Modification(DBInterfaceHSQLDB.java:746) > [junit] at > org.apache.manifoldcf.core.database.DBInterfaceHSQLDB.perform > Create(DBInterfaceHSQLDB.java:361) > [junit] at > org.apache.manifoldcf.core.database.BaseTable.performCreate(B > aseTable.java:111) > [junit] at > org.apache.manifoldcf.agents.agentmanager.AgentManager.instal > l(AgentManager.java:72) > [junit] at > org.apache.manifoldcf.agents.system.ManifoldCF.installTables( > ManifoldCF.java:73) > [junit] at > org.apache.manifoldcf.agents.tests.BaseHSQLDBext.localSetUp(B > aseHSQLDBext.java:65) > [junit] at > org.apache.manifoldcf.crawler.tests.BaseHSQLDBext.localSetUp( > BaseHSQLDBext.java:60) > [junit] at > org.apache.manifoldcf.crawler.tests.BaseHSQLDBext.setUp(BaseH > SQLDBext.java:48) > [junit] Caused by: java.sql.SQLException: user lacks privilege or object > not > found: PUBLIC in statement [CREATE CACHED TABLE agents(classname > VARCHAR(255) N > OT NULL PRIMARY KEY)] > [junit] at org.hsqldb.jdbc.Util.sqlException(Util.java:255) > [junit] at > org.hsqldb.jdbc.JDBCStatement.fetchResult(JDBCStatement.java: > 1838) > [junit] at > org.hsqldb.jdbc.JDBCStatement.execute(JDBCStatement.java:636) > [junit] at > org.apache.manifoldcf.core.database.Database.execute(Database > .java:777) > [junit] at > org.apache.manifoldcf.core.database.Database$ExecuteQueryThre > ad.run(Database.java:632) > [junit] > [junit] -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira