Skip to content
This repository has been archived by the owner on Apr 18, 2024. It is now read-only.

Rolling update steps for Classic -> Typed Sharding #110

Open
wants to merge 9 commits into
base: 2.6
Choose a base branch
from

Commits on Nov 6, 2019

  1. Akka 2.6.0

    patriknw committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    4344cf2 View commit details
    Browse the repository at this point in the history
  2. test ask - scala

    * use ask for deviceId >= 40
    patriknw committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    6ee737c View commit details
    Browse the repository at this point in the history
  3. roll 1 - scala

    * update to Akka 2.6.x first
    * and add dependeny `akka-cluster-sharding-typed` although the actors remain untyped in first rollout
    * define akka.cluster.sharding.number-of-shards config
      * same value as you have used previously for number of shards
      * same value as you will use for Typed
      * otherwise Typed node will not be able to join in roll 2
    * add akka.cluster.sharding.typed.ShardingEnvelope to message extractor
    * sender and ask
      * add replyTo ActorRef to the messages that are using sender for the reply
      * change from `akka.pattern.ask` to `akka.pattern.extended.ask` to populate
        the replyTo field in the messages
      * use the replyTo field instead of sender() unless it is null
    patriknw committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    359e08d View commit details
    Browse the repository at this point in the history
  4. roll 2 - scala

    * convert actors to Typed
    * use custom ShardingMessageExtractor in ClusterSharding.init
    * use same akka.cluster.sharding.number-of-shards config as was in roll 1
    patriknw committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    0ceac95 View commit details
    Browse the repository at this point in the history
  5. roll 3 - scala

    * custom ShardingMessageExtractor can be removed
    patriknw committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    b27976b View commit details
    Browse the repository at this point in the history
  6. test ask - java

    patriknw committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    ba48a34 View commit details
    Browse the repository at this point in the history
  7. roll 1 - java

    * update to Akka 2.6.x first
    * and add dependeny `akka-cluster-sharding-typed` although the actors remain untyped in first rollout
    * define akka.cluster.sharding.number-of-shards config
      * same value as you have used previously for number of shards
      * same value as you will use for Typed
      * otherwise Typed node will not be able to join in roll 2
    * add akka.cluster.sharding.typed.ShardingEnvelope to message extractor
    * sender and ask
      * add replyTo ActorRef to the messages that are using sender for the reply
      * change from `akka.pattern.Patterns.ask` to `akka.pattern.Patterns.askWithReply` to populate
        the replyTo field in the messages
      * use the replyTo field instead of getSender() unless it is null
    patriknw committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    47bf16a View commit details
    Browse the repository at this point in the history
  8. roll 2 - java

    * convert actors to Typed
    * use custom ShardingMessageExtractor in ClusterSharding.init
    * use same akka.cluster.sharding.number-of-shards config as was in roll 1
    patriknw committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    b415647 View commit details
    Browse the repository at this point in the history
  9. roll 3 - java

    * custom ShardingMessageExtractor can be removed
    patriknw committed Nov 6, 2019
    Configuration menu
    Copy the full SHA
    dc25a53 View commit details
    Browse the repository at this point in the history