[
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