Unblock the Aluminium Jenkins Verified Build Pass 28/91528/1
authorKarthikeyan Krishnan <karthikeyangceb007@gmail.com>
Wed, 22 Jul 2020 09:35:21 +0000 (15:05 +0530)
committerKarthikeyan Krishnan <karthikeyangceb007@gmail.com>
Wed, 22 Jul 2020 09:42:24 +0000 (15:12 +0530)
Issue;
=====
Post Openflowplugin patch[0] merge, netvirt build is starting to get
failed with below key related issues.

18: 37:14 [ERROR] COMPILATION ERROR :
18: 37:14 [INFO]
18:37:14 [ERROR]
/w/workspace/netvirt-maven-javadoc-publish-aluminium-openjdk11/aclservice/impl/src/main/java/org/
opendaylight/netvirt/aclservice/stats/AclLiveStatisticsHelper.java:[29,108]
cannot find symbol
18:37:14   symbol:   class FlowAndStatisticsMapListKey
18:37:14   location: package
org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819
.flow.and.statistics.map.list
18:37:14 [INFO] 1 error

Jenkins build reference :
https://jenkins.opendaylight.org/releng/job/netvirt-maven-javadoc-verify-aluminium-openjdk11/338/console

[0] https://git.opendaylight.org/gerrit/c/openflowplugin/+/90390

Solution:
========
FlowAndStatisticsMapListKey is being used in only ACL service so changed
this method to List instead of Map

Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>
Change-Id: I0a4dc6ad9e738b292b394790f6ff9944442c49e1

aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/stats/AclLiveStatisticsHelper.java

index 0f416e7203b94ceca0c1329b70e1410740ea36bc..cb1b425c049e9e3acd67a08a737f49bb420a8f54 100644 (file)
@@ -11,7 +11,6 @@ package org.opendaylight.netvirt.aclservice.stats;
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import org.eclipse.jdt.annotation.NonNull;
@@ -26,7 +25,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511
 import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.GetFlowStatisticsOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.OpendaylightDirectStatisticsService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.flow.and.statistics.map.list.FlowAndStatisticsMapList;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.flow.and.statistics.map.list.FlowAndStatisticsMapListKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.FlowCookie;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
@@ -154,9 +152,8 @@ public final class AclLiveStatisticsHelper {
      */
     private static void getAclDropStats(Direction direction, AclPortStatsBuilder aclStatsBuilder,
             GetFlowStatisticsOutput flowStatsOutput) {
-        Map<FlowAndStatisticsMapListKey, FlowAndStatisticsMapList> keyFlowAndStatisticsMapListMap
-                = flowStatsOutput.getFlowAndStatisticsMapList();
-        if (keyFlowAndStatisticsMapListMap == null || keyFlowAndStatisticsMapListMap.isEmpty()) {
+        List<FlowAndStatisticsMapList> flowAndStatisticsMapList = flowStatsOutput.getFlowAndStatisticsMapList();
+        if (flowAndStatisticsMapList == null || flowAndStatisticsMapList.isEmpty()) {
             String errMsg = "Unable to retrieve drop counts as interface is not configured for statistics collection.";
             aclStatsBuilder.setError(new ErrorBuilder().setErrorMessage(errMsg).build());
             return;
@@ -168,7 +165,7 @@ public final class AclLiveStatisticsHelper {
         PacketsBuilder portEgressPacketsBuilder = new PacketsBuilder();
         PacketsBuilder portIngressPacketsBuilder = new PacketsBuilder();
 
-        for (FlowAndStatisticsMapList flowStats : keyFlowAndStatisticsMapListMap.values()) {
+        for (FlowAndStatisticsMapList flowStats : flowAndStatisticsMapList) {
             switch (flowStats.getTableId().toJava()) {
                 case NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE:
                     if (AclConstants.CT_STATE_TRACKED_INVALID_PRIORITY.equals(flowStats.getPriority().toJava())) {