[
https://issues.jboss.org/browse/ISPN-5651?page=com.atlassian.jira.plugin....
]
Galder Zamarreño resolved ISPN-5651.
------------------------------------
Assignee: Galder Zamarreño
Resolution: Rejected
The client throws the exception back to the user, there's nothing the client could log
more here, e.g. the server side stacktrace, since that's not shipped to the client. As
far as the server is concerned, when there's such a ClassCastException generated
within core, InvocationContextInterceptor logs it as ERROR already:
{code}
2015-10-27 09:49:36,155 ERROR [org.infinispan.interceptors.InvocationContextInterceptor]
(HotRodServerWorker-3-1:[]) ISPN000136: Execution error
java.lang.ClassCastException:
org.infinispan.container.entries.metadata.MetadataImmortalCacheEntry cannot be cast to
java.lang.Integer
at
org.infinispan.interceptors.CallInterceptor.visitGetCacheEntryCommand(CallInterceptor.java:89)
~[classes/:?]
at
org.infinispan.commands.read.GetCacheEntryCommand.acceptVisitor(GetCacheEntryCommand.java:39)
~[classes/:?]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
~[classes/:?]
at
org.infinispan.interceptors.EntryWrappingInterceptor.visitDataReadCommand(EntryWrappingInterceptor.java:133)
~[classes/:?]
at
org.infinispan.interceptors.EntryWrappingInterceptor.visitGetCacheEntryCommand(EntryWrappingInterceptor.java:127)
~[classes/:?]
at
org.infinispan.commands.read.GetCacheEntryCommand.acceptVisitor(GetCacheEntryCommand.java:39)
~[classes/:?]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
~[classes/:?]
at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:113)
~[classes/:?]
at
org.infinispan.commands.AbstractVisitor.visitGetCacheEntryCommand(AbstractVisitor.java:90)
~[classes/:?]
at
org.infinispan.commands.read.GetCacheEntryCommand.acceptVisitor(GetCacheEntryCommand.java:39)
~[classes/:?]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
~[classes/:?]
at
org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataReadCommand(NonTransactionalLockingInterceptor.java:31)
~[classes/:?]
at
org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitGetCacheEntryCommand(AbstractLockingInterceptor.java:81)
~[classes/:?]
at
org.infinispan.commands.read.GetCacheEntryCommand.acceptVisitor(GetCacheEntryCommand.java:39)
~[classes/:?]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
~[classes/:?]
at
org.infinispan.interceptors.CacheMgmtInterceptor.visitDataReadCommand(CacheMgmtInterceptor.java:103)
~[classes/:?]
at
org.infinispan.interceptors.CacheMgmtInterceptor.visitGetCacheEntryCommand(CacheMgmtInterceptor.java:95)
~[classes/:?]
at
org.infinispan.commands.read.GetCacheEntryCommand.acceptVisitor(GetCacheEntryCommand.java:39)
~[classes/:?]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
~[classes/:?]
at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:102)
[classes/:?]
at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:71)
[classes/:?]
at
org.infinispan.commands.AbstractVisitor.visitGetCacheEntryCommand(AbstractVisitor.java:90)
[classes/:?]
at
org.infinispan.commands.read.GetCacheEntryCommand.acceptVisitor(GetCacheEntryCommand.java:39)
[classes/:?]
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:336)
[classes/:?]
at org.infinispan.cache.impl.CacheImpl.getCacheEntry(CacheImpl.java:418) [classes/:?]
at org.infinispan.cache.impl.CacheImpl.getCacheEntry(CacheImpl.java:424) [classes/:?]
at org.infinispan.server.hotrod.CacheDecodeContext.get(CacheDecodeContext.scala:176)
[classes/:?]
at
org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$hotrod$HotRodDecoder$$decodeKey(HotRodDecoder.scala:98)
[classes/:?]
at
org.infinispan.server.hotrod.HotRodDecoder$$anonfun$decode$1.apply$mcV$sp(HotRodDecoder.scala:48)
[classes/:?]
at org.infinispan.server.hotrod.HotRodDecoder.wrapSecurity(HotRodDecoder.scala:206)
[classes/:?]
at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.scala:45)
[classes/:?]
at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:370)
[netty-all-4.0.25.Final.jar:4.0.25.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:168)
[netty-all-4.0.25.Final.jar:4.0.25.Final]
at
org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$core$transport$StatsChannelHandler$$super$channelRead(HotRodDecoder.scala:31)
[classes/:?]
at
org.infinispan.server.core.transport.StatsChannelHandler$class.channelRead(StatsChannelHandler.scala:32)
[classes/:?]
at org.infinispan.server.hotrod.HotRodDecoder.channelRead(HotRodDecoder.scala:31)
[classes/:?]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
[netty-all-4.0.25.Final.jar:4.0.25.Final]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
[netty-all-4.0.25.Final.jar:4.0.25.Final]
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
[netty-all-4.0.25.Final.jar:4.0.25.Final]
at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130)
[netty-all-4.0.25.Final.jar:4.0.25.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
[netty-all-4.0.25.Final.jar:4.0.25.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
[netty-all-4.0.25.Final.jar:4.0.25.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
[netty-all-4.0.25.Final.jar:4.0.25.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
[netty-all-4.0.25.Final.jar:4.0.25.Final]
at
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
[netty-all-4.0.25.Final.jar:4.0.25.Final]
at
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
[netty-all-4.0.25.Final.jar:4.0.25.Final]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_40]
{code}
Internal RuntimeExceptions which have impact on the functionality
should be logged as ERROR
-------------------------------------------------------------------------------------------
Key: ISPN-5651
URL:
https://issues.jboss.org/browse/ISPN-5651
Project: Infinispan
Issue Type: Bug
Components: Core
Reporter: Wolf-Dieter Fink
Assignee: Galder Zamarreño
Description of problem:
If internal issues throw RuntimeException (i.e. like ClassCastException see
https://issues.jboss.org/browse/ISPN-5647) it is very difficult to track this down as the
Exception is only visible if the HotRod client! run with activated DEBUG/TRACE level.
The ERROR should be logged at server side!
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)