Mitigation of unexpected hv-ves shutdown 74/76274/4
authorkjaniak <kornel.janiak@nokia.com>
Thu, 24 Jan 2019 06:29:50 +0000 (07:29 +0100)
committerkjaniak <kornel.janiak@nokia.com>
Fri, 25 Jan 2019 14:30:17 +0000 (15:30 +0100)
Change-Id: I96183e2358ac10457568d223f37d69c61dfd252d
Issue-ID: DCAEGEN2-1117
Signed-off-by: kjaniak <kornel.janiak@nokia.com>
build/hv-collector-analysis/src/main/resources/onap-detekt-config.yml
sources/hv-collector-core/src/main/kotlin/org/onap/dcae/collectors/veshv/impl/socket/NettyTcpServer.kt
sources/hv-collector-xnf-simulator/src/main/kotlin/org/onap/dcae/collectors/veshv/simulators/xnf/impl/adapters/VesHvClient.kt

index e35dcc5..36f092d 100644 (file)
@@ -116,6 +116,7 @@ complexity:
     thresholdInObjects: 11
     thresholdInEnums: 11
     ignoreDeprecated: false
+    ignorePrivate: true
 
 empty-blocks:
   active: true
index c76233f..adc629b 100644 (file)
@@ -93,7 +93,12 @@ internal class NettyTcpServer(private val serverConfig: ServerConfiguration,
         }
 
         logger.debug(clientContext::fullMdc, Marker.Entry) { "Client connection request received" }
-        return collectorProvider(clientContext).fold(
+        messageHandlingStream(clientContext, nettyInbound).subscribe()
+        return nettyOutbound.neverComplete()
+    }
+
+    private fun messageHandlingStream(clientContext: ClientContext, nettyInbound: NettyInbound): Mono<Void> =
+        collectorProvider(clientContext).fold(
                 {
                     logger.warn(clientContext::fullMdc) { "Collector not ready. Closing connection..." }
                     Mono.empty()
@@ -108,7 +113,6 @@ internal class NettyTcpServer(private val serverConfig: ServerConfiguration,
                     it.handleConnection(createDataStream(nettyInbound))
                 }
         )
-    }
 
     private fun populateClientContext(clientContext: ClientContext, connection: Connection) {
         clientContext.clientAddress = try {
index 8de7da3..db5e5e8 100644 (file)
@@ -22,9 +22,9 @@ package org.onap.dcae.collectors.veshv.simulators.xnf.impl.adapters
 import arrow.core.Option
 import arrow.core.getOrElse
 import io.netty.handler.ssl.SslContext
-import org.onap.dcae.collectors.veshv.domain.WireFrameMessage
 import org.onap.dcae.collectors.veshv.domain.SecurityConfiguration
 import org.onap.dcae.collectors.veshv.domain.WireFrameEncoder
+import org.onap.dcae.collectors.veshv.domain.WireFrameMessage
 import org.onap.dcae.collectors.veshv.simulators.xnf.impl.config.SimulatorConfiguration
 import org.onap.dcae.collectors.veshv.ssl.boundary.ClientSslContextFactory
 import org.onap.dcae.collectors.veshv.utils.arrow.asIo