[ 
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

        

Reply via email to