Lagom 1.4.4 released!

The Lagom team has released Lagom 1.4.4.
(we are skipping 1.4.3 due to a small mistake in the release process)

This release provides a fix for #1250.

#1250 only affects Lagom projects making usage of JDBC persistence layer, being it for the journal and/or for read-side tables.

Dependencies upgrades

  • Slick 3.2.1 -> 3.2.3
  • akka-persistence-jdbc 3.1.0 -> 3.3.0

Slick 3.2.3 special note

Since Slick 3.2.2, the maxConnections must equal numThreads. This is to prevent some situations where a deadlock could occur. A warning will be emitted in case maxConnections > numThreads and a runtime exception will be thrown if maxConnections < numThreads. Therefore the best possible configuration is maxConnections == numThreads. See slick/slick#1855 for detailed information.

These values are configured by Lagom automatically under the configuration key db.default.async-executor.

db.default {
  async-executor {
    # number of objects that can be queued by the async executor
    queueSize = 10000
    
    # 5 * number of cores
    numThreads = 20

    # same as number of threads
    minConnections = 20

    # same as number of threads
    maxConnections = 20
  }
}

If you haven’t changed the settings for your async-executor, you have nothing to do. However, if you have configured your aync-executor with other values, you should review it and make sure that maxThreads == maxConnections.

See GitHub for the full list of commits and the issues and pull requests assigned to the 1.4.4 milestone.

Credits

Thanks to the community for their detailed bug reports and contributions.

Thanks to Lightbend for their continued sponsorship of the Lagom core team’s efforts. Lightbend offers commercial support for Lagom.

2 Likes