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]

Reply via email to