[NETCONF-604] WebSocketServer should not have static methods and static WebSocketServer (self) field Created: 23/Jan/19  Updated: 29/Jan/19  Resolved: 29/Jan/19

Status: Resolved
Project: netconf
Component/s: None
Affects Version/s: None
Fix Version/s: Neon

Type: Bug Priority: Medium
Reporter: Michael Vorburger Assignee: Michael Vorburger
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
blocks GENIUS-269 Light weight ("simple") Genius distri... Open

 Description   

While working on https://git.opendaylight.org/gerrit/#/c/79388/ I have come across a curious problem - my new Bierman02RestConfWiringTest introduced in that changed failed (only; it passed just fine locally) on the Jenkins job like this:
 

[INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ restconf-nb-bierman02 ---
[INFO] Surefire report directory: /w/workspace/netconf-maven-verify-neon-mvn35-openjdk8/restconf/restconf-nb-bierman02/target/surefire-reports
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.Bug3595Test
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.836 s - in org.opendaylight.controller.sal.restconf.impl.test.Bug3595Test
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.JSONRestconfServiceImplTest
[INFO] Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.663 s - in org.opendaylight.controller.sal.restconf.impl.test.JSONRestconfServiceImplTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.BrokerFacadeTest
[INFO] Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.536 s - in org.opendaylight.controller.sal.restconf.impl.test.BrokerFacadeTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.ExpressionParserTest
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.117 s - in org.opendaylight.controller.sal.restconf.impl.test.ExpressionParserTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.RestGetAugmentedElementWhenEqualNamesTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.029 s - in org.opendaylight.controller.sal.restconf.impl.test.RestGetAugmentedElementWhenEqualNamesTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.RestCodecExceptionsTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.037 s - in org.opendaylight.controller.sal.restconf.impl.test.RestCodecExceptionsTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.RestconfImplNotificationSubscribingTest
[INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.559 s - in org.opendaylight.controller.sal.restconf.impl.test.RestconfImplNotificationSubscribingTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.Bug8072Test
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.147 s - in org.opendaylight.controller.sal.restconf.impl.test.Bug8072Test
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.RestPostOperationTest
[WARNING] Tests run: 3, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 2.986 s - in org.opendaylight.controller.sal.restconf.impl.test.RestPostOperationTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.Bierman02RestConfWiringTest
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.81 s <<< FAILURE! - in org.opendaylight.controller.sal.restconf.impl.test.Bierman02RestConfWiringTest
[ERROR] testWiring(org.opendaylight.controller.sal.restconf.impl.test.Bierman02RestConfWiringTest)  Time elapsed: 1.568 s  <<< ERROR!
com.google.inject.CreationException: 
Unable to create injector, see the following errors:

1) Error notifying InjectionListener com.mycila.guice.ext.injection.MethodHandlerTypeListener$1@38f8e674 of org.opendaylight.netconf.sal.restconf.api.Bierman02RestConfWiring.
 Reason: java.lang.IllegalStateException: createInstance() has already been called
  at org.opendaylight.controller.sal.restconf.impl.test.Bierman02RestConfWiringTest$TestModule.configure(Bierman02RestConfWiringTest.java:38)
  while locating org.opendaylight.netconf.sal.restconf.api.Bierman02RestConfWiring

1 error
	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:470)
	at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:184)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)
	at com.google.inject.Guice.createInjector(Guice.java:99)
	at org.opendaylight.infrautils.inject.guice.testutils.GuiceRule.setUpGuice(GuiceRule.java:94)
	at org.opendaylight.infrautils.inject.guice.testutils.GuiceRule$1.evaluate(GuiceRule.java:84)
	at org.opendaylight.infrautils.testutils.LogRule$1.evaluate(LogRule.java:62)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
Caused by: java.lang.IllegalStateException: createInstance() has already been called
	at com.google.common.base.Preconditions.checkState(Preconditions.java:507)
	at org.opendaylight.netconf.sal.streams.websockets.WebSocketServer.createInstance(WebSocketServer.java:57)
	at org.opendaylight.netconf.sal.restconf.impl.RestconfProviderImpl.start(RestconfProviderImpl.java:42)
	at org.opendaylight.netconf.sal.restconf.api.Bierman02RestConfWiring.start(Bierman02RestConfWiring.java:90)
	at org.opendaylight.netconf.sal.restconf.api.Bierman02RestConfWiring$$FastClassByGuice$$cd9fe095.invoke(<generated>)
	at com.google.inject.internal.cglib.reflect.$FastMethod.invoke(FastMethod.java:57)
	at com.mycila.guice.ext.injection.MethodInvoker$1$1.invoke(MethodInvoker.java:46)
	at com.mycila.guice.ext.jsr250.Jsr250PostConstructHandler.handle(Jsr250PostConstructHandler.java:47)
	at com.mycila.guice.ext.jsr250.Jsr250PostConstructHandler.handle(Jsr250PostConstructHandler.java:1)
	at com.mycila.guice.ext.injection.MethodHandlerTypeListener$1.afterInjection(MethodHandlerTypeListener.java:53)
	at com.google.inject.internal.MembersInjectorImpl.notifyListeners(MembersInjectorImpl.java:119)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:121)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:205)
	at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:199)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1085)
	at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199)
	at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180)
	... 23 more

[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.RestconfDocumentedExceptionMapperTest
[WARNING] Tests run: 50, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 6.279 s - in org.opendaylight.controller.sal.restconf.impl.test.RestconfDocumentedExceptionMapperTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.RestPutOperationTest
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 s - in org.opendaylight.controller.sal.restconf.impl.test.RestPutOperationTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.MediaTypesTest
[WARNING] Tests run: 7, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 0.34 s - in org.opendaylight.controller.sal.restconf.impl.test.MediaTypesTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.RestGetOperationTest
[WARNING] Tests run: 15, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 1.574 s - in org.opendaylight.controller.sal.restconf.impl.test.RestGetOperationTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.RestDeleteOperationTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.292 s - in org.opendaylight.controller.sal.restconf.impl.test.RestDeleteOperationTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.RestPutConfigTest
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.059 s - in org.opendaylight.controller.sal.restconf.impl.test.RestPutConfigTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.RestconfErrorTest
[INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 s - in org.opendaylight.controller.sal.restconf.impl.test.RestconfErrorTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.RestconfImplTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.328 s - in org.opendaylight.controller.sal.restconf.impl.test.RestconfImplTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.URITest
[WARNING] Tests run: 12, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.001 s - in org.opendaylight.controller.sal.restconf.impl.test.URITest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.InvokeRpcMethodTest
[WARNING] Tests run: 10, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0.051 s - in org.opendaylight.controller.sal.restconf.impl.test.InvokeRpcMethodTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.test.CodecsExceptionsCatchingTest
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 s - in org.opendaylight.controller.sal.restconf.impl.test.CodecsExceptionsCatchingTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.websockets.test.RestStreamTest
[WARNING] Tests run: 2, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0.07 s - in org.opendaylight.controller.sal.restconf.impl.websockets.test.RestStreamTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.nn.to.xml.test.NnToXmlTest
[INFO] Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.14 s - in org.opendaylight.controller.sal.restconf.impl.nn.to.xml.test.NnToXmlTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.nn.to.xml.test.NnToXmlWithChoiceTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 s - in org.opendaylight.controller.sal.restconf.impl.nn.to.xml.test.NnToXmlWithChoiceTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.nn.to.xml.test.NnInstanceIdentifierToXmlTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.033 s - in org.opendaylight.controller.sal.restconf.impl.nn.to.xml.test.NnInstanceIdentifierToXmlTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.nn.to.xml.test.NnToXmlWithDataFromSeveralModulesTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.024 s - in org.opendaylight.controller.sal.restconf.impl.nn.to.xml.test.NnToXmlWithDataFromSeveralModulesTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.nn.to.json.test.NnToJsonWithAugmentTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.032 s - in org.opendaylight.controller.sal.restconf.impl.nn.to.json.test.NnToJsonWithAugmentTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.nn.to.json.test.NnJsonChoiceCaseTest
[INFO] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.052 s - in org.opendaylight.controller.sal.restconf.impl.nn.to.json.test.NnJsonChoiceCaseTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.input.to.cnsn.test.RestPutListDataTest
[WARNING] Tests run: 4, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0.028 s - in org.opendaylight.controller.sal.restconf.impl.input.to.cnsn.test.RestPutListDataTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.json.to.nn.test.JsonToNnTest
[INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.113 s - in org.opendaylight.controller.sal.restconf.impl.json.to.nn.test.JsonToNnTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.json.to.nn.test.JsonLeafrefToNnTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 s - in org.opendaylight.controller.sal.restconf.impl.json.to.nn.test.JsonLeafrefToNnTest
[INFO] Running org.opendaylight.controller.sal.restconf.impl.json.to.nn.test.JsonIdentityrefToNnTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 s - in org.opendaylight.controller.sal.restconf.impl.json.to.nn.test.JsonIdentityrefToNnTest
[INFO] Running org.opendaylight.controller.sal.rest.impl.test.providers.TestJsonBodyWriter
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.063 s - in org.opendaylight.controller.sal.rest.impl.test.providers.TestJsonBodyWriter
[INFO] Running org.opendaylight.controller.sal.rest.impl.test.providers.TestXmlBodyReaderMountPoint
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.091 s - in org.opendaylight.controller.sal.rest.impl.test.providers.TestXmlBodyReaderMountPoint
[INFO] Running org.opendaylight.controller.sal.rest.impl.test.providers.TestJsonPatchBodyReaderMountPoint
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.047 s - in org.opendaylight.controller.sal.rest.impl.test.providers.TestJsonPatchBodyReaderMountPoint
[INFO] Running org.opendaylight.controller.sal.rest.impl.test.providers.TestXmlPatchBodyReader
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.051 s - in org.opendaylight.controller.sal.rest.impl.test.providers.TestXmlPatchBodyReader
[INFO] Running org.opendaylight.controller.sal.rest.impl.test.providers.TestJsonPatchBodyReader
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.056 s - in org.opendaylight.controller.sal.rest.impl.test.providers.TestJsonPatchBodyReader
[INFO] Running org.opendaylight.controller.sal.rest.impl.test.providers.TestXmlBodyReader
[INFO] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.127 s - in org.opendaylight.controller.sal.rest.impl.test.providers.TestXmlBodyReader
[INFO] Running org.opendaylight.controller.sal.rest.impl.test.providers.TestXmlBodyWriter
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.074 s - in org.opendaylight.controller.sal.rest.impl.test.providers.TestXmlBodyWriter
[INFO] Running org.opendaylight.controller.sal.rest.impl.test.providers.TestJsonBodyReader
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.061 s - in org.opendaylight.controller.sal.rest.impl.test.providers.TestJsonBodyReader
[INFO] Running org.opendaylight.controller.sal.rest.impl.test.providers.TestXmlPatchBodyReaderMountPoint
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.044 s - in org.opendaylight.controller.sal.rest.impl.test.providers.TestXmlPatchBodyReaderMountPoint
[INFO] Running org.opendaylight.controller.sal.rest.impl.test.providers.TestJsonBodyReaderMountPoint
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.055 s - in org.opendaylight.controller.sal.rest.impl.test.providers.TestJsonBodyReaderMountPoint
[INFO] Running org.opendaylight.controller.sal.rest.impl.InstanceIdentifierTypeLeafTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 s - in org.opendaylight.controller.sal.rest.impl.InstanceIdentifierTypeLeafTest
[INFO] Running org.opendaylight.netconf.sal.restconf.impl.InstanceIdentifierCodecImplTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 s - in org.opendaylight.netconf.sal.restconf.impl.InstanceIdentifierCodecImplTest
[INFO] Running org.opendaylight.netconf.sal.rest.impl.DepthAwareNormalizedNodeWriterTest
[WARNING] Tests run: 11, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0.142 s - in org.opendaylight.netconf.sal.rest.impl.DepthAwareNormalizedNodeWriterTest
[INFO] Running org.opendaylight.netconf.sal.streams.listeners.NotificationListenerTest
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.074 s - in org.opendaylight.netconf.sal.streams.listeners.NotificationListenerTest
[INFO] Running org.opendaylight.netconf.sal.streams.listeners.ListenerAdapterTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.768 s - in org.opendaylight.netconf.sal.streams.listeners.ListenerAdapterTest
[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Errors: 
[ERROR]   Bierman02RestConfWiringTest.testWiring » Creation Unable to create injector, s...
[INFO] 
[ERROR] Tests run: 319, Failures: 0, Errors: 1, Skipped: 26
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] netconf-parent ..................................... SUCCESS [ 25.673 s]
[INFO] netconf-auth ....................................... SUCCESS [ 18.445 s]
[INFO] aaa-authn-odl-plugin ............................... SUCCESS [ 12.251 s]
[INFO] OpenDaylight :: AAA :: ODL NETCONF Plugin .......... SUCCESS [01:33 min]
[INFO] OpenDaylight :: AAA :: ODL NETCONF Plugin - NO CLUSTER SUCCESS [01:04 min]
[INFO] ietf-netconf-monitoring ............................ SUCCESS [ 23.988 s]
[INFO] ietf-netconf-monitoring-extension .................. SUCCESS [ 10.578 s]
[INFO] netconf-api ........................................ SUCCESS [ 23.713 s]
[INFO] ietf-netconf ....................................... SUCCESS [ 20.494 s]
[INFO] ietf-netconf-notifications ......................... SUCCESS [ 14.110 s]
[INFO] OpenDaylight :: Netconf :: API ..................... SUCCESS [ 57.880 s]
[INFO] netconf-mapping-api ................................ SUCCESS [  9.013 s]
[INFO] OpenDaylight :: Netconf :: Mapping API ............. SUCCESS [ 29.983 s]
[INFO] netconf-util ....................................... SUCCESS [ 22.187 s]
[INFO] odl-netconf-util ................................... SUCCESS [ 31.053 s]
[INFO] shaded-exificient-jar .............................. SUCCESS [ 11.216 s]
[INFO] shaded-exificient .................................. SUCCESS [  6.047 s]
[INFO] netconf-netty-util ................................. SUCCESS [ 39.290 s]
[INFO] OpenDaylight :: Netconf :: Netty Util .............. SUCCESS [ 40.955 s]
[INFO] netconf-notifications-api .......................... SUCCESS [  8.979 s]
[INFO] OpenDaylight :: Netconf :: Notification :: Api ..... SUCCESS [ 26.398 s]
[INFO] OpenDaylight :: Netconf :: Monitoring :: Impl ...... SUCCESS [ 27.604 s]
[INFO] netconf-client ..................................... SUCCESS [ 32.633 s]
[INFO] netconf-impl ....................................... SUCCESS [ 54.126 s]
[INFO] OpenDaylight :: Netconf :: Impl .................... SUCCESS [ 46.494 s]
[INFO] netconf-config ..................................... SUCCESS [  0.790 s]
[INFO] odl-netconf-client ................................. SUCCESS [ 39.282 s]
[INFO] OpenDaylight :: Netconf :: All ..................... SUCCESS [ 41.460 s]
[INFO] OpenDaylight :: Netconf Connector :: TCP ........... SUCCESS [ 41.444 s]
[INFO] OpenDaylight :: Netconf Connector :: SSH ........... SUCCESS [ 55.203 s]
[INFO] mdsal-netconf-ssh .................................. SUCCESS [ 22.167 s]
[INFO] mdsal-netconf-tcp .................................. SUCCESS [  5.891 s]
[INFO] mdsal-netconf-notification ......................... SUCCESS [ 17.897 s]
[INFO] mdsal-netconf-connector ............................ SUCCESS [ 24.291 s]
[INFO] mdsal-netconf-monitoring ........................... SUCCESS [ 12.141 s]
[INFO] mdsal-netconf-yang-library ......................... SUCCESS [ 14.585 s]
[INFO] mdsal-netconf-impl ................................. SUCCESS [  1.343 s]
[INFO] OpenDaylight :: Netconf :: Mdsal 1.9.0-SNAPSHOT .... SUCCESS [ 57.102 s]
[INFO] features-netconf ................................... SUCCESS [  1.761 s]
[INFO] features-netconf-aggregator ........................ SUCCESS [  0.071 s]
[INFO] sal-netconf-connector 1.9.0-SNAPSHOT ............... SUCCESS [01:14 min]
[INFO] netconf-topology ................................... SUCCESS [ 14.199 s]
[INFO] OpenDaylight :: Netconf Connector :: Netconf Connector SUCCESS [01:12 min]
[INFO] netconf-topology-config ............................ SUCCESS [  1.354 s]
[INFO] OpenDaylight :: Netconf Topology :: Netconf Connector + Netconf SSH Server + Netconf configuration via config topology datastore SUCCESS [01:24 min]
[INFO] callhome-model ..................................... SUCCESS [ 10.564 s]
[INFO] callhome-protocol .................................. SUCCESS [ 34.667 s]
[INFO] callhome-provider .................................. SUCCESS [ 16.285 s]
[INFO] OpenDaylight :: Netconf Connector :: Netconf Callhome Connector + Netconf SSH Server SUCCESS [01:06 min]
[INFO] OpenDaylight :: Netconf Connector :: All ........... SUCCESS [01:38 min]
[INFO] messagebus-netconf ................................. SUCCESS [ 23.551 s]
[INFO] odl-message-bus .................................... SUCCESS [01:07 min]
[INFO] netconf-topology-singleton ......................... SUCCESS [ 48.010 s]
[INFO] OpenDaylight :: Clustered Netconf Topology :: Netconf Connector + Netconf SSH Server SUCCESS [ 53.448 s]
[INFO] netconf-console .................................... SUCCESS [ 20.135 s]
[INFO] OpenDaylight :: Netconf Console + Karaf CLI for netconf CRUD operations SUCCESS [01:11 min]
[INFO] features-netconf-connector ......................... SUCCESS [  2.031 s]
[INFO] features-netconf-connector-aggregator .............. SUCCESS [  0.006 s]
[INFO] restconf-parent 1.9.0-SNAPSHOT ..................... SUCCESS [  0.191 s]
[INFO] ietf-restconf 1.9.0-SNAPSHOT ....................... SUCCESS [ 10.966 s]
[INFO] ietf-restconf-monitoring 1.9.0-SNAPSHOT ............ SUCCESS [  9.112 s]
[INFO] restconf-common-models 1.9.0-SNAPSHOT .............. SUCCESS [ 12.880 s]
[INFO] restconf-common 1.9.0-SNAPSHOT ..................... SUCCESS [ 12.638 s]
[INFO] OpenDaylight :: Restconf :: Common 1.9.0-SNAPSHOT .. SUCCESS [01:04 min]
[INFO] restconf-nb-bierman02 1.9.0-SNAPSHOT ............... FAILURE [ 53.756 s]
[INFO] sal-rest-connector-config 1.9.0-SNAPSHOT ........... SKIPPED
[INFO] OpenDaylight :: Restconf :: NB :: bierman02 :: Base 1.9.0-SNAPSHOT SKIPPED
[INFO] restconf-nb-bierman02-auth 1.9.0-SNAPSHOT .......... SKIPPED
[INFO] OpenDaylight :: Restconf :: NB :: bierman02 1.9.0-SNAPSHOT SKIPPED
[INFO] restconf-nb-rfc8040 1.9.0-SNAPSHOT ................. SKIPPED
[INFO] OpenDaylight :: Restconf :: NB :: RFC8040 1.9.0-SNAPSHOT SKIPPED
[INFO] OpenDaylight :: Restconf 1.9.0-SNAPSHOT ............ SKIPPED
[INFO] sal-rest-docgen 1.9.0-SNAPSHOT ..................... SKIPPED
[INFO] OpenDaylight :: MDSAL :: APIDOCS 1.9.0-SNAPSHOT .... SKIPPED
[INFO] OpenDaylight :: Restconf :: All 1.9.0-SNAPSHOT ..... SKIPPED
[INFO] restconf-nb-bierman02-noauth 1.9.0-SNAPSHOT ........ SKIPPED
[INFO] OpenDaylight :: Restconf :: NB :: bierman02 :: no-auth -- Deprecated, use odl-restconf-nb-bierman02 instead! 1.9.0-SNAPSHOT SKIPPED
[INFO] OpenDaylight :: Restconf :: no-auth -- Deprecated, use odl-restconf instead! 1.9.0-SNAPSHOT SKIPPED
[INFO] features-restconf 1.9.0-SNAPSHOT ................... SKIPPED
[INFO] features-restconf-aggregator 1.9.0-SNAPSHOT ........ SKIPPED
[INFO] yanglib ............................................ SKIPPED
[INFO] OpenDaylight :: Yanglib ............................ SKIPPED
[INFO] features-yanglib ................................... SKIPPED
[INFO] features-yanglib-aggregator ........................ SKIPPED
[INFO] netconf-features-parent ............................ SKIPPED
[INFO] netconf-karaf 1.9.0-SNAPSHOT ....................... SKIPPED
[INFO] netconf-models ..................................... SKIPPED
[INFO] netconf-testtool ................................... SKIPPED
[INFO] netconf-tools ...................................... SKIPPED
[INFO] netconf-artifacts .................................. SKIPPED
[INFO] netconf-subsystem .................................. SKIPPED
[INFO] restconf-artifacts 1.9.0-SNAPSHOT .................. SKIPPED
[INFO] restconf-models .................................... SKIPPED
[INFO] sal-rest-docgen-maven 1.9.0-SNAPSHOT ............... SKIPPED
[INFO] restconf-subsystem 1.9.0-SNAPSHOT .................. SKIPPED
[INFO] netconf-aggregator 1.6.0-SNAPSHOT .................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 33:59 min
[INFO] Finished at: 2019-01-23T17:41:16Z
[INFO] ------------------------------------------------------------------------

So it seems that something somewhere in another test already created a WebSocketServer, and did not close it properly... I'm not 100% sure how this works with Maven Surefire, but even with the entire netconf Maven building running in a single JVM process, the tests running in different artifacts should be fully isolated from each other by ClassLoader magic, right? So it would have to be any other of those 319 tests in the same artifact (restconf-nb-bierman02), not somewhere else, agreed?

It seems to me that the static WebSocketServer (self) field in WebSocketServer and the static createInstance and destroyInstance methods are asking for trouble and should ideally be removed. I'll have a go at and try to raise a Gerrit suggesting this.



 Comments   
Comment by Michael Vorburger [ 23/Jan/19 ]

I think the problem may be that org.opendaylight.netconf.sal.restconf.impl.RestconfImpl.notifStream(String, UriInfo, Instant, Instant, String) uses org.opendaylight.netconf.sal.streams.websockets.WebSocketServer.getInstance(int) ... which can which will createInstance(int) if it's still null, which it is at least when the org.opendaylight.controller.sal.restconf.impl.test.RestconfImplTest calls it... but I see nothing in RestconfImpl which does the destroyInstance - that's likely the root cause of what's going on here.

Comment by Michael Vorburger [ 23/Jan/19 ]

FTR: I was able to reproduce the failure when running all 319 tests in restconf-nb-bierman02 together in Eclipse (never on mvn CLI curiously), so definitely ordering related.

Comment by Michael Vorburger [ 23/Jan/19 ]

https://git.opendaylight.org/gerrit/#/c/79860/ should help, at least as a first workaround. If I find the time I'll follow-up with another change completely removing the static.

Comment by Michael Vorburger [ 23/Jan/19 ]

> If I find the time I'll follow-up with another change completely removing the static

There is some weird "loop" which makes this a little less trivial than I thought (and perhaps is the reason why it was static in the first place), I'll abandon that, let's just do c/79860.

Generated at Wed Feb 07 20:15:26 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.