Merge pull request #2999 from corda/CORDA-1368/aslemmer-transaction-wait-dbcommit

CORDA-1368: Add flow-id to MDC, small fix in DBTransactionStorage
This commit is contained in:
Andras Slemmer 2018-04-25 13:02:10 +01:00 committed by GitHub
commit 88c12791a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 2 deletions

View File

@ -96,7 +96,7 @@ class DBTransactionStorage(cacheSizeBytes: Long) : WritableTransactionStorage, S
override fun track(): DataFeed<List<SignedTransaction>, SignedTransaction> {
return txStorage.locked {
DataFeed(allPersisted().map { it.second.toSignedTx() }.toList(), updates.bufferUntilSubscribed().wrapWithDatabaseTransaction())
DataFeed(allPersisted().map { it.second.toSignedTx() }.toList(), updates.bufferUntilSubscribed())
}
}

View File

@ -28,6 +28,7 @@ import net.corda.nodeapi.internal.persistence.contextTransaction
import net.corda.nodeapi.internal.persistence.contextTransactionOrNull
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.slf4j.MDC
import java.util.concurrent.TimeUnit
import kotlin.reflect.KProperty1
@ -164,11 +165,16 @@ class FlowStateMachineImpl<R>(override val id: StateMachineRunId,
}
}
fun setLoggingContext() {
context.pushToLoggingContext()
MDC.put("flow-id", id.uuid.toString())
}
@Suspendable
override fun run() {
logic.stateMachine = this
context.pushToLoggingContext()
setLoggingContext()
initialiseFlow()
@ -321,6 +327,7 @@ class FlowStateMachineImpl<R>(override val id: StateMachineRunId,
require(continuation == FlowContinuation.ProcessEvents)
Fiber.unparkDeserialized(this, scheduler)
}
setLoggingContext()
return uncheckedCast(processEventsUntilFlowIsResumed(
isDbTransactionOpenOnEntry = false,
isDbTransactionOpenOnExit = true