harden DurableDataSpec, #22037
This commit is contained in:
parent
eeda6cc2c5
commit
38a133ece0
3 changed files with 36 additions and 26 deletions
|
|
@ -44,6 +44,7 @@ import akka.actor.ExtendedActorSystem
|
|||
import akka.actor.SupervisorStrategy
|
||||
import akka.actor.OneForOneStrategy
|
||||
import akka.actor.ActorInitializationException
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
object ReplicatorSettings {
|
||||
|
||||
|
|
@ -894,7 +895,12 @@ final class Replicator(settings: ReplicatorSettings) extends Actor with ActorLog
|
|||
else normalReceive
|
||||
|
||||
val load: Receive = {
|
||||
val startTime = System.nanoTime()
|
||||
var count = 0
|
||||
|
||||
{
|
||||
case LoadData(data) ⇒
|
||||
count += data.size
|
||||
data.foreach {
|
||||
case (key, d) ⇒
|
||||
val envelope = DataEnvelope(d)
|
||||
|
|
@ -906,6 +912,9 @@ final class Replicator(settings: ReplicatorSettings) extends Actor with ActorLog
|
|||
}
|
||||
}
|
||||
case LoadAllCompleted ⇒
|
||||
log.debug(
|
||||
"Loading {} entries from durable store took {} ms",
|
||||
count, TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime))
|
||||
context.become(normalReceive)
|
||||
self ! FlushChanges
|
||||
|
||||
|
|
@ -919,6 +928,7 @@ final class Replicator(settings: ReplicatorSettings) extends Actor with ActorLog
|
|||
// ignore gossip and replication when loading durable data
|
||||
log.debug("ignoring message [{}] when loading durable data", m.getClass.getName)
|
||||
}
|
||||
}
|
||||
|
||||
val normalReceive: Receive = {
|
||||
case Get(key, consistency, req) ⇒ receiveGet(key, consistency, req)
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ abstract class DurableDataSpec(multiNodeConfig: DurableDataSpecConfig)
|
|||
runOn(first) {
|
||||
|
||||
val r = newReplicator()
|
||||
within(5.seconds) {
|
||||
within(10.seconds) {
|
||||
awaitAssert {
|
||||
r ! GetReplicaCount
|
||||
expectMsg(ReplicaCount(1))
|
||||
|
|
@ -158,7 +158,7 @@ abstract class DurableDataSpec(multiNodeConfig: DurableDataSpecConfig)
|
|||
join(second, first)
|
||||
|
||||
val r = newReplicator()
|
||||
within(5.seconds) {
|
||||
within(10.seconds) {
|
||||
awaitAssert {
|
||||
r ! GetReplicaCount
|
||||
expectMsg(ReplicaCount(2))
|
||||
|
|
@ -247,7 +247,7 @@ abstract class DurableDataSpec(multiNodeConfig: DurableDataSpecConfig)
|
|||
new TestKit(sys1) with ImplicitSender {
|
||||
|
||||
val r = newReplicator(sys1)
|
||||
within(5.seconds) {
|
||||
within(10.seconds) {
|
||||
awaitAssert {
|
||||
r ! GetReplicaCount
|
||||
expectMsg(ReplicaCount(1))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue