Skip to content

Commit e103716

Browse files
authored
IWF-473: Upgrade Cadence dependencies (#548)
1 parent 6249778 commit e103716

File tree

6 files changed

+90
-99
lines changed

6 files changed

+90
-99
lines changed

docker-compose/.env

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
CASSANDRA_VERSION=3.11.9
2-
ELASTICSEARCH_VERSION=7.16.2
1+
CASSANDRA_VERSION=4.1.1
2+
ELASTICSEARCH_VERSION=7.17.27
33
MYSQL_VERSION=8
44
POSTGRESQL_VERSION=13
55
TEMPORAL_VERSION=1.25

docker-compose/ci-cadence-dependencies.yml

+26-23
Original file line numberDiff line numberDiff line change
@@ -18,43 +18,45 @@ services:
1818
expose:
1919
- 9200
2020
cassandra:
21-
image: cassandra:3.11
21+
image: cassandra:${CASSANDRA_VERSION}
2222
ports:
2323
- "9042:9042"
24+
healthcheck:
25+
test: [ "CMD", "cqlsh", "-u cassandra", "-p cassandra", "-e describe keyspaces" ]
26+
interval: 15s
27+
timeout: 30s
28+
retries: 10
2429
networks:
2530
- testing-network
26-
zookeeper:
27-
image: wurstmeister/zookeeper:latest
28-
ports:
29-
- "2181:2181"
30-
networks:
31-
- testing-network
32-
healthcheck:
33-
test: [ "CMD-SHELL", "echo ruok | nc -w 2 zookeeper 2181" ]
34-
interval: 5s
35-
timeout: 10s
36-
retries: 3
3731
kafka:
38-
image: wurstmeister/kafka:2.12-2.1.1
39-
depends_on:
40-
zookeeper:
41-
condition: service_healthy
32+
image: docker.io/bitnami/kafka:3.7
33+
hostname: kafka
34+
container_name: kafka
4235
ports:
4336
- "9092:9092"
4437
environment:
45-
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
46-
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
47-
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
38+
# KRaft settings
39+
- "KAFKA_CFG_NODE_ID=0"
40+
- "KAFKA_CFG_PROCESS_ROLES=controller,broker"
41+
- "KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093"
42+
# Listeners
43+
- "KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093"
44+
- "KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092"
45+
- "KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT"
46+
- "KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER"
47+
- "KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT"
48+
# Topic settings
49+
- "KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true"
4850
networks:
4951
- testing-network
5052
healthcheck:
5153
test:
52-
[ "CMD", "kafka-topics.sh", "--list", "--zookeeper", "zookeeper:2181" ]
54+
[ "CMD", "kafka-topics.sh", "--list", '--bootstrap-server', 'kafka:9092' ]
5355
interval: 1s
5456
timeout: 60s
5557
retries: 60
5658
cadence:
57-
image: ubercadence/server:0.24.0-auto-setup
59+
image: ubercadence/server:v1.2.16-auto-setup
5860
ports:
5961
- "8000:8000"
6062
- "8001:8001"
@@ -65,6 +67,7 @@ services:
6567
- "7935:7935"
6668
- "7939:7939"
6769
- "7833:7833"
70+
- "7936:7936"
6871
environment:
6972
- "CASSANDRA_SEEDS=cassandra"
7073
- "DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development_es.yaml"
@@ -74,7 +77,7 @@ services:
7477
- "KAFKA_SEEDS=kafka"
7578
depends_on:
7679
cassandra:
77-
condition: service_started
80+
condition: service_healthy
7881
kafka:
7982
condition: service_healthy
8083
elasticsearch:
@@ -87,7 +90,7 @@ services:
8790
- cadence
8891
environment:
8992
- CADENCE_CLI_ADDRESS=cadence:7933
90-
image: ubercadence/cli:0.24.0
93+
image: ubercadence/cli:v1.2.16
9194
networks:
9295
- testing-network
9396
stdin_open: true

docker-compose/ci-cadence-temporal-dependencies.yml

+26-23
Original file line numberDiff line numberDiff line change
@@ -67,43 +67,45 @@ services:
6767
- ./init-ci-temporal.sh:/etc/temporal/init-ci-temporal.sh
6868
entrypoint: sh -c "/etc/temporal/init-ci-temporal.sh"
6969
cassandra:
70-
image: cassandra:3.11
70+
image: cassandra:${CASSANDRA_VERSION}
7171
ports:
7272
- "9042:9042"
73+
healthcheck:
74+
test: [ "CMD", "cqlsh", "-u cassandra", "-p cassandra", "-e describe keyspaces" ]
75+
interval: 15s
76+
timeout: 30s
77+
retries: 10
7378
networks:
7479
- testing-network
75-
zookeeper:
76-
image: wurstmeister/zookeeper:latest
77-
ports:
78-
- "2181:2181"
79-
networks:
80-
- testing-network
81-
healthcheck:
82-
test: [ "CMD-SHELL", "echo ruok | nc -w 2 zookeeper 2181" ]
83-
interval: 5s
84-
timeout: 10s
85-
retries: 3
8680
kafka:
87-
image: wurstmeister/kafka:2.12-2.1.1
88-
depends_on:
89-
zookeeper:
90-
condition: service_healthy
81+
image: docker.io/bitnami/kafka:3.7
82+
hostname: kafka
83+
container_name: kafka
9184
ports:
9285
- "9092:9092"
9386
environment:
94-
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
95-
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
96-
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
87+
# KRaft settings
88+
- "KAFKA_CFG_NODE_ID=0"
89+
- "KAFKA_CFG_PROCESS_ROLES=controller,broker"
90+
- "KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093"
91+
# Listeners
92+
- "KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093"
93+
- "KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092"
94+
- "KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT"
95+
- "KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER"
96+
- "KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT"
97+
# Topic settings
98+
- "KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true"
9799
networks:
98100
- testing-network
99101
healthcheck:
100102
test:
101-
[ "CMD", "kafka-topics.sh", "--list", "--zookeeper", "zookeeper:2181" ]
103+
[ "CMD", "kafka-topics.sh", "--list", '--bootstrap-server', 'kafka:9092' ]
102104
interval: 1s
103105
timeout: 60s
104106
retries: 60
105107
cadence:
106-
image: ubercadence/server:0.24.0-auto-setup
108+
image: ubercadence/server:v1.2.16-auto-setup
107109
ports:
108110
- "8000:8000"
109111
- "8001:8001"
@@ -114,6 +116,7 @@ services:
114116
- "7935:7935"
115117
- "7939:7939"
116118
- "7833:7833"
119+
- "7936:7936"
117120
environment:
118121
- "CASSANDRA_SEEDS=cassandra"
119122
- "DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development_es.yaml"
@@ -123,7 +126,7 @@ services:
123126
- "KAFKA_SEEDS=kafka"
124127
depends_on:
125128
cassandra:
126-
condition: service_started
129+
condition: service_healthy
127130
kafka:
128131
condition: service_healthy
129132
elasticsearch:
@@ -136,7 +139,7 @@ services:
136139
- cadence
137140
environment:
138141
- CADENCE_CLI_ADDRESS=cadence:7933
139-
image: ubercadence/cli:0.24.0
142+
image: ubercadence/cli:v1.2.16
140143
networks:
141144
- testing-network
142145
stdin_open: true
+3-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
frontend.enableUpdateWorkflowExecution:
2-
- value: true
2+
- value: true
3+
frontend.enableQueryAttributeValidation:
4+
- value: false

docker-compose/integ-dependencies.yml

+29-25
Original file line numberDiff line numberDiff line change
@@ -67,43 +67,45 @@ services:
6767
- ./init-ci-temporal.sh:/etc/temporal/init-ci-temporal.sh
6868
entrypoint: sh -c "/etc/temporal/init-ci-temporal.sh"
6969
cassandra:
70-
image: cassandra:3.11
70+
image: cassandra:${CASSANDRA_VERSION}
7171
ports:
7272
- "9042:9042"
73+
healthcheck:
74+
test: [ "CMD", "cqlsh", "-u cassandra", "-p cassandra" ,"-e describe keyspaces" ]
75+
interval: 15s
76+
timeout: 30s
77+
retries: 10
7378
networks:
7479
- testing-network
75-
zookeeper:
76-
image: wurstmeister/zookeeper:latest
77-
ports:
78-
- "2181:2181"
79-
networks:
80-
- testing-network
81-
healthcheck:
82-
test: [ "CMD-SHELL", "echo ruok | nc -w 2 zookeeper 2181" ]
83-
interval: 5s
84-
timeout: 10s
85-
retries: 3
8680
kafka:
87-
image: wurstmeister/kafka:2.12-2.1.1
88-
depends_on:
89-
zookeeper:
90-
condition: service_healthy
81+
image: docker.io/bitnami/kafka:3.7
82+
hostname: kafka
83+
container_name: kafka
9184
ports:
9285
- "9092:9092"
9386
environment:
94-
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
95-
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
96-
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
87+
# KRaft settings
88+
- "KAFKA_CFG_NODE_ID=0"
89+
- "KAFKA_CFG_PROCESS_ROLES=controller,broker"
90+
- "KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093"
91+
# Listeners
92+
- "KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093"
93+
- "KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092"
94+
- "KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT"
95+
- "KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER"
96+
- "KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT"
97+
# Topic settings
98+
- "KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true"
9799
networks:
98100
- testing-network
99101
healthcheck:
100102
test:
101-
[ "CMD", "kafka-topics.sh", "--list", "--zookeeper", "zookeeper:2181" ]
103+
[ "CMD", "kafka-topics.sh", "--list", '--bootstrap-server', 'kafka:9092']
102104
interval: 1s
103105
timeout: 60s
104106
retries: 60
105107
cadence:
106-
image: ubercadence/server:0.24.0-auto-setup
108+
image: ubercadence/server:v1.2.16-auto-setup
107109
ports:
108110
- "8000:8000"
109111
- "8001:8001"
@@ -114,6 +116,7 @@ services:
114116
- "7935:7935"
115117
- "7939:7939"
116118
- "7833:7833"
119+
- "7936:7936"
117120
environment:
118121
- "CASSANDRA_SEEDS=cassandra"
119122
- "DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development_es.yaml"
@@ -123,7 +126,7 @@ services:
123126
- "KAFKA_SEEDS=kafka"
124127
depends_on:
125128
cassandra:
126-
condition: service_started
129+
condition: service_healthy
127130
kafka:
128131
condition: service_healthy
129132
elasticsearch:
@@ -136,7 +139,7 @@ services:
136139
- cadence
137140
environment:
138141
- CADENCE_CLI_ADDRESS=cadence:7933
139-
image: ubercadence/cli:0.24.0
142+
image: ubercadence/cli:v1.2.16
140143
networks:
141144
- testing-network
142145
stdin_open: true
@@ -145,9 +148,10 @@ services:
145148
- ./init-ci-cadence.sh:/etc/cadence/init-ci-cadence.sh
146149
entrypoint: sh -c "/etc/cadence/init-ci-cadence.sh"
147150
cadence-web:
148-
image: ubercadence/web:v3.29.6
151+
image: ubercadence/web:v4.0.0
149152
environment:
150153
- "CADENCE_TCHANNEL_PEERS=cadence:7933"
154+
- "CADENCE_GRPC_PEERS=cadence:7833"
151155
ports:
152156
- "8088:8088"
153157
depends_on:
@@ -169,4 +173,4 @@ services:
169173
networks:
170174
testing-network:
171175
driver: bridge
172-
name: testing-network
176+
name: testing-network

integ/workflow/wf_ignore_already_started/routers.go

+4-25
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
11
package wf_ignore_already_started
22

33
import (
4-
"github.com/indeedeng/iwf/integ/helpers"
4+
"github.com/gin-gonic/gin"
5+
"github.com/indeedeng/iwf/gen/iwfidl"
6+
"github.com/indeedeng/iwf/service"
57
"github.com/indeedeng/iwf/service/common/ptr"
68
"log"
79
"net/http"
8-
"strconv"
910
"sync"
1011
"testing"
11-
"time"
12-
13-
"github.com/gin-gonic/gin"
14-
"github.com/indeedeng/iwf/gen/iwfidl"
15-
"github.com/indeedeng/iwf/service"
1612
)
1713

1814
/**
@@ -29,7 +25,6 @@ const (
2925

3026
type handler struct {
3127
invokeHistory sync.Map
32-
invokeData sync.Map
3328
}
3429

3530
func NewHandler() *handler {
@@ -55,12 +50,6 @@ func (h *handler) ApiV1WorkflowStateStart(c *gin.Context, t *testing.T) {
5550
}
5651

5752
if req.GetWorkflowStateId() == State1 {
58-
nowInt, err := strconv.Atoi(req.StateInput.GetData())
59-
if err != nil {
60-
helpers.FailTestWithError(err, t)
61-
}
62-
now := int64(nowInt)
63-
h.invokeData.Store("scheduled_at", now)
6453
c.JSON(http.StatusOK, iwfidl.WorkflowStateStartResponse{
6554
CommandRequest: &iwfidl.CommandRequest{
6655
TimerCommands: []iwfidl.TimerCommand{
@@ -95,11 +84,6 @@ func (h *handler) ApiV1WorkflowStateDecide(c *gin.Context, t *testing.T) {
9584
}
9685

9786
if req.GetWorkflowStateId() == State1 {
98-
now := time.Now().Unix()
99-
h.invokeData.Store("fired_at", now)
100-
timerResults := req.GetCommandResults()
101-
timerId := timerResults.GetTimerResults()[0].GetCommandId()
102-
h.invokeData.Store("timer_id", timerId)
10387
c.JSON(http.StatusOK, iwfidl.WorkflowStateDecideResponse{
10488
StateDecision: &iwfidl.StateDecision{
10589
NextStates: []iwfidl.StateMovement{
@@ -122,10 +106,5 @@ func (h *handler) GetTestResult() (map[string]int64, map[string]interface{}) {
122106
invokeHistory[key.(string)] = value.(int64)
123107
return true
124108
})
125-
invokeData := make(map[string]interface{})
126-
h.invokeData.Range(func(key, value interface{}) bool {
127-
invokeData[key.(string)] = value
128-
return true
129-
})
130-
return invokeHistory, invokeData
109+
return invokeHistory, nil
131110
}

0 commit comments

Comments
 (0)