2011shenlin commented on PR #177: URL: https://github.com/apache/rocketmq-eventbridge/pull/177#issuecomment-2368165852
> # Error happend when testing /type/listEventTypes > @2011shenlin > > It seems like an internal error leading to SQL syntax error... any suggestions ? > > error message from access log of eventbridge: > > ``` > 2024-08-31 23:00:19.586@@@@@@@@[reactor-http-server-epoll-8]@@INFO@@accessLog[62]@@requestTraceId : | url : http://127.0.0.1:7001/type/listEventTypes | requestParam : {} | requestMethod : POST | requestBody : "{\"eventSourceName\":\"newSource\",\"maxResults\":10,\"nextToken\":\"0\",\"eventBusName\":\"newBus\"}" > > 2024-08-31 23:00:19.589@@@@@@@@[reactor-http-server-epoll-8]@@ERROR@@accessLog[64]@@Catch unexpected exception. > > org.springframework.jdbc.BadSqlGrammarException: > > ### Error querying database. Cause: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "SELECT > > ACCOUNT_ID,BUS,SOURCE,NAME,DESCRIPTION,GMT_CREATE,GMT_MODIFY > > FROM > > EVENT_TYPE > > WHERE ACCOUNT_ID = ? > > AND BUS = ? > > AND SOURCE = ? > > LIMIT ? ?[*] "; SQL statement: > > SELECT > > account_id,bus,source,name,description,gmt_create,gmt_modify > > FROM > > event_type > > WHERE account_id = ? > > AND bus = ? > > AND source = ? > > LIMIT ? ? [42000-197] > > ### The error may exist in class path resource [mybatis/EventTypeMapper.xml] > > ### The error may involve org.apache.rocketmq.eventbridge.adapter.persistence.type.mybatis.mapper.EventTypeMapper.listEventTypes > > ### The error occurred while executing a query > > ### SQL: SELECT account_id,bus,source,name,description,gmt_create,gmt_modify FROM event_type WHERE account_id = ? AND bus = ? AND source = ? LIMIT ? ? > > ### Cause: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "SELECT > > ACCOUNT_ID,BUS,SOURCE,NAME,DESCRIPTION,GMT_CREATE,GMT_MODIFY > > FROM > > EVENT_TYPE > > WHERE ACCOUNT_ID = ? > > AND BUS = ? > > AND SOURCE = ? > > LIMIT ? ?[*] "; SQL statement: > > SELECT > > account_id,bus,source,name,description,gmt_create,gmt_modify > > FROM > > event_type > > WHERE account_id = ? > > AND bus = ? > > AND source = ? > > LIMIT ? ? [42000-197] > > ; bad SQL grammar []; nested exception is org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "SELECT > > ACCOUNT_ID,BUS,SOURCE,NAME,DESCRIPTION,GMT_CREATE,GMT_MODIFY > > FROM > > EVENT_TYPE > > WHERE ACCOUNT_ID = ? > > AND BUS = ? > > AND SOURCE = ? > > LIMIT ? ?[*] "; SQL statement: > > SELECT > > account_id,bus,source,name,description,gmt_create,gmt_modify > > FROM > > event_type > > WHERE account_id = ? > > AND bus = ? > > AND source = ? > > LIMIT ? ? [42000-197] > > at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:234) > at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) > at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:88) > at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440) > at com.sun.proxy.$Proxy81.selectList(Unknown Source) > at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223) > at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:147) > at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:80) > at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152) > at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85) > at com.sun.proxy.$Proxy91.listEventTypes(Unknown Source) > at org.apache.rocketmq.eventbridge.adapter.persistence.type.mybatis.repository.MybatisEventTypeRepository.listEventTypes(MybatisEventTypeRepository.java:55) > at org.apache.rocketmq.eventbridge.adapter.persistence.type.mybatis.repository.MybatisEventTypeRepository$$FastClassBySpringCGLIB$$e76c98f9.invoke(<generated>) > at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) > at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746) > at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) > at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) > at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) > at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) > at org.apache.rocketmq.eventbridge.adapter.persistence.type.mybatis.repository.MybatisEventTypeRepository$$EnhancerBySpringCGLIB$$b9241d22.listEventTypes(<generated>) > at org.apache.rocketmq.eventbridge.domain.model.source.EventTypeService.listEventTypes(EventTypeService.java:39) > at org.apache.rocketmq.eventbridge.adapter.api.controller.EventTypeController.lambda$listEventTypes$1(EventTypeController.java:50) > at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:107) > at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:1637) > at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:156) > at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:138) > at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:156) > at org.springframework.http.server.reactive.ChannelSendOperator$WriteBarrier.onSubscribe(ChannelSendOperator.java:163) > at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:90) > at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:172) > at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:90) > at reactor.core.publisher.MonoCurrentContext.subscribe(MonoCurrentContext.java:33) > at reactor.core.publisher.MonoMapFuseable.subscribe(MonoMapFuseable.java:59) > at reactor.core.publisher.MonoPeekFuseable.subscribe(MonoPeekFuseable.java:74) > at reactor.core.publisher.FluxSourceMonoFuseable.subscribe(FluxSourceMonoFuseable.java:38) > at reactor.core.publisher.FluxMapFuseable.subscribe(FluxMapFuseable.java:63) > at org.springframework.http.server.reactive.ChannelSendOperator.subscribe(ChannelSendOperator.java:74) > at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44) > at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:150) > at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1080) > at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:241) > at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:73) > at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:198) > at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:198) > at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1080) > at reactor.core.publisher.MonoIgnoreThen$ThenAcceptInner.onNext(MonoIgnoreThen.java:290) > at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1080) > at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:144) > at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1080) > at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:241) > at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:323) > at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:185) > at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:92) > at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:67) > at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:73) > at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1080) > at reactor.core.publisher.MonoSingle$SingleSubscriber.onComplete(MonoSingle.java:171) > at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:130) > at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:773) > at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:543) > at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:523) > at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:409) > at reactor.core.publisher.DrainUtils.postCompleteDrain(DrainUtils.java:131) > at reactor.core.publisher.DrainUtils.postComplete(DrainUtils.java:186) > at reactor.core.publisher.FluxMapSignal$FluxMapSignalSubscriber.onComplete(FluxMapSignal.java:213) > at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:245) > at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:130) > at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:245) > at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:130) > at reactor.ipc.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:377) > at reactor.ipc.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:202) > at reactor.ipc.netty.channel.FluxReceive.request(FluxReceive.java:110) > at reactor.core.publisher.FluxMap$MapSubscriber.request(FluxMap.java:149) > at reactor.core.publisher.FluxPeek$PeekSubscriber.request(FluxPeek.java:130) > at reactor.core.publisher.FluxMap$MapSubscriber.request(FluxMap.java:149) > at reactor.core.publisher.FluxPeek$PeekSubscriber.request(FluxPeek.java:130) > at reactor.core.publisher.FluxMapSignal$FluxMapSignalSubscriber.request(FluxMapSignal.java:225) > at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:332) > at reactor.core.publisher.FluxMapSignal$FluxMapSignalSubscriber.onSubscribe(FluxMapSignal.java:115) > at reactor.core.publisher.FluxPeek$PeekSubscriber.onSubscribe(FluxPeek.java:163) > at reactor.core.publisher.FluxMap$MapSubscriber.onSubscribe(FluxMap.java:86) > at reactor.core.publisher.FluxPeek$PeekSubscriber.onSubscribe(FluxPeek.java:163) > at reactor.core.publisher.FluxMap$MapSubscriber.onSubscribe(FluxMap.java:86) > at reactor.ipc.netty.channel.FluxReceive.startReceiver(FluxReceive.java:273) > at reactor.ipc.netty.channel.FluxReceive.subscribe(FluxReceive.java:124) > at reactor.core.publisher.FluxMap.subscribe(FluxMap.java:62) > at reactor.ipc.netty.ByteBufFlux.subscribe(ByteBufFlux.java:242) > at reactor.core.publisher.FluxPeek.subscribe(FluxPeek.java:83) > at reactor.ipc.netty.ByteBufFlux.subscribe(ByteBufFlux.java:242) > at reactor.core.publisher.FluxMap.subscribe(FluxMap.java:62) > at reactor.core.publisher.FluxPeek.subscribe(FluxPeek.java:83) > at reactor.core.publisher.FluxMapSignal.subscribe(FluxMapSignal.java:69) > at reactor.core.publisher.FluxFlatMap.subscribe(FluxFlatMap.java:97) > at reactor.core.publisher.FluxMap.subscribe(FluxMap.java:62) > at reactor.core.publisher.MonoSingle.subscribe(MonoSingle.java:58) > at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44) > at reactor.core.publisher.MonoSwitchIfEmpty.subscribe(MonoSwitchIfEmpty.java:44) > at reactor.core.publisher.MonoDefaultIfEmpty.subscribe(MonoDefaultIfEmpty.java:37) > at reactor.core.publisher.MonoPeek.subscribe(MonoPeek.java:71) > at reactor.core.publisher.Mono.subscribe(Mono.java:3080) > at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:128) > at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60) > at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) > at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:148) > at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:56) > at reactor.core.publisher.MonoPeekFuseable.subscribe(MonoPeekFuseable.java:74) > at reactor.core.publisher.MonoPeekFuseable.subscribe(MonoPeekFuseable.java:74) > at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44) > at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:150) > at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:67) > at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:76) > at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.innerNext(FluxConcatMap.java:271) > at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:803) > at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:115) > at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:1637) > at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:156) > at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:1451) > at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:1325) > at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:90) > at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:54) > at reactor.core.publisher.MonoMapFuseable.subscribe(MonoMapFuseable.java:59) > at reactor.core.publisher.Mono.subscribe(Mono.java:3080) > at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:418) > at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:210) > at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:128) > at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:61) > at reactor.core.publisher.FluxConcatMap.subscribe(FluxConcatMap.java:121) > at reactor.core.publisher.MonoNext.subscribe(MonoNext.java:40) > at reactor.core.publisher.MonoSwitchIfEmpty.subscribe(MonoSwitchIfEmpty.java:44) > at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60) > at reactor.core.publisher.MonoFlatMap.subscribe(MonoFlatMap.java:60) > at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) > at reactor.core.publisher.MonoSubscriberContext.subscribe(MonoSubscriberContext.java:47) > at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) > at reactor.core.publisher.MonoSubscriberContext.subscribe(MonoSubscriberContext.java:47) > at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) > at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) > at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44) > at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44) > at reactor.core.publisher.MonoOnErrorResume.subscribe(MonoOnErrorResume.java:44) > at reactor.core.publisher.Mono.subscribe(Mono.java:3080) > at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:167) > at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:56) > at reactor.core.publisher.MonoPeekFuseable.subscribe(MonoPeekFuseable.java:70) > at reactor.core.publisher.MonoPeekTerminal.subscribe(MonoPeekTerminal.java:61) > at reactor.ipc.netty.channel.ChannelOperations.applyHandler(ChannelOperations.java:380) > at reactor.ipc.netty.http.server.HttpServerOperations.onHandlerStart(HttpServerOperations.java:397) > at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) > at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) > at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:309) > at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) > at java.lang.Thread.run(Thread.java:750) > ``` FIXED -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
