hanfei1991 / microcosm

a mini bench expreriment for a task runtime scheduler
8 stars 6 forks source link

migrate framework kvclient to ormclient(partIII) #359

Closed maxshuang closed 2 years ago

maxshuang commented 2 years ago

replace the framework kvclient with ormclient

close issue: #335

codecov-commenter commented 2 years ago

Codecov Report

Merging #359 (06919cc) into master (59ca4e2) will decrease coverage by 2.1075%. The diff coverage is 52.7156%.

@@               Coverage Diff                @@
##             master       #359        +/-   ##
================================================
- Coverage   57.0573%   54.9497%   -2.1076%     
================================================
  Files           133        135         +2     
  Lines         10521      10546        +25     
================================================
- Hits           6003       5795       -208     
- Misses         4038       4300       +262     
+ Partials        480        451        -29     
amyangfei commented 2 years ago

From CI failure

2022-05-06T07:32:22.9770404Z ESC[34mserver-master-0_1         |ESC[0m 2022-05-06T07:28:50.325919445Z 2022/05/06 07:28:50 ESC[31;1m/dataflow-engine/pkg/orm/client.go:228 ESC[35;1mError 1050: Table 'worker_statuses' already exists
2022-05-06T07:32:22.9771789Z ESC[34mserver-master-0_1         |ESC[0m 2022-05-06T07:28:50.325925245Z ESC[0mESC[33m[22.833ms] ESC[34;1m[rows:0]ESC[0m CREATE TABLE `worker_statuses` (`seq_id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`project_id` varchar(64) not null,`job_id` varchar(64) not null,`id` varchar(64) not null,`type` tinyint not null,`status` tinyint not null,`errmsg` varchar(128),`ext_bytes` blob,PRIMARY KEY (`seq_id`),INDEX idx_st (`job_id`,`status`),UNIQUE INDEX uidx_id (`job_id`,`id`))
2022-05-06T07:32:22.9773383Z ESC[34mserver-master-0_1         |ESC[0m 2022-05-06T07:28:50.325931746Z [2022/05/06 07:28:50.324 +00:00] [ERROR] [server.go:494] ["framework metastore initialized all backend tables fail"] [error="[DFLOW:ErrMetaOpFail]meta 
operation fail: Error 1050: Table 'worker_statuses' already exists"]
2022-05-06T07:32:22.9774581Z ESC[34mserver-master-0_1         |ESC[0m 2022-05-06T07:28:50.325935946Z [2022/05/06 07:28:50.324 +00:00] [ERROR] [main.go:71] ["run dataflow master with error"] [error="[DFLOW:ErrMetaOpFail]meta operation fail: Error 1050: 
Table 'worker_statuses' already exists"]

each time frameMetaClient.Initialize is called, tables will be created once, and table already exists error is not handled.

maxshuang commented 2 years ago

From CI failure

2022-05-06T07:32:22.9770404Z ESC[34mserver-master-0_1         |ESC[0m 2022-05-06T07:28:50.325919445Z 2022/05/06 07:28:50 ESC[31;1m/dataflow-engine/pkg/orm/client.go:228 ESC[35;1mError 1050: Table 'worker_statuses' already exists
2022-05-06T07:32:22.9771789Z ESC[34mserver-master-0_1         |ESC[0m 2022-05-06T07:28:50.325925245Z ESC[0mESC[33m[22.833ms] ESC[34;1m[rows:0]ESC[0m CREATE TABLE `worker_statuses` (`seq_id` bigint unsigned AUTO_INCREMENT,`created_at` datetime(3) NULL,`updated_at` datetime(3) NULL,`project_id` varchar(64) not null,`job_id` varchar(64) not null,`id` varchar(64) not null,`type` tinyint not null,`status` tinyint not null,`errmsg` varchar(128),`ext_bytes` blob,PRIMARY KEY (`seq_id`),INDEX idx_st (`job_id`,`status`),UNIQUE INDEX uidx_id (`job_id`,`id`))
2022-05-06T07:32:22.9773383Z ESC[34mserver-master-0_1         |ESC[0m 2022-05-06T07:28:50.325931746Z [2022/05/06 07:28:50.324 +00:00] [ERROR] [server.go:494] ["framework metastore initialized all backend tables fail"] [error="[DFLOW:ErrMetaOpFail]meta 
operation fail: Error 1050: Table 'worker_statuses' already exists"]
2022-05-06T07:32:22.9774581Z ESC[34mserver-master-0_1         |ESC[0m 2022-05-06T07:28:50.325935946Z [2022/05/06 07:28:50.324 +00:00] [ERROR] [main.go:71] ["run dataflow master with error"] [error="[DFLOW:ErrMetaOpFail]meta operation fail: Error 1050: 
Table 'worker_statuses' already exists"]

each time frameMetaClient.Initialize is called, tables will be created once, and table already exists error is not handled.

A time slice between checking table existence and creating table for concurrent master.

amyangfei commented 2 years ago

PTAL @liuzix