Prepare Artery for alternative TCP transport, #24390

* Refactoring to separate the Aeron specific things, ArteryAeronUdpTransport
* move Aeron specific classes to akka.remote.artery.aeron package
* move Version to ArterySettings, and describe strategy for envelope header changes
This commit is contained in:
Patrik Nordwall 2017-10-21 13:35:05 +01:00
parent c83e4adfea
commit 0d222906f4
42 changed files with 860 additions and 597 deletions

View file

@ -16,6 +16,8 @@ import akka.util.OptionVal
import scala.concurrent.Promise
import scala.util.control.NonFatal
import akka.stream.Attributes.LogLevels
/**
* INTERNAL API
*
@ -347,7 +349,12 @@ import scala.util.control.NonFatal
def reportStageError(e: Throwable): Unit = {
if (activeStage == null) throw e
else {
log.error(e, "Error in stage [{}]: {}", activeStage.originalStage.getOrElse(activeStage), e.getMessage)
val loggingEnabled = activeStage.attributes.get[LogLevels] match {
case Some(levels) levels.onFailure != LogLevels.Off
case None true
}
if (loggingEnabled)
log.error(e, "Error in stage [{}]: {}", activeStage.originalStage.getOrElse(activeStage), e.getMessage)
activeStage.failStage(e)
// Abort chasing