Uploaded image for project: 'ONOS'
  1. ONOS
  2. ONOS-4495

Inconsistent intent states between ONOS nodes, followed by KryoException

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Blocker
    • Resolution: Done
    • Affects Version/s: 1.6.0
    • Fix Version/s: 1.6.0
    • Component/s: None
    • Labels:
    • Environment:
    • Story Points:
      3
    • Epic Link:
    • Sprint:
      Goldeneye Black Sprint #3

      Description

      In a 3-node cluster, when trying to install host intents one by one, the nodes show different intent states, even for the 2nd or 3rd intent installation. Some intents on some nodes may stuck in INSTALLING state, or just not shown in any state (disappeared).

      In addition, the 4th intent installation always causes KryoException:

      2016-05-05 12:24:54,330 | ERROR | entLoopGroup-3-2 | NettyMessagingManager | 131 - org.onosproject.onos-core-dist - 1.6.0.SNAPSHOT | Exception inside channel handling pipeline.
      com.esotericsoftware.kryo.KryoException: java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
      Serialization trace:
      sender (org.onosproject.store.primitives.impl.AntiEntropyAdvertisement)
      at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:144)[57:com.esotericsoftware.kryo:3.0.3]
      at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:551)[57:com.esotericsoftware.kryo:3.0.3]
      at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:790)[57:com.esotericsoftware.kryo:3.0.3]
      at org.onlab.util.KryoNamespace.deserialize(KryoNamespace.java:318)[72:org.onosproject.onlab-misc:1.6.0.SNAPSHOT]
      at org.onosproject.store.serializers.KryoSerializer.decode(KryoSerializer.java:57)[134:org.onosproject.onos-core-serializers:1.6.0.SNAPSHOT]
      at org.onosproject.store.primitives.impl.EventuallyConsistentMapImpl$$Lambda$368/354493112.apply(Unknown Source)[132:org.onosproject.onos-core-primitives:1.6.0.SNAPSHOT]
      at org.onosproject.store.cluster.messaging.impl.ClusterCommunicationManager$1.apply(ClusterCommunicationManager.java:278)[131:org.onosproject.onos-core-dist:1.6.0.SNAPSHOT]
      at org.onosproject.store.cluster.messaging.impl.ClusterCommunicationManager$InternalMessageResponder.apply(ClusterCommunicationManager.java:322)[131:org.onosproject.onos-core-dist:1.6.0.SNAPSHOT]
      at org.onosproject.store.cluster.messaging.impl.ClusterCommunicationManager$InternalMessageResponder.apply(ClusterCommunicationManager.java:306)[131:org.onosproject.onos-core-dist:1.6.0.SNAPSHOT]
      at org.onosproject.store.cluster.messaging.impl.NettyMessagingManager.lambda$registerHandler$7(NettyMessagingManager.java:300)[131:org.onosproject.onos-core-dist:1.6.0.SNAPSHOT]
      at org.onosproject.store.cluster.messaging.impl.NettyMessagingManager$$Lambda$70/790667994.accept(Unknown Source)[131:org.onosproject.onos-core-dist:1.6.0.SNAPSHOT]
      at org.onosproject.store.cluster.messaging.impl.NettyMessagingManager.dispatchLocally(NettyMessagingManager.java:532)[131:org.onosproject.onos-core-dist:1.6.0.SNAPSHOT]
      at org.onosproject.store.cluster.messaging.impl.NettyMessagingManager.access$900(NettyMessagingManager.java:93)[131:org.onosproject.onos-core-dist:1.6.0.SNAPSHOT]
      at org.onosproject.store.cluster.messaging.impl.NettyMessagingManager$InboundMessageDispatcher.channelRead0(NettyMessagingManager.java:488)[131:org.onosproject.onos-core-dist:1.6.0.SNAPSHOT]
      at org.onosproject.store.cluster.messaging.impl.NettyMessagingManager$InboundMessageDispatcher.channelRead0(NettyMessagingManager.java:482)[131:org.onosproject.onos-core-dist:1.6.0.SNAPSHOT]
      at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)[47:io.netty.transport:4.0.33.Final]
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)[47:io.netty.transport:4.0.33.Final]
      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)[47:io.netty.transport:4.0.33.Final]
      at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:276)[49:io.netty.codec:4.0.33.Final]
      at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:263)[49:io.netty.codec:4.0.33.Final]
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)[47:io.netty.transport:4.0.33.Final]
      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)[47:io.netty.transport:4.0.33.Final]
      at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)[47:io.netty.transport:4.0.33.Final]
      at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)[47:io.netty.transport:4.0.33.Final]
      at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)[47:io.netty.transport:4.0.33.Final]
      at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)[47:io.netty.transport:4.0.33.Final]
      at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)[47:io.netty.transport:4.0.33.Final]
      at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)[47:io.netty.transport:4.0.33.Final]
      at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)[45:io.netty.common:4.0.33.Final]
      at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)[45:io.netty.common:4.0.33.Final]
      at java.lang.Thread.run(Thread.java:745)[:1.8.0_25]
      Caused by: java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
      at java.util.ArrayList.rangeCheck(ArrayList.java:653)[:1.8.0_25]
      at java.util.ArrayList.get(ArrayList.java:429)[:1.8.0_25]
      at com.esotericsoftware.kryo.util.MapReferenceResolver.getReadObject(MapReferenceResolver.java:60)[57:com.esotericsoftware.kryo:3.0.3]
      at com.esotericsoftware.kryo.Kryo.readReferenceOrNull(Kryo.java:834)[57:com.esotericsoftware.kryo:3.0.3]
      at com.esotericsoftware.kryo.Kryo.readObjectOrNull(Kryo.java:757)[57:com.esotericsoftware.kryo:3.0.3]
      at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:132)[57:com.esotericsoftware.kryo:3.0.3]
      ... 30 more

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              You You Wang
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: