akkadotnet / akka.net

Canonical actor model implementation for .NET with local + distributed actors in C# and F#.
http://getakka.net
Other
4.69k stars 1.04k forks source link

Akka.Persistence recovery-event-timeout does not change #3736

Open izavala opened 5 years ago

izavala commented 5 years ago

When setting up the specifications for akka.persistance to have a different recovery-event-timeout. It seem to remain on a 30s time out even after changing this in the configuration to something smaller such as 2s.

Github project: On the unit testing, I try to configure akka.persistence to have the following:

recovery-event-timeout = 2s circuit-breaker.reset-timeout = 2s timeout settings, however while testing I am only experiencing the timeout to happen after 30 seconds have passed. https://github.com/petabridge/akkadotnet-healthcheck/pull/18

sphinxy commented 5 years ago

Do you have a re-producable sample for it? At least used hocon example?

Unit test "The_recovery_timeout_should_fail_recovery_if_timeout_is_not_met_when_recovering" exists in src\core\Akka.Persistence.Tests\PersistentActorRecoveryTimeoutSpec.cs and seems to works fine.

Also i've tested with local projects since it has 30 seconds snapshot timeout problem and this configuration works:

akka.persistence.journal.inmem.recovery-event-timeout = 5s
akka.persistence.snapshot-store.local.inmem.recovery-event-timeout = 6s
akka.persistence.journal.sharding.recovery-event-timeout = 7s
akka.persistence.snapshot-store.sharding.recovery-event-timeout = 8s

totally not sure about correctness of lines for sharding, not tested, just write all possiblilities.

From logs: ...Exception":{"Message":"Recovery timed out, didn't get snapshot within 5s...

Aaronontheweb commented 5 years ago

@sphinxy ah, that must be the issue - has to be set on the specific journal config. It's not clear from the docs or the self-contained HOCON files on the website that this needs to be done.

ismaelhamed commented 5 years ago

@sphinxy ah, that must be the issue - has to be set on the specific journal config. It's not clear from the docs or the self-contained HOCON files on the website that this needs to be done.

It's funny though how people end up figuring out that they can use the fallback settings instead:

journal-plugin-fallback {
  recovery-event-timeout = 5s
}