Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #9077 (closed)

Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

Bug: bd-pathway import 2

Reported by: jburel Owned by: jamoore
Priority: blocker Milestone: OMERO-4.4
Component: General Version: n.a.
Keywords: n.a. Cc: ux@…, jamoore, cxallan, mlinkert
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: n.a.
Sprint: 2012-06-19 (17)

Description (last modified by cxallan)

Import the file
from_skyking/bd-pathway/bram/42_6_1_100208_BJWT_LOPAC_05_08_10nM_R1/201-02-19_000/Experiment.exp

Clean DB, nothing else imported. server howe user root.
error follow

java.lang.RuntimeException: omero.ApiUsageException
    serverStackTrace = "ome.conditions.ApiUsageException: PreparedStatementCallback; bad SQL grammar [insert into temp_ids (key, id) values (?, ?)]; nested exception is org.postgresql.util.PSQLException: ERROR: relation "temp_ids" does not exist
                          Position: 13
                        	at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:233)
                        	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
                        	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:602)
                        	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:614)
                        	at org.springframework.jdbc.core.JdbcTemplate.batchUpdate(JdbcTemplate.java:883)
                        	at org.springframework.jdbc.core.BatchUpdateUtils.executeBatchUpdate(BatchUpdateUtils.java:32)
                        	at org.springframework.jdbc.core.simple.SimpleJdbcTemplate.batchUpdate(SimpleJdbcTemplate.java:257)
                        	at org.springframework.jdbc.core.simple.SimpleJdbcTemplate.batchUpdate(SimpleJdbcTemplate.java:253)
                        	at ome.util.SqlAction$Impl.createIdsTempTable(SqlAction.java:370)
                        	at ome.util.SqlAction$Impl.rewriteHql(SqlAction.java:354)
                        	at sun.reflect.GeneratedMethodAccessor263.invoke(Unknown Source)
                        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                        	at java.lang.reflect.Method.invoke(Method.java:597)
                        	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
                        	at

This is part of #8587

Change History (3)

comment:1 Changed 12 years ago by cxallan

  • Description modified (diff)
  • Owner set to jmoore
  • Sprint set to 2012-06-19 (17)

Confirmed. Assigning to Josh, server side stack trace with timestamps available below:

...
2012-06-06 18:45:19,661 WARN  [        ome.services.util.ServiceHandler] (l.Server-1) InvalidDataAccessResourceUsageException thrown.

org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [insert into temp_ids (key, id) values (?, ?)]; nested exception is org.postgresql.util.PSQLException: ERROR: relation "temp_ids" does not exist
  Position: 13
        at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:233)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:602)
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:614)
        at org.springframework.jdbc.core.JdbcTemplate.batchUpdate(JdbcTemplate.java:883)
        at org.springframework.jdbc.core.BatchUpdateUtils.executeBatchUpdate(BatchUpdateUtils.java:32)
        at org.springframework.jdbc.core.simple.SimpleJdbcTemplate.batchUpdate(SimpleJdbcTemplate.java:257)
        at org.springframework.jdbc.core.simple.SimpleJdbcTemplate.batchUpdate(SimpleJdbcTemplate.java:253)
        at ome.util.SqlAction$Impl.createIdsTempTable(SqlAction.java:370)
        at ome.util.SqlAction$Impl.rewriteHql(SqlAction.java:354)
        at sun.reflect.GeneratedMethodAccessor249.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at ome.util.SqlAction$LoggingSqlAction.invoke(SqlAction.java:69)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at $Proxy0.rewriteHql(Unknown Source)
        at ome.services.query.StringQuery.buildQuery(StringQuery.java:75)
        at ome.services.query.Query.doInHibernate(Query.java:222)
        at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
        at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
        at ome.logic.QueryImpl.execute(QueryImpl.java:144)
        at ome.logic.QueryImpl.findAllByQuery(QueryImpl.java:394)
        at ome.services.RawPixelsBean.prepare(RawPixelsBean.java:301)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at ome.tools.hibernate.SessionHandler.doStateful(SessionHandler.java:182)
        at ome.tools.hibernate.SessionHandler.invoke(SessionHandler.java:166)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:241)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:116)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at $Proxy93.prepare(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:98)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at $Proxy93.prepare(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:179)
        at ome.services.throttling.Callback.run(Callback.java:56)
        at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56)
        at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:137)
        at ome.services.blitz.impl.RawPixelsStoreI.prepare_async(RawPixelsStoreI.java:205)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at omero.cmd.CallContext.invoke(CallContext.java:59)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at $Proxy94.prepare_async(Unknown Source)
        at omero.api._RawPixelsStoreTie.prepare_async(_RawPixelsStoreTie.java:260)
        at omero.api._RawPixelsStoreDisp.___prepare(_RawPixelsStoreDisp.java:413)
        at omero.api._RawPixelsStoreDisp.__dispatch(_RawPixelsStoreDisp.java:1285)
        at IceInternal.Incoming.invoke(Incoming.java:159)
        at Ice.ConnectionI.invokeAll(ConnectionI.java:2037)
        at Ice.ConnectionI.message(ConnectionI.java:972)
        at IceInternal.ThreadPool.run(ThreadPool.java:577)
        at IceInternal.ThreadPool.access$100(ThreadPool.java:12)
        at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971)
Caused by: org.postgresql.util.PSQLException: ERROR: relation "temp_ids" does not exist
  Position: 13
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836)
        at org.postgresql.core.v3.QueryExecutorImpl.sendQuery(QueryExecutorImpl.java:1091)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:398)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2754)
        at sun.reflect.GeneratedMethodAccessor750.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:63)
        at $Proxy56.executeBatch(Unknown Source)
        at org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcTemplate.java:898)
        at org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcTemplate.java:1)
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:586)
        ... 86 more
2012-06-06 18:45:19,662 INFO  [        ome.services.util.ServiceHandler] (l.Server-1)  Excp:    org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [insert into temp_ids (key, id) values (?, ?)]; nested exception is org.postgresql.util.PSQLException: ERROR: relation "temp_ids" does not exist
  Position: 13
...

comment:2 Changed 12 years ago by jmoore

  • Resolution set to fixed
  • Status changed from new to closed

Problem is reproducible with:

import omero
import omero.all

ids = range(1,10000)
params = omero.sys.ParametersI()
params.addIds(ids)

c = omero.client("localhost")
s = c.createSession("root", "ome")
q = s.getQueryService()
q.findAllByQuery("select i from Image i where i.id in (:ids)", params)

A quick fix has been pushed to sprint17-bugfixes which simply disables rewriteHql for PostreSQL:

commit 5c0ea66e73304cf080afe8d76cc9d1fceceeacbe
Author: jmoore <josh@glencoesoftware.com>
Date:   Wed Jun 6 21:05:14 2012

    Quick fix for temp_ids failure (See #3961, Fix #9077)
    
    temp_ids was required for Oracle support, but was never
    fully implemented for PostreSQL. This hasn't shown up
    previously because only queries with more than 1000 ids
    triggers the issue.

I've opened a RFE to fully fix the issue (#9109)

comment:3 Changed 12 years ago by rleigh

Imported fine for me on gretsky on 7/6/12.

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.68169 sec.)

We're Hiring!