Hi, We are using SDB (1.3.5-SNAPSHOT) backed by Oracle to store and access triples, and encountered this error:
[ERROR]- Error in thread: Problem making new tupleloader com.hp.hpl.jena.sdb.SDBException: Problem making new tupleloader at com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes.updateOneTuple(LoaderTuplesNodes.java:292) at com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes.access$200(LoaderTuplesNodes.java:43) at com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes$Commiter.run(LoaderTuplesNodes.java:362) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedConstructorAccessor403.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.hp.hpl.jena.sdb.layout2.LoaderTuplesNodes.updateOneTuple(LoaderTuplesNodes.java:288) ... 3 more Caused by: com.hp.hpl.jena.sdb.SDBException: Problem initialising loader for [Quads] at com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.<init>(TupleLoaderBase.java:59) at com.hp.hpl.jena.sdb.layout2.hash.TupleLoaderHashBase.<init>(TupleLoaderHashBase.java:29) at com.hp.hpl.jena.sdb.layout2.hash.TupleLoaderHashOracle.<init>(TupleLoaderHashOracle.java:34) ... 7 more Caused by: java.sql.SQLSyntaxErrorException: ORA-00955: name is already used by an existing object at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183) at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:942) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222) at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1770) at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1739) at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:299) at com.hp.hpl.jena.sdb.sql.SDBConnection.exec(SDBConnection.java:183) at com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.createTempTables(TupleLoaderBase.java:344) at com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.ensureTempTables1(TupleLoaderBase.java:368) at com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.ensureTempTables(TupleLoaderBase.java:351) at com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.init(TupleLoaderBase.java:64) at com.hp.hpl.jena.sdb.layout2.TupleLoaderBase.<init>(TupleLoaderBase.java:57) The documentation on ORA-00955 is this: ORA-00955 name is already used by an existing object Cause: An attempt was made to create a database object (such as a table, view, cluster, index, or synonym) that already exists. A user's database objects must have distinct names. Action: Enter a unique name for the database object or modify or drop the existing object so it can be reused. We do have multiple threads potentially creating new Stores and SDB models to the same underlying named models. Also, we tend to see Oracle churning quite heavily (70% internal usage) during operation. Is SDB creating indexes or constraints on the fly as data is inserted? Thanks, Aaron -- Aaron Jackson Lead Solution Architect Blue Slate Solutions | Phone: 518.810.0372 | Cell: 845.392.6923 Email: [email protected] | www.blueslate.net
