[CONTROLLER-692] statisticsmanager throws exception when updating statistics Created: 14/Aug/14  Updated: 15/Aug/14  Resolved: 15/Aug/14

Status: Resolved
Project: controller
Component/s: mdsal
Affects Version/s: Helium
Fix Version/s: None

Type: Bug
Reporter: Moiz Raja Assignee: Vaclav Demcak
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Mac OS
Platform: PC


Issue Links:
Duplicate
duplicates OPNFLWPLUG-240 Statistics manager: missing key getId Resolved
External issue ID: 1552

 Description   

I see this problem with the distributed data store

2014-08-14 08:04:09.320 PDT [md-sal-binding-notification-9] ERROR o.o.c.sal.binding.impl.NotifyTask - Unhandled exception thrown by listener: org.opendaylight.controller.md.statistics.manager.StatisticsListener$$Broker$ListenerInvoker@4d5a76b5
java.lang.IllegalArgumentException: All keys must be specified for class org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey. Missing key is getId. Supplied key is NodeConnectorKey []
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:119) ~[na:na]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext$ValueContext.getAndSerialize(BindingCodecContext.java:329) ~[na:na]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext$IdentifiableItemCodec.serialize(BindingCodecContext.java:383) ~[na:na]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext$IdentifiableItemCodec.serialize(BindingCodecContext.java:344) ~[na:na]
at org.opendaylight.yangtools.binding.data.codec.impl.ListNodeCodecContext.serialize(ListNodeCodecContext.java:83) ~[na:na]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingToNormalizedStreamWriter.startMapEntryNode(BindingToNormalizedStreamWriter.java:160) ~[na:na]
at org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector$StreamWriter.serialize(DataObjectSerializerPrototype.java) ~[na:na]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry$DataObjectSerializerProxy.serialize(BindingNormalizedNodeCodecRegistry.java:180) ~[na:na]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toNormalizedNode(BindingNormalizedNodeCodecRegistry.java:91) ~[na:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalizedNode(BindingToNormalizedNodeCodec.java:57) ~[na:na]
at org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.merge(AbstractWriteTransaction.java:60) ~[na:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$ForwardedBackwardsCompatibleTransacion.putOperationalData(ForwardedBackwardsCompatibleDataBroker.java:220) ~[na:na]
at org.opendaylight.controller.md.sal.binding.impl.ForwardedBackwardsCompatibleDataBroker$ForwardedBackwardsCompatibleTransacion.putOperationalData(ForwardedBackwardsCompatibleDataBroker.java:186) ~[na:na]
at org.opendaylight.controller.md.statistics.manager.NodeConnectorStatsTracker.updateSingleStat(NodeConnectorStatsTracker.java:70) ~[na:na]
at org.opendaylight.controller.md.statistics.manager.NodeConnectorStatsTracker.updateSingleStat(NodeConnectorStatsTracker.java:24) ~[na:na]
at org.opendaylight.controller.md.statistics.manager.AbstractStatsTracker.updateStats(AbstractStatsTracker.java:107) ~[na:na]
at org.opendaylight.controller.md.statistics.manager.NodeStatisticsHandler.updateNodeConnectorStats(NodeStatisticsHandler.java:186) ~[na:na]
at org.opendaylight.controller.md.statistics.manager.StatisticsListener.onNodeConnectorStatisticsUpdate(StatisticsListener.java:125) ~[na:na]
at org.opendaylight.controller.md.statistics.manager.StatisticsListener$$Broker$ListenerInvoker.onNotification(StatisticsListener$$Broker$ListenerInvoker.java) ~[na:na]
at org.opendaylight.controller.sal.binding.impl.AbstractNotificationListenerRegistration.notify(AbstractNotificationListenerRegistration.java:38) ~[na:na]
at org.opendaylight.controller.sal.binding.impl.NotifyTask.run(NotifyTask.java:42) ~[na:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_45]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]



 Comments   
Comment by Moiz Raja [ 14/Aug/14 ]

This problem is reproducible with both the InMemory and Distributed Datastores

Generated at Wed Feb 07 19:53:38 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.