We are creating a new system using Akka.NET, and we have a basic cluster setup with setup and saving.
We used the official documentation, as well as some of the Petabridge blog entries, for the shrapnel to work properly. However, we encountered a problem where the shards exceed the maximum number of connections allowed by the SQL Server connection pool. So we get the following message ...
2017-04-20 14: 04: 31.433 +01: 00 [Warning] "The timeout period has passed. The timeout period has passed before the connection was received from the pool. Perhaps this was due to the fact that all joined connections were used and the maximum pool size has been reached. "
We believe that this happens when the fragments update the fragmentation log.
How does the anti-aliasing module not correctly manage its SQL connections? Is there a configuration problem here?
Can I try again when such an error occurs? In this case, we lose messages for each instance of this error.
Here is the corresponding HOCON
cluster.sharding {
journal-plugin-id = "akka.persistence.journal.sharding"
snapshot-plugin-id = "akka.persistence.snapshot-store.sharding"
}
persistence {
journal {
plugin = "akka.persistence.journal.sql-server"
sql-server {
class = "Akka.Persistence.SqlServer.Journal.SqlServerJournal, Akka.Persistence.SqlServer"
connection-string = "Server=.;Database=akkasystem;Integrated Security=true"
schema-name = dbo
auto-initialize = on
}
# a separate config used by cluster sharding only
sharding {
connection-string = "Server=.;Database=akkasystem;Integrated Security=true"
auto-initialize = on
plugin-dispatcher = "akka.actor.default-dispatcher"
class = "Akka.Persistence.SqlServer.Journal.SqlServerJournal, Akka.Persistence.SqlServer"
connection-timeout = 30s
schema-name = dbo
table-name = ShardingJournal
timestamp-provider = "Akka.Persistence.Sql.Common.Journal.DefaultTimestampProvider, Akka.Persistence.Sql.Common"
metadata-table-name = ShardingMetadata
}
}
snapshot-store {
sharding {
class = "Akka.Persistence.SqlServer.Snapshot.SqlServerSnapshotStore, Akka.Persistence.SqlServer"
plugin-dispatcher = "akka.actor.default-dispatcher"
connection-string = "Server=.;Database=akkasystem;Integrated Security=true"
connection-timeout = 30s
schema-name = dbo
table-name = ShardingSnapshotStore
auto-initialize = on
}
}
}
Aaron source
share