Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-136

Remote RPC Broker fails configuration transaction if clustering table service is not started.

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • mdsal
    • None
    • Operating System: Linux
      Platform: PC

    • 362
    • Highest

    Description

      Remote RPC Broker, requires runtime dependency not managed by config subsystem
      which is clustered rpc routing table.

      In second phase of commit - when all the verification should be done,
      remote-rpc broker throws an exception if routing table is still not available (this one is activated by Felix DM), which tears down whole transaction and config subsystem and prevents logging.

      This bug was present before, but was not seen, before performance fix was
      applied to MD-SAL startup, which now gets initialized faster then original clustering service.

      Remote RPC Broker should postpone it's operations till table is available,
      not fail to start without table.

      For now Remote RPC Broker is moved to separate transaction
      https://git.opendaylight.org/gerrit/#/c/4698/1
      to not prevent MD-SAL from starting.

      Exception:
      ava.lang.NullPointerException: null
      at java.lang.StringBuilder.<init>(StringBuilder.java:109) ~[na:1.7.0_21]
      at org.opendaylight.controller.sal.connector.remoterpc.ServerImpl.<init>(ServerImpl.java:79) ~[na:na]
      at org.opendaylight.controller.config.yang.md.sal.remote.rpc.ZeroMQServerModule.createInstance(ZeroMQServerModule.java:49) ~[na:na]
      at org.opendaylight.controller.config.yang.md.sal.remote.rpc.AbstractZeroMQServerModule.getInstance(AbstractZeroMQServerModule.java:107) ~[na:na]
      at org.opendaylight.controller.config.manager.impl.ConfigTransactionControllerImpl.secondPhaseCommit(ConfigTransactionControllerImpl.java:381) ~[bundlefile:na]
      at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.secondPhaseCommit(ConfigRegistryImpl.java:264) [bundlefile:na]
      at org.opendaylight.controller.config.manager.impl.ConfigRegistryImpl.commitConfig(ConfigRegistryImpl.java:208) [bundlefile:na]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_21]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_21]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_21]
      at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_21]
      at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:192) [na:1.7.0_21]

      Attachments

        Issue Links

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

          Activity

            People

              abhishk2@cisco.com Abhishek Kumar
              tony.tkacik@gmail.com Tony Tkacik
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: