Uploaded image for project: 'OpenFlowPlugin'
  1. OpenFlowPlugin
  2. OPNFLWPLUG-390

[LithiumBuild3335] ODL Controller crashed after connecting 500 switches without any links

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • General
    • None
    • Operating System: All
      Platform: All

    • 2929

    Description

      1) Run karaf
      2) Enable the below features
      feature:install odl-openflowplugin-flow-services
      feature:install odl-dlux-all
      feature:install odl-l2switch-all
      feature:install odl-l2switch-switch-ui
      feature:install odl-l2switch-switch-rest

      3) Using mininet connect 500 switches without any links
      4) Controller crashed with following Exception

      opendaylight-user@root>Exception in thread "Thread-49388" java.util.concurrent.RejectedExecutionException: Task org.opendaylight.openflowplugin.openflow.md.core.HandshakeStepWrapper@5719fc8d rejected from org.opendaylight.openflowplugin.openflow.md.core.ThreadPoolLoggingExecutor@5c01b9dc[Shutting down, pool size = 0, active threads = 0, queued tasks = 1, completed tasks = 0]
      at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2048)
      at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)
      at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)
      at org.opendaylight.openflowplugin.openflow.md.core.ConnectionConductorImpl.onConnectionReady(ConnectionConductorImpl.java:450)
      at org.opendaylight.openflowjava.protocol.impl.core.connection.ConnectionAdapterImpl$3.run(ConnectionAdapterImpl.java:449)
      at java.lang.Thread.run(Thread.java:744)
      Exception in thread "odl-stat-rpc-oper-thread-0" java.lang.OutOfMemoryError: Java heap space
      at java.util.Arrays.copyOfRange(Arrays.java:2694)
      at java.lang.String.<init>(String.java:203)
      at java.lang.StringBuilder.toString(StringBuilder.java:405)
      at java.lang.Throwable.toString(Throwable.java:481)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:97)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)
      at org.apache.log4j.OsgiThrowableRenderer.doRender(OsgiThrowableRenderer.java:118)

      5) Operational datastore continue to operate and shows 100 switches even if the switches are disconnected.

      Attachments

        1. 500Switch.py
          0.3 kB
        2. karaf.zip
          78 kB
        3. log.zip
          934 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            sandeep.gangadharan@hp.com SANDEEP GANGADHARAN
            sandeep.gangadharan@hp.com SANDEEP GANGADHARAN
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: