[ 
https://issues.apache.org/jira/browse/KAFKA-13400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17435406#comment-17435406
 ] 

Gary Russell commented on KAFKA-13400:
--------------------------------------

[~mjsax] It's hard to say without seeing code, but stack frames like this...

{code}
...
at 
com.siriusxm.rtp.event.impl.DefaultStateStoreManager.putEvent(DefaultStateStoreManager.java:270)
at 
com.siriusxm.rtp.event.impl.DefaultStateStoreManager$$FastClassBySpringCGLIB$$5d9d5a55.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at 
org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:62)
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at 
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
at 
com.siriusxm.rtp.event.impl.DefaultStateStoreManager$$EnhancerBySpringCGLIB$$506c3de2.putEvent(<generated>)
at 
com.siriusxm.rtp.event.AccountStateManager.doCachedUpdate(AccountStateManager.java:127)
...
{code}

generally means that the AccountStateManager is invoking the 
DefaultStateStoreManager via a Spring AOP (aspect oriented programming) proxy; 
the reflection has nothing to do with user code, it's simply a technique to 
apply common code to a method call (in this case doCacheUpdate is calling 
putEvent, which subsequently calls 
org.apache.kafka.streams.processor.internals.AbstractReadWriteDecorator$KeyValueStoreReadWriteDecorator.put(AbstractReadWriteDecorator.java:120)

The AOP proxy is like writing a wrapper class around the target, it is used to 
add behavior to the method, but without having to write specific code for each 
class - in this case, it looks like they are adding behavior when an exception 
is thrown (AspectJAfterThrowingAdvice).



> offset() is not supported in standby tasks.
> -------------------------------------------
>
>                 Key: KAFKA-13400
>                 URL: https://issues.apache.org/jira/browse/KAFKA-13400
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 2.8.1
>            Reporter: prabhu biradar
>            Priority: Major
>
> Hi,
> We are facing below exception in production, post upgrade to 2.8.1
> this should not happen: offset() is not supported in standby tasks.
> java.lang.UnsupportedOperationException: this should not happen: offset() is 
> not supported in standby tasks.
> at 
> org.apache.kafka.streams.processor.internals.ProcessorContextImpl.throwUnsupportedOperationExceptionIfStandby(ProcessorContextImpl.java:360)
> at 
> org.apache.kafka.streams.processor.internals.ProcessorContextImpl.offset(ProcessorContextImpl.java:330)
> at 
> org.apache.kafka.streams.state.internals.CachingKeyValueStore.putInternal(CachingKeyValueStore.java:154)
> at 
> org.apache.kafka.streams.state.internals.CachingKeyValueStore.put(CachingKeyValueStore.java:139)
> at 
> org.apache.kafka.streams.state.internals.CachingKeyValueStore.put(CachingKeyValueStore.java:43)
> at 
> org.apache.kafka.streams.state.internals.MeteredKeyValueStore.lambda$put$4(MeteredKeyValueStore.java:200)
> at 
> org.apache.kafka.streams.processor.internals.metrics.StreamsMetricsImpl.maybeMeasureLatency(StreamsMetricsImpl.java:879)
> at 
> org.apache.kafka.streams.state.internals.MeteredKeyValueStore.put(MeteredKeyValueStore.java:200)
> at 
> org.apache.kafka.streams.processor.internals.AbstractReadWriteDecorator$KeyValueStoreReadWriteDecorator.put(AbstractReadWriteDecorator.java:120)
> at 
> com.siriusxm.rtp.event.impl.DefaultStateStoreManager.putEvent(DefaultStateStoreManager.java:262)
> at 
> com.siriusxm.rtp.event.impl.DefaultStateStoreManager.putEvent(DefaultStateStoreManager.java:270)
> at 
> com.siriusxm.rtp.event.impl.DefaultStateStoreManager$$FastClassBySpringCGLIB$$5d9d5a55.invoke(<generated>)
> at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to