CommandNotExpectedException, expected: Connected, acutal: SubscriptionDropped
Hi,
I am trying to migrate from evenstore 5 to 20, unfortunately code which used to work previously doesn't work any longer.
Logs:
receiver_1_f96977cd33ab | [INFO] [08/12/2020 08:40:24.871] [default-akka.actor.default-dispatcher-7] [akka://default/user/$a/cluster] Discovering cluster: attempt 1/10 successful: best candidate is MemberInfo(8c59e3f2-27ad-4e25-a3b5-c9b3bedbf1da,2020-08-12T08:40:24.082817200Z,Leader,true,/172.42.238.4:1112,/172.42.238.4:1113,/172.42.238.4:0,/172.42.238.4:0,/172.42.238.4:2112,/172.42.238.4:2112,1802,1908,1908,0,0,d8ed3958-271c-495c-bdd8-5d36b26d26cd,0)
receiver_1_f96977cd33ab | [INFO] [08/12/2020 08:40:24.884] [default-akka.actor.default-dispatcher-4] [akka://default/user/$a] Connected to /172.42.238.4:1113
receiver_1_f96977cd33ab | [ERROR] [08/12/2020 08:40:25.007] [default-akka.actor.default-dispatcher-23] [akka://default/user/$b] eventstore.core.CommandNotExpectedException: Expected: Connected, actual: eventstore.core.SubscriptionDropped$NotFound$
My setup:
evenstoreJVM client 7.2.0
evenstore custom version build from master from commit: 88363a1a00e022f87133e7da9c07a81c80453022 which is basically 20.6.0 with some fixes around cluster security
version: '3.4'
services:
eventstore.db:
image: eventstore-master
environment:
- EVENTSTORE_CLUSTER_SIZE=3
- EVENTSTORE_HTTP_PORT=2112
- EVENTSTORE_INT_IP=172.42.238.3
- EVENTSTORE_EXT_IP=172.42.238.3
- EVENTSTORE_INSECURE=true
- EVENTSTORE_ENABLE_EXTERNAL_TCP=true
- EVENTSTORE_GOSSIP_SEED=172.42.238.4:2112,172.42.238.5:2112
- EVENTSTORE_DISCOVER_VIA_DNS=false
ports:
- "1112:1112"
- "1113:1113"
- "2112:2112"
- "2113:2113"
- "30777"
networks:
app_net:
aliases:
- eventstore.local
ipv4_address: 172.42.238.3
eventstore.db2:
image: eventstore-master
environment:
- EVENTSTORE_CLUSTER_SIZE=3
- EVENTSTORE_HTTP_PORT=2112
- EVENTSTORE_INT_IP=172.42.238.4
- EVENTSTORE_EXT_IP=172.42.238.4
- EVENTSTORE_INSECURE=true
- EVENTSTORE_ENABLE_EXTERNAL_TCP=true
- EVENTSTORE_GOSSIP_SEED=172.42.238.3:2112,172.42.238.5:2112
- EVENTSTORE_DISCOVER_VIA_DNS=false
expose:
- "1112"
- "1113"
- "2112"
- "2113"
- "30777"
networks:
app_net:
aliases:
- eventstore.local
ipv4_address: 172.42.238.4
eventstore.db3:
image: eventstore-master
environment:
- EVENTSTORE_CLUSTER_SIZE=3
- EVENTSTORE_HTTP_PORT=2112
- EVENTSTORE_INT_IP=172.42.238.5
- EVENTSTORE_EXT_IP=172.42.238.5
- EVENTSTORE_INSECURE=true
- EVENTSTORE_ENABLE_EXTERNAL_TCP=true
- EVENTSTORE_GOSSIP_SEED=172.42.238.3:2112,172.42.238.4:2112
- EVENTSTORE_DISCOVER_VIA_DNS=false
expose:
- "1112"
- "1113"
- "2112"
- "2113"
- "30777"
networks:
app_net:
aliases:
- eventstore.local
ipv4_address: 172.42.238.5
sender:
image: softwaremill/mq-sender
networks:
app_net:
ipv4_address: 172.42.238.10
As far as I can tell, nothing has changed in the jvm client with respect to PersistentSubscriptionOperation or SubscriptionOperation - Tests for es20.6.x pass on CI, so that is a bit odd.
Turns out the error is misleading, on the server the logs say that:
Nov 25 11:19:23 ip-172-22-1-39 bash[8313]: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'ReadBatchSize may not be greater than or equal to BufferSize')
So this is a client configuration issue. The message might probably be better, though :)