You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Forrest Xia (JIRA)" <de...@geronimo.apache.org> on 2010/12/01 09:40:10 UTC

[jira] Closed: (DAYTRADER-86) DayTrader 2.1.3 : problem because sql command in daytrader use name for tables with upper case with Jboss EAP 5.1.0

     [ https://issues.apache.org/jira/browse/DAYTRADER-86?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Forrest Xia closed DAYTRADER-86.
--------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 2.1.7)
                   3.0
                   2.2.1

2.1@1040892
2.2@1040894
trunk@1040896

Thank you for providing this patch!

> DayTrader 2.1.3 : problem because sql command in daytrader use name for tables with upper case with Jboss EAP 5.1.0
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: DAYTRADER-86
>                 URL: https://issues.apache.org/jira/browse/DAYTRADER-86
>             Project: DayTrader
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>    Affects Versions: 2.1.3
>         Environment: Jboss EAP 5.1.0 (EAP -> Enterprise Application Platform)
> Sun 1.6_022
> Sun Solaris 10
> Mysql JDBC driver 5.1.13 (mysql-connector-java-5.1.13-bin.jar)
> Mysql Server 5.0.20
> Profile default for Jboss serveur (./run.sh -c default). 
> # Trade configuration update. Current config:
>                 RunTimeMode:            Full EJB3
>                 JPALayer:               Hibernate
>                 OrderProcessingMode:    Asynchronous_2-Phase
>                 AcessMode:              Standard
>                 Workload Mix:           Standard
>                 Web Interface:          JSP-Images
>                 CachingType:            No Caching
>                 #Trade  Users:          200
>                 #Trade Quotes:          400
>                 Market Summary Interval:                20
>                 Primitive Iterations:           1
>                 TradeStreamer MDB Enabled:      true
>                 Long Run Enabled:               true
>            Reporter: Yannick LE NY
>            Assignee: Forrest Xia
>             Fix For: 2.2.1, 3.0
>
>         Attachments: daytrader-2.1.7-svn-rev1038956-geronimoVersion_2.1.5.log, daytrader-2.1.7-svn-rev1038956-geronimoVersion_2.1.7.log, keygenejb-sql-command.patch, TRADEDB.KEYGENEJB.log
>
>
> Hello,
> I have downloaded the latest revision for Day Trader 2.1.3
> in the svn here
> http://svn.apache.org/viewvc/geronimo/daytrader/branches/old_2.1.3/?sortby=date
> and compiled it with :
>     * JDK 1.6_021
>     * Mandriva Linux 2010.1
>     * Maven 2.2.1
> by following the instructions in the file
> http://svn.apache.org/viewvc/geronimo/daytrader/branches/2.1.3/README.jboss5?revision=907211&view=markup&sortby=file
> IT IS NOT THE SAME PROBLEM THAN IN https://issues.apache.org/jira/browse/DAYTRADER-80
> Note that Linux and Unix are very sensitive with the case for characters and numbers.
> I have TRADEDB as database name with upper case in Mysql Server
> and the keygenejb table with lower case in Mysql Server.
> As with Mysql SQL file at
> http://svn.apache.org/viewvc/geronimo/daytrader/branches/2.1/modules/web/src/main/webapp/dbscripts/mysql/Table.ddl?view=markup&sortby=date&pathrev=1038541
> I go in Trading and Portofolio, I 'm login with uid:0 for the username
> I click on the quotes link and choose to buy 100 stocks for S0 Incorporated.
> and
> when I click on the buy button, I have this error in the web page :  	
> An Error has occured during DayTrader processing.
> The stack trace detailing the error follows.
> Please consult the application server error logs for further details.
> 	
> Processing request:/daytrader/app
> StatusCode: 500
> Message:TradeServletAction.buy(...) exception buying stock s:0 for user uid:0
> Exception:javax.ejb.EJBException: javax.ejb.EJBException: TradeSLSBBean:createOrder -- failed to create Order
> javax.ejb.EJBException: javax.ejb.EJBException: TradeSLSBBean:createOrder -- failed to create Order at org.apache.geronimo.samples.daytrader.ejb3.TradeSLSBBean.buy(TradeSLSBBean.java:158) 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.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111) at org.jboss.ejb3.interceptors.container.ContainerMethodInvocationWrapper.invokeNext(ContainerMethodInvocationWrapper.java:72) at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:76) at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:62) at sun.reflect.GeneratedMethodAccessor317.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72) at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_23735419.invoke(InvocationContextInterceptor_z_fillMethod_23735419.java) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88) at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_23735419.invoke(InvocationContextInterceptor_z_setup_23735419.java) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorv2.invoke(RoleBasedAuthorizationInterceptorv2.java:201) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:182) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.core.context.CurrentInvocationContextInterceptor.invoke(CurrentInvocationContextInterceptor.java:47) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.interceptor.EJB3TCCLInterceptor.invoke(EJB3TCCLInterceptor.java:86) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:444) at org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:88) at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:75) at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62) at $Proxy197.invoke(Unknown Source) at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:188) at $Proxy196.buy(Unknown Source) at org.apache.geronimo.samples.daytrader.TradeAction.buy(TradeAction.java:202) at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doBuy(TradeServletAction.java:225) at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:159) at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java:77) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:905) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:592) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2036) at java.lang.Thread.run(Thread.java:662) Caused by: javax.ejb.EJBException: TradeSLSBBean:createOrder -- failed to create Order at org.apache.geronimo.samples.daytrader.ejb3.TradeSLSBBean.createOrder(TradeSLSBBean.java:680) at org.apache.geronimo.samples.daytrader.ejb3.TradeSLSBBean.buy(TradeSLSBBean.java:140) ... 88 more Caused by: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not get or update next value at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614) at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:226) at org.jboss.jpa.tx.TransactionScopedEntityManager.persist(TransactionScopedEntityManager.java:187) at org.apache.geronimo.samples.daytrader.ejb3.TradeSLSBBean.createOrder(TradeSLSBBean.java:677) ... 89 more Caused by: org.hibernate.exception.SQLGrammarException: could not get or update next value at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.engine.TransactionHelper$1Work.doWork(TransactionHelper.java:64) at org.hibernate.engine.transaction.Isolater$JtaDelegate.delegateWork(Isolater.java:130) at org.hibernate.engine.transaction.Isolater.doIsolatedWork(Isolater.java:64) at org.hibernate.engine.TransactionHelper.doWorkInNewTransaction(TransactionHelper.java:74) at org.hibernate.id.MultipleHiLoPerTableGenerator.generate(MultipleHiLoPerTableGenerator.java:215) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:122) at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49) at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:154) at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:110) at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61) at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:647) at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:621) at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:625) at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:220) ... 91 more Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'TRADEDB.KEYGENEJB' doesn't exist at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:409) at com.mysql.jdbc.Util.getInstance(Util.java:384) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2275) at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:342) at org.hibernate.id.MultipleHiLoPerTableGenerator.doWorkInCurrentTransaction(MultipleHiLoPerTableGenerator.java:161) at org.hibernate.engine.TransactionHelper$1Work.doWork(TransactionHelper.java:61) ... 104 more 
> and in the log, I have this error :
> 16:58:30,878 ERROR [MultipleHiLoPerTableGenerator] could not read or init a hi value
> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'TRADEDB.KEYGENEJB' doesn't exist
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> ...
> 16:58:30,881 WARN  [JDBCExceptionReporter] SQL Error: 1146, SQLState: 42S02
> 16:58:30,882 ERROR [JDBCExceptionReporter] Table 'TRADEDB.KEYGENEJB' doesn't exist
> 16:58:30,883 ERROR [Log] Error: TradeSLSBBean:createOrder -- failed to create Order
>         javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not get or update next value
> 16:58:30,883 INFO  [STDOUT] javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not get or update next value
> 16:58:30,884 INFO  [STDOUT]     at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614)
> ...
> 16:58:30,899 INFO  [STDOUT] Caused by: org.hibernate.exception.SQLGrammarException: could not get or update next value
> 16:58:30,899 INFO  [STDOUT]     at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
> 16:58:30,899 INFO  [STDOUT]     at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
> ...
> 16:58:30,902 INFO  [STDOUT] Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'TRADEDB.KEYGENEJB' doesn't exist
> 16:58:30,902 INFO  [STDOUT]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 16:58:30,902 INFO  [STDOUT]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> ...
> 16:58:30,905 ERROR [Log] Error: TradeSLSBBean:buy(uid:0,s:0,100.0) --> failed
>         javax.ejb.EJBException: TradeSLSBBean:createOrder -- failed to create Order
> 16:58:30,905 INFO  [STDOUT] javax.ejb.EJBException: TradeSLSBBean:createOrder -- failed to create Order
> 16:58:30,906 INFO  [STDOUT]     at org.apache.geronimo.samples.daytrader.ejb3.TradeSLSBBean.createOrder(TradeSLSBBean.java:680)
> ...
> 16:58:30,919 INFO  [STDOUT] Caused by: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not get or update next value
> 16:58:30,920 INFO  [STDOUT]     at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614)
> 16:58:30,920 INFO  [STDOUT]     at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:226)
> ...
> 16:58:30,921 INFO  [STDOUT] Caused by: org.hibernate.exception.SQLGrammarException: could not get or update next value
> 16:58:30,921 INFO  [STDOUT]     at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
> ...
> 16:58:30,924 INFO  [STDOUT] Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'TRADEDB.KEYGENEJB' doesn't exist
> 16:58:30,924 INFO  [STDOUT]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 16:58:30,924 INFO  [STDOUT]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> ...
> 16:58:30,944 ERROR [[TradeAppServlet]] "Servlet.service()" pour la servlet TradeAppServlet a g?n?r? une exception
> com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'TRADEDB.KEYGENEJB' doesn't exist
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> ... 
> Best regards.
> Sorry for all theses tickets but I need to have a J2EE app to do some benchmarks with Jboss EAP 5.1.0.
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.