pod deepflow-server-0  CrashLoopBackOff

Expected Behavior
pod deepflow-server-0 in running status
Actual Behavior
pod deepflow-server-0  CrashLoopBackOff
root@node01:~# kubectl -n deepflow get pods
NAME                                READY   STATUS             RESTARTS      AGE
deepflow-agent-f69k8                1/1     Running            0             14m
deepflow-agent-m4n8g                1/1     Running            0             14m
deepflow-app-84648d9786-6z4nb       1/1     Running            0             14m
deepflow-clickhouse-0               1/1     Running            0             14m
deepflow-grafana-5c67685dc4-5hkjt   1/1     Running            4 (12m ago)   14m
deepflow-mysql-6967788cdb-nhjf8     1/1     Running            0             14m
deepflow-server-0                   1/2     CrashLoopBackOff   7 (84s ago)   14m

Steps to Reproduce the Problem
helm upgrade --install deepflow charts/deepflow --namespace=deepflow --create-namespace --set global.storageClass=null

Additional Info

deepflow version: v6.1.1
Output of kubectl exec -it -n deepflow sts/deepflow-server -c deepflow-server -- deepflow-server -v:
Output of kubectl exec -it -n deepflow ds/deepflow-agent -- deepflow-agent -v:

root@node01:~#  kubectl exec -it -n deepflow sts/deepflow-server -c deepflow-server -- deepflow-server -v
6204 36a4673baa5beab793089fae08f5c91ea46d5593 2022-08-05
deepflow-server community edition
go version go1.18.3 linux/amd64
root@node01:~# kubectl exec -it -n deepflow ds/deepflow-agent -- deepflow-agent -v
6201-2c7b4c721cf419963f6233420180b7470f9e4e2f 2022-08-05
deepflow-agent community edition
rustc 1.62.1 (e092d0b6b 2022-07-16)

deepflow agent list:
Output of deepflow-ctl agent list:

root@node01:~# deepflow-ctl agent list
NAME                                            CTRL_IP                         CTRL_MAC                STATE           EXCEPTIONS
node02-P3                                       <IP_ADDRESS>                   00:50:56:ad:5a:ec       RUNNING
node03-P1                                       <IP_ADDRESS>                   00:50:56:ad:cb:66       RUNNING

Kubernetes CNI:

calico

operation-system/kernel version:
Output of awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release:
Output of uname -r:

root@node01:~# awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release
"Ubuntu 22.04 LTS"

root@node01:~# uname -r
5.15.0-43-generic

pods error logs
root@node01:~# kubectl -n deepflow logs -f deepflow-server-0
INDEX eth_type_idx (eth_type) TYPE set(300) GRANULARITY 3,
`vlan` UInt16  ,
INDEX vlan_ ...
2022-08-05 22:43:12.763 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE TABLE IF NOT EXISTS flow_log.`l4_flow_log` AS flow_log.`l4_flow_log_local` ENGINE=Distributed('df_cluster', 'flow_log', 'l4_flow_log_local', rand())
2022-08-05 22:43:12.767 [INFO] [ckwriter] ckwriter.go:120 New CK writer: primaryAddr=deepflow-clickhouse-headless-0:9000, secondaryAddr=, user=, database=flow_log, table=l7_flow_log_local, replica=false, queueCount=1, queueSize=1000000, batchSize=512000, flushTimeout=10s
2022-08-05 22:43:12.768 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE DATABASE IF NOT EXISTS flow_log
2022-08-05 22:43:12.771 [INFO] [ckwriter] ckwriter.go:74 Exec SQL:
CREATE TABLE IF NOT EXISTS flow_log.`l7_flow_log_local`
(`_id` UInt64  CODEC(DoubleDelta),
`region_id_0` UInt16  ,
INDEX region_id_0_idx (region_id_0) TYPE minmax GRANULARITY 3,
`region_id_1` UInt16  ,
INDEX region_id_1_idx (region_id_1) TYPE minmax GRANU ...
2022-08-05 22:43:12.781 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE TABLE IF NOT EXISTS flow_log.`l7_flow_log` AS flow_log.`l7_flow_log_local` ENGINE=Distributed('df_cluster', 'flow_log', 'l7_flow_log_local', rand())
2022-08-05 22:43:12.788 [INFO] [ckwriter] ckwriter.go:120 New CK writer: primaryAddr=deepflow-clickhouse-headless-0:9000, secondaryAddr=, user=, database=flow_tag, table=flow_log_custom_field_local, replica=false, queueCount=1, queueSize=1000000, batchSize=512000, flushTimeout=10s
2022-08-05 22:43:12.788 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE DATABASE IF NOT EXISTS flow_tag
2022-08-05 22:43:12.790 [INFO] [ckwriter] ckwriter.go:74 Exec SQL:
CREATE TABLE IF NOT EXISTS flow_tag.`flow_log_custom_field_local`
(`time` DateTime('Asia/Shanghai')  CODEC(DoubleDelta),
INDEX time_idx (time) TYPE minmax GRANULARITY 3,
`table` LowCardinality(String)  ,
`vpc_id` Int32  ,
INDEX vpc_id_idx (vpc_id) TYPE mi ...
2022-08-05 22:43:12.792 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE TABLE IF NOT EXISTS flow_tag.`flow_log_custom_field` AS flow_tag.`flow_log_custom_field_local` ENGINE=Distributed('df_cluster', 'flow_tag', 'flow_log_custom_field_local', rand())
2022-08-05 22:43:12.795 [INFO] [ckwriter] ckwriter.go:120 New CK writer: primaryAddr=deepflow-clickhouse-headless-0:9000, secondaryAddr=, user=, database=flow_tag, table=flow_log_custom_field_value_local, replica=false, queueCount=1, queueSize=1000000, batchSize=512000, flushTimeout=10s
2022-08-05 22:43:12.795 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE DATABASE IF NOT EXISTS flow_tag
2022-08-05 22:43:12.813 [INFO] [ckwriter] ckwriter.go:74 Exec SQL:
CREATE TABLE IF NOT EXISTS flow_tag.`flow_log_custom_field_value_local`
(`time` DateTime('Asia/Shanghai')  CODEC(DoubleDelta),
INDEX time_idx (time) TYPE minmax GRANULARITY 3,
`table` LowCardinality(String)  ,
`vpc_id` Int32  ,
INDEX vpc_id_idx (vpc_id) T ...
2022-08-05 22:43:12.821 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE TABLE IF NOT EXISTS flow_tag.`flow_log_custom_field_value` AS flow_tag.`flow_log_custom_field_value_local` ENGINE=Distributed('df_cluster', 'flow_tag', 'flow_log_custom_field_value_local', rand())
2022-08-05 22:43:12.837 [INFO] [ckwriter] ckwriter.go:120 New CK writer: primaryAddr=deepflow-clickhouse-headless-0:9000, secondaryAddr=, user=, database=flow_tag, table=ext_metrics_custom_field_local, replica=false, queueCount=1, queueSize=100000, batchSize=51200, flushTimeout=10s
2022-08-05 22:43:12.837 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE DATABASE IF NOT EXISTS flow_tag
2022-08-05 22:43:12.845 [WARN] [grpc] grpc_session.go:96 Sync from server <IP_ADDRESS> failed, reason: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:20035: connect: connection refused"
2022-08-05 22:43:12.845 [WARN] [grpc] grpc_platformdata.go:285 No reachable server
2022-08-05 22:43:12.845 [WARN] [grpc] grpc_session.go:96 Sync from server <IP_ADDRESS> failed, reason: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:20035: connect: connection refused"
2022-08-05 22:43:12.846 [WARN] [grpc] grpc_platformdata.go:285 No reachable server
2022-08-05 22:43:12.846 [WARN] [grpc] grpc_session.go:96 Sync from server <IP_ADDRESS> failed, reason: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:20035: connect: connection refused"
2022-08-05 22:43:12.846 [WARN] [grpc] grpc_platformdata.go:285 No reachable server
2022-08-05 22:43:12.846 [WARN] [grpc] grpc_session.go:96 Sync from server <IP_ADDRESS> failed, reason: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:20035: connect: connection refused"
2022-08-05 22:43:12.847 [WARN] [grpc] grpc_platformdata.go:285 No reachable server
2022-08-05 22:43:12.847 [WARN] [grpc] grpc_session.go:96 Sync from server <IP_ADDRESS> failed, reason: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:20035: connect: connection refused"
2022-08-05 22:43:12.847 [WARN] [grpc] grpc_platformdata.go:285 No reachable server
2022-08-05 22:43:12.847 [WARN] [grpc] grpc_session.go:96 Sync from server <IP_ADDRESS> failed, reason: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:20035: connect: connection refused"
2022-08-05 22:43:12.848 [WARN] [grpc] grpc_platformdata.go:285 No reachable server
2022-08-05 22:43:12.858 [INFO] [ckwriter] ckwriter.go:74 Exec SQL:
CREATE TABLE IF NOT EXISTS flow_tag.`ext_metrics_custom_field_local`
(`time` DateTime('Asia/Shanghai')  CODEC(DoubleDelta),
INDEX time_idx (time) TYPE minmax GRANULARITY 3,
`table` LowCardinality(String)  ,
`vpc_id` Int32  ,
INDEX vpc_id_idx (vpc_id) TYPE ...
2022-08-05 22:43:12.863 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE TABLE IF NOT EXISTS flow_tag.`ext_metrics_custom_field` AS flow_tag.`ext_metrics_custom_field_local` ENGINE=Distributed('df_cluster', 'flow_tag', 'ext_metrics_custom_field_local', rand())
2022-08-05 22:43:12.865 [INFO] [ckwriter] ckwriter.go:120 New CK writer: primaryAddr=deepflow-clickhouse-headless-0:9000, secondaryAddr=, user=, database=flow_tag, table=ext_metrics_custom_field_value_local, replica=false, queueCount=1, queueSize=100000, batchSize=51200, flushTimeout=10s
2022-08-05 22:43:12.865 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE DATABASE IF NOT EXISTS flow_tag
2022-08-05 22:43:12.868 [INFO] [ckwriter] ckwriter.go:74 Exec SQL:
CREATE TABLE IF NOT EXISTS flow_tag.`ext_metrics_custom_field_value_local`
(`time` DateTime('Asia/Shanghai')  CODEC(DoubleDelta),
INDEX time_idx (time) TYPE minmax GRANULARITY 3,
`table` LowCardinality(String)  ,
`vpc_id` Int32  ,
INDEX vpc_id_idx (vpc_id ...
2022-08-05 22:43:12.869 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE TABLE IF NOT EXISTS flow_tag.`ext_metrics_custom_field_value` AS flow_tag.`ext_metrics_custom_field_value_local` ENGINE=Distributed('df_cluster', 'flow_tag', 'ext_metrics_custom_field_value_local', rand())
2022-08-05 22:43:12.879 [INFO] [ckwriter] ckwriter.go:120 New CK writer: primaryAddr=deepflow-clickhouse-headless-0:9000, secondaryAddr=, user=, database=flow_tag, table=ext_metrics_custom_field_local, replica=false, queueCount=1, queueSize=100000, batchSize=51200, flushTimeout=10s
2022-08-05 22:43:12.879 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE DATABASE IF NOT EXISTS flow_tag
2022-08-05 22:43:12.885 [INFO] [ckwriter] ckwriter.go:74 Exec SQL:
CREATE TABLE IF NOT EXISTS flow_tag.`ext_metrics_custom_field_local`
(`time` DateTime('Asia/Shanghai')  CODEC(DoubleDelta),
INDEX time_idx (time) TYPE minmax GRANULARITY 3,
`table` LowCardinality(String)  ,
`vpc_id` Int32  ,
INDEX vpc_id_idx (vpc_id) TYPE ...
2022-08-05 22:43:12.888 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE TABLE IF NOT EXISTS flow_tag.`ext_metrics_custom_field` AS flow_tag.`ext_metrics_custom_field_local` ENGINE=Distributed('df_cluster', 'flow_tag', 'ext_metrics_custom_field_local', rand())
2022-08-05 22:43:12.895 [WARN] [stats] stats.go:105 Possible memory leak! countable queue-map[host:deepflow-server-0 index:0 module:flow_tag-ext_metrics_custom_field_local] is not correctly closed.
2022-08-05 22:43:12.895 [INFO] [ckwriter] ckwriter.go:120 New CK writer: primaryAddr=deepflow-clickhouse-headless-0:9000, secondaryAddr=, user=, database=flow_tag, table=ext_metrics_custom_field_value_local, replica=false, queueCount=1, queueSize=100000, batchSize=51200, flushTimeout=10s
2022-08-05 22:43:12.895 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE DATABASE IF NOT EXISTS flow_tag
2022-08-05 22:43:12.902 [INFO] [ckwriter] ckwriter.go:74 Exec SQL:
CREATE TABLE IF NOT EXISTS flow_tag.`ext_metrics_custom_field_value_local`
(`time` DateTime('Asia/Shanghai')  CODEC(DoubleDelta),
INDEX time_idx (time) TYPE minmax GRANULARITY 3,
`table` LowCardinality(String)  ,
`vpc_id` Int32  ,
INDEX vpc_id_idx (vpc_id ...
2022-08-05 22:43:12.903 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE TABLE IF NOT EXISTS flow_tag.`ext_metrics_custom_field_value` AS flow_tag.`ext_metrics_custom_field_value_local` ENGINE=Distributed('df_cluster', 'flow_tag', 'ext_metrics_custom_field_value_local', rand())
2022-08-05 22:43:12.908 [WARN] [stats] stats.go:105 Possible memory leak! countable queue-map[host:deepflow-server-0 index:0 module:flow_tag-ext_metrics_custom_field_value_local] is not correctly closed.
2022-08-05 22:43:12.913 [INFO] [ckwriter] ckwriter.go:120 New CK writer: primaryAddr=deepflow-clickhouse-headless-0:9000, secondaryAddr=, user=, database=flow_tag, table=deepflow_system_custom_field_local, replica=false, queueCount=1, queueSize=100000, batchSize=51200, flushTimeout=10s
2022-08-05 22:43:12.913 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE DATABASE IF NOT EXISTS flow_tag
2022-08-05 22:43:12.915 [INFO] [ckwriter] ckwriter.go:74 Exec SQL:
CREATE TABLE IF NOT EXISTS flow_tag.`deepflow_system_custom_field_local`
(`time` DateTime('Asia/Shanghai')  CODEC(DoubleDelta),
INDEX time_idx (time) TYPE minmax GRANULARITY 3,
`table` LowCardinality(String)  ,
`vpc_id` Int32  ,
INDEX vpc_id_idx (vpc_id)  ...
2022-08-05 22:43:12.916 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE TABLE IF NOT EXISTS flow_tag.`deepflow_system_custom_field` AS flow_tag.`deepflow_system_custom_field_local` ENGINE=Distributed('df_cluster', 'flow_tag', 'deepflow_system_custom_field_local', rand())
2022-08-05 22:43:12.918 [INFO] [ckwriter] ckwriter.go:120 New CK writer: primaryAddr=deepflow-clickhouse-headless-0:9000, secondaryAddr=, user=, database=flow_tag, table=deepflow_system_custom_field_value_local, replica=false, queueCount=1, queueSize=100000, batchSize=51200, flushTimeout=10s
2022-08-05 22:43:12.918 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE DATABASE IF NOT EXISTS flow_tag
2022-08-05 22:43:12.919 [INFO] [ckwriter] ckwriter.go:74 Exec SQL:
CREATE TABLE IF NOT EXISTS flow_tag.`deepflow_system_custom_field_value_local`
(`time` DateTime('Asia/Shanghai')  CODEC(DoubleDelta),
INDEX time_idx (time) TYPE minmax GRANULARITY 3,
`table` LowCardinality(String)  ,
`vpc_id` Int32  ,
INDEX vpc_id_idx (vp ...
2022-08-05 22:43:12.921 [INFO] [ckwriter] ckwriter.go:76 Exec SQL:  CREATE TABLE IF NOT EXISTS flow_tag.`deepflow_system_custom_field_value` AS flow_tag.`deepflow_system_custom_field_value_local` ENGINE=Distributed('df_cluster', 'flow_tag', 'deepflow_system_custom_field_value_local', rand())
2022-08-05 22:43:12.924 [INFO] [datasource] datasource.go:195 datasource manager started
2022-08-05 22:43:12.925 [WARN] [grpc] grpc_session.go:96 Sync from server <IP_ADDRESS> failed, reason: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:20035: connect: connection refused"
2022-08-05 22:43:12.925 [WARN] [grpc] grpc_session.go:96 Sync from server <IP_ADDRESS> failed, reason: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:20035: connect: connection refused"
2022-08-05 22:43:12.925 [WARN] [grpc] grpc_session.go:96 Sync from server <IP_ADDRESS> failed, reason: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:20035: connect: connection refused"
2022-08-05 22:43:12.925 [WARN] [grpc] grpc_platformdata.go:285 No reachable server
2022-08-05 22:43:12.925 [WARN] [grpc] grpc_platformdata.go:285 No reachable server
2022-08-05 22:43:12.926 [WARN] [grpc] grpc_platformdata.go:285 No reachable server
2022-08-05 22:43:12.926 [WARN] [grpc] grpc_session.go:96 Sync from server <IP_ADDRESS> failed, reason: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp <IP_ADDRESS>:20035: connect: connection refused"
2022-08-05 22:43:12.927 [WARN] [grpc] grpc_platformdata.go:285 No reachable server
root@node01:~#

i must restart the pods , and it change in running status and never CrashLoopBackOff again :
root@node01:~# kubectl -n deepflow delete pods deepflow-server-0
pod "deepflow-server-0" deleted
root@node01:~# kubectl -n deepflow get pods
NAME                                READY   STATUS    RESTARTS      AGE
deepflow-agent-f69k8                1/1     Running   0             16m
deepflow-agent-m4n8g                1/1     Running   0             16m
deepflow-app-84648d9786-6z4nb       1/1     Running   0             16m
deepflow-clickhouse-0               1/1     Running   0             16m
deepflow-grafana-5c67685dc4-5hkjt   1/1     Running   4 (15m ago)   16m
deepflow-mysql-6967788cdb-nhjf8     1/1     Running   0             16m
deepflow-server-0                   2/2     Running   0             30s
root@node01:~#

@willzhang
He has to restart and wait for another pod in DeepFlow-Server to get the election information. This is not a problem, it will recover automatically without deleting the pod

i wait one night ,but it not auto recoverd, and auto restart 73 times.
root@node01:~# kubectl -n deepflow  get pods
NAME                                READY   STATUS             RESTARTS        AGE
deepflow-agent-fp74p                1/1     Running            5 (5h45m ago)   6h58m
deepflow-agent-gjs6j                1/1     Running            5 (5h45m ago)   6h58m
deepflow-agent-r52kp                1/1     Running            4 (5h46m ago)   6h58m
deepflow-app-84648d9786-tmz4s       1/1     Running            0               6h58m
deepflow-clickhouse-0               1/1     Running            0               118m
deepflow-grafana-5c67685dc4-gc42z   1/1     Running            8 (6h17m ago)   6h51m
deepflow-mysql-6967788cdb-slv7j     1/1     Running            0               6h19m
deepflow-server-0                   1/2     CrashLoopBackOff   73 (86s ago)    6h51m

Oh, can you do it again? You should look at the log of DeepFlow-Server's other pod.

do what? i have restart it, and it recoverd , i can show you How to reproduce this problem

elector pod logs:
root@node01:~# kubectl -n deepflow  logs deepflow-server-0  -c elector
 is the leader
deepflow-server-0 is the leader
E0806 11:52:16.313381       8 event.go:257] Could not construct reference to: '&api.Endpoints{TypeMeta:unversioned.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:api.ObjectMeta{Name:"deepflow-server", GenerateName:"", Namespace:"deepflow", SelfLink:"", UID:"fdddd9ae-c6c0-4dc8-8fd3-55f4b4fed34c", ResourceVersion:"8240", Generation:0, CreationTimestamp:unversioned.Time{Time:time.Time{sec:63795354728, nsec:0, loc:(*time.Location)(0x240f0a0)}}, DeletionTimestamp:(*unversioned.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string{"app.kubernetes.io/name":"deepflow", "app.kubernetes.io/version":"6.1.1", "helm.sh/chart":"deepflow-0.1.003", "app":"deepflow", "app.kubernetes.io/instance":"deepflow", "app.kubernetes.io/managed-by":"Helm"}, Annotations:map[string]string{"endpoints.kubernetes.io/last-change-trigger-time":"2022-08-06T03:52:08Z"}, OwnerReferences:[]api.OwnerReference(nil), Finalizers:[]string(nil)}, Subsets:[]api.EndpointSubset(nil)}' due to: 'selfLink was empty, can't make reference'. Will not report event: 'Normal' '%v became leader' 'deepflow-server-0'
I0806 11:52:16.313605       8 leaderelection.go:215] sucessfully acquired lease deepflow/deepflow-server
root@node01:~#

`
@ZhengYa-0110
2022/08/08 10:34:04 /root/actions-runner/_work/deepflow/deepflow/server/controller/db/mysql/migrate.go:176 Error 1060: Duplicate column name 'inactive_ip_enabled'
[1.196ms] [rows:0] USE deepflow;

ALTER TABLE vtap_group_configuration
    ADD COLUMN inactive_ip_enabled       TINYINT(1) COMMENT '0: disabled 1:enabled';

UPDATE db_version SET version='<IP_ADDRESS>';
2022-08-08 10:34:04.653 [ERRO] [db.mysql] migrate.go:178 excute db issu (version: <IP_ADDRESS>) failed: Error 1060: Duplicate column name 'inactive_ip_enabled'

@willzhang
判断为该环境mysql的性能不太好，db未初始化完成时，server因readinessProbe探活失败被kill，导致db初始化失败且没有回滚。server重启后，脏数据导致无法正确判断db该如果升级，产生异常，目前代码层面 @ZhengYa-0110 还在考虑如何优化，helm   chart将readinessProbe策略调整为了如下策略，确保sql能够初始化完成，135秒足够初始化SQL了， 你可以使用最新的helm chart重新安装来解决这个问题
It is judged that the performance of mysql in this environment is not very good. When the db initialization is not completed, the server is killed due to the failure of readinessProbe detection, resulting in db initialization failure and no rollback. After the server restarts, the dirty data makes it impossible to correctly judge whether the db should be upgraded, resulting in an exception. At present, @ZhengYa-0110 is still considering how to optimize the code level. The helm chart adjusts the readinessProbe strategy to the following strategy to ensure that the sql can be initialized and completed, 135 seconds is enough SQL is initialized. You can fix this by reinstalling using the latest helm chart.
            failureThreshold: 12
            initialDelaySeconds: 15
            periodSeconds: 10

i had the same problem

Did you use the latest Helm Chart redeployment to resolve it? Are you also having mysql performance issues?
@guojie0701

@willzhang
判断为该环境mysql的性能不太好，db未初始化完成时，server因readinessProbe探活失败被kill，导致db初始化失败且没有回滚。server重启后，脏数据导致无法正确判断db该如何升级，产生异常，目前代码层面 @ZhengYa-0110 还在考虑如何优化，helm chart将readinessProbe策略调整为了如下策略，确保sql能够初始化完成，135秒足够初始化SQL了， 你可以使用最新的helm chart重新安装来解决这个问题
It is judged that the performance of mysql in this environment is not very good. When the db initialization is not completed, the server is killed due to the failure of readinessProbe detection, resulting in db initialization failure and no rollback. After the server restarts, the dirty data makes it impossible to correctly judge how to upgrade the db, resulting in an exception. At present, @ZhengYa-0110 is still considering how to optimize the code level. The helm chart adjusts the readinessProbe strategy to the following strategy to ensure that the sql can be initialized and completed, 135 seconds is enough SQL is initialized, you can reinstall using the latest helm chart to fix this.
          readinessProbe:
            tcpSocket:
              port: server
            failureThreshold: 12
            initialDelaySeconds: 15
            periodSeconds: 10
            successThreshold: 1
          livenessProbe:
            failureThreshold: 7
            initialDelaySeconds: 15
            periodSeconds: 20
            successThreshold: 1
            tcpSocket:
              port: server
            timeoutSeconds: 1

Thanks , it's resolved by use the latest helm charts 0.1.006
$ helm repo update

$ helm search repo deepflow
NAME                    CHART VERSION   APP VERSION     DESCRIPTION
deepflow/deepflow       0.1.006         6.1.1           An automated observability platform for cloud-n...
deepflow/deepflow-agent 0.1.006         6.1.1           An automated observability platform for cloud-n...

root@node01:~# kubectl -n deepflow get pods
NAME                                READY   STATUS    RESTARTS        AGE
deepflow-agent-r2tn2                1/1     Running   1 (95s ago)     5m56s
deepflow-agent-vf66g                1/1     Running   0               5m56s
deepflow-agent-wrsnc                1/1     Running   0               5m56s
deepflow-app-84648d9786-8qjpq       1/1     Running   0               5m56s
deepflow-clickhouse-0               1/1     Running   0               5m56s
deepflow-grafana-55c9957fc8-z92sr   1/1     Running   4 (4m40s ago)   5m56s
deepflow-mysql-6967788cdb-zlt7n     1/1     Running   0               5m56s
deepflow-server-0                   2/2     Running   3 (4m52s ago)   5m56s

这个issues 暴露了我们一些地方排查的不方便，我们会进行一些改动

将探活从tcp改为http，同时代码层面做如下改动 :  server启动后20417  端口可工作，但是直到阻塞式的各项操作完成后才让 20417  回复200，未完成时打印日志：我还没启动，因为什么原因没启动，并回复503.(TBD)
探活的策略放到values中，用户可根据自己的环境进行自定义修改
恢复探活的时间为默认，我们认为之前默认时间是个大部分情况下的预期的合理时间，这样能发现潜在问题。
我们会遇到很多环境，很多问题，以后也不能总用增大这个时间来解决，我们需要将这些配置放到values中，让用户可自定义。
我们会在数据库开始执行init时候记录log，执行完成记录log，以便后续更方便的定位到这个问题。(TBD)

This issues expose the inconvenience of our investigation in some places, we will make some changes

Change the probe from tcp to http, and make the following changes at the code level: After the server starts, the 20417 port can work, but 20417 will not reply 200 until the blocking operations are completed, and print the log when it is not completed: I It hasn't started yet, because it didn't start for some reason, and replied 503. (TBD)
The active strategy is placed in the values, and users can customize and modify them according to their own environment
The time to resume exploration is the default. We believe that the previous default time is a reasonable time expected in most cases, so that potential problems can be found.
We will encounter many environments and many problems, which cannot always be solved by increasing this time in the future. We need to put these configurations into values so that users can customize them.
We will record the log when the database starts to execute init, and record the log when the execution is completed, so that the problem can be more easily located in the future. (TBD)

@willzhang We do not need to close this issue until the optimization is complete

@guojie0701 @willzhang  If you need to use the latest Helm Chart, you'll need to customize it
server.readinessProbe server.livenessProbe

@willzhang
latest version is the problem solved? Can you close this issues?

@willzhang 最新版本问题解决了吗？你能关闭这个问题吗？
yes ,it resolved ,thanks.
helm install with:
--set server.readinessProbe.failureThreshold=135
--set server.livenessProbe.failureThreshold=135

helm install deepflow  deepflow/deepflow -n deepflow --create-namespace
--set server.readinessProbe.failureThreshold=135
--set server.livenessProbe.failureThreshold=135


Fix matcher docs to match new pulsedive types

Align to the changes on the pulsedive type in https://github.com/tenzir/event-horizon/pull/1553.
:memo: Checklist

[x] All user-facing changes have changelog entries.
[x] The changes are reflected on vast.io, if necessary.
[x] The PR description contains instructions for the reviewer, if necessary.

:dart: Review Instructions

This has been open for several months now. In the meantime we decided to refactor the matcher into a pipeline operator and will apply the necessary cleanup as part of that effort.


[MODFISTO-401] - Implement endpoint to retrieve list of registered affiliations for a user

Purpose

https://issues.folio.org/browse/MODFISTO-401
Approach

TODOS and Open Questions

Learning

Pre-Merge Checklist:
Before merging this PR, please go through the following list and take appropriate actions.

Does this PR meet or exceed the expected quality standards?

[ ] Code coverage on new code is 80% or greater
[ ] Duplications on new code is 3% or less
[ ] There are no major code smells or security issues

Does this introduce breaking changes?

[ ] Were any API paths or methods changed, added or removed?
[ ] Were there any schema changes?
[ ] Did any of the interface versions change?
[ ] Were permissions changed, added or removed?
[ ] Are there new interface dependencies?
[ ] There are no breaking changes in this PR.

If there are breaking changes, please STOP and consider the following:

What other modules will these changes impact?
Do JIRAs exist to update the impacted modules?

[ ] If not, please create them
[ ] Do they contain the appropriate level of detail?  Which endpoints/schemas changed, etc.
[ ] Do they have all the appropriate links to blocked/related issues?

Are the JIRAs under active development?

[ ] If not, contact the project's PO and make sure they're aware of the urgency.

Do PRs exist for these changes?

[ ] If so, have they been approved?

Did you modify code to call some additional endpoints?

[ ] If so, do you check that necessary module permission added in ModuleDescriptor-template.yaml file?

Ideally, all the PRs involved in breaking changes would be merged on the same day
to avoid breaking the folio-testing environment.
Communication is paramount if that is to be achieved,
especially as the number of inter-module and inter-team dependencies increase.
While it's helpful for reviewers to help identify potential problems,
ensuring that it's safe to merge is ultimately the responsibility of the PR assignee.

INFO: api-lint: Using api-lint version: 1.2.1
INFO: api-lint: https://dev.folio.org/guides/api-lint/
INFO: api-lint: Assessing API description files: OAS
INFO: api-lint: Processing OAS 3.0 file: src/main/resources/swagger.api/consortia.yaml
ERROR: api-lint:
---- Summary:
parsingResult.conforms: false
parsingResult.results.length: 2
Violation: Invalid type UUID
Violation: Invalid type UUID
--------
validationResult.conforms: true
validationResult.results.length: 0
--------

---- parsingResult:
Model: file://./src/main/resources/swagger.api/consortia.yaml
Conforms: false
Number of results: 2

Level: Violation

- Constraint: http://a.ml/vocabularies/amf/parser#invalid-json-schema-type
  Message: Invalid type UUID
  Severity: Violation
  Target:
  Property:
  Range: [(9,17)-(9,23)]
  Location: file://./src/main/resources/swagger.api/schemas/dto/userTenant.json

- Constraint: http://a.ml/vocabularies/amf/parser#invalid-json-schema-type
  Message: Invalid type UUID
  Severity: Violation
  Target:
  Property:
  Range: [(12,17)-(12,23)]
  Location: file://./src/main/resources/swagger.api/schemas/dto/userTenant.json

---- validationResult:
ModelId: file://./src/main/resources/swagger.api/consortia.yaml
Profile: OAS 3.0
Conforms: true
Number of results: 0

ERROR: api-lint: There were processing errors. See list above.

Note: When those ERRORs are fixed, then any INFO and WARNING messages will be gone too. See Jenkins "Artifacts" tab for ApiLintReport.

@azizbekxm please fix Lint errors

@azizbekxm please fix Lint errors

I checked that this fixed in Jenkins job already, so nevermind

Can I change this to pv -> consorita.

In case of duplicate username we can filter by also tenantid

src/main/resources/swagger.api/schemas/dto/tenant.json is still using tenantId and tenantName instead of id and name, as in the database description. It looks like this should be updated.

src/main/resources/swagger.api/schemas/dto/tenant.json is still using tenantId and tenantName instead of id and name, as in the database description. It looks like this should be updated.

I will fix it , Thanks

I am not sure because in API contract we need to expose fields tenantId, tenantName

src/main/resources/swagger.api/schemas/dto/tenant.json is still using tenantId and tenantName instead of id and name, as in the database description. It looks like this should be updated.

I will fix it , Thanks

I am not sure because in API contract we need to expose fields tenantId, tenantName

@SerhiiNosko  I would prefer if the output is id and name. The contract there was based on what was already implemented for the repo, if that changes anything.


Django 1.8 returns django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet

This can be solved by moving HTMLField class from models.py to fields.py.
The new applications registration system in django does not support importing any object from one models.py to another.

Sorry, this is not error. The real problem was the lack of the apps.py in application. uses tinymce


Content#close not being called by Rack

I see that Job#close was moved to Content#close in this commit https://github.com/markevans/dragonfly/commit/56780f730f8ef3a6215c211cbb565f8a74568d55#diff-a95817a0b14973e13e55d71091dfc0da
Dragonfly::Server is returning a Job object for Rack's expected 'body' response. Job doesn't respond to #close.
Am I missing something here or is this the expected behavior?

no, you're not missing something. at first glance this looks like a bug!!
Thanks for pointing out. I'll try and get on the case asap (I've been away hence delayed response)


haproxy default certificate if SNI is not provided

by haproxy plugin exist possibility to use multiple certificates by ssl offloading and this also works without any issues
what i am missing is possibility to choose default certificate if SNI is not provided
by default is used first created (oldest) certificate...

I'll look into it.

HAProxy does not provide a parameter to configure some sort of "default certificate" in case SNI is not provided. Workarounds exist to make this work nonetheless, I'm working on a quick documentation to show how to configure this by using the OPNsense HAProxy plugin.

Well, this was not exactly the right answer. The HAProxy documentation states:

If no SNI is provided by the client or if the SSL library does not support
TLS extensions, or if the client provides an SNI hostname which does not
match any certificate, then the first loaded certificate will be presented.
This means that when loading certificates from a directory, it is highly
recommended to load the default one first as a file or to ensure that it will
always be the first one in the directory.
Note that the same cert may be loaded multiple times without side effects.

If we consider that the workaround requires extensive configuration, I'll try to come up with a simpler approach instead. Maybe we cann add a new option "Default certificate" and make sure that this certificate is always the first one on the list.

@pcmediapear: I've introduced a new advanced parameter for frontends: "Default certificate". You can apply the patch from the PR or wait for release of plugin os-haproxy version 1.7, which shouldn't take too long.

This was merged, but will be picked up in 16.7.9, since the new 16.7.8 builds are already done.
But you can patch your instance using:
# opnsense-patch -c plugins 42041e5

many thanks...


New paper page should have text inputs for title, venue, and year

Scenario
When a user visits the new paper page
Then the page should render
Hints
A paper management system manages papers in addition to authors.
Papers should have a 'title' and a 'venue' string as well as a 'year' integer, indicating publishing date.
Papers should be manageable by users using views similar to authors.
Instead of generating the paper model and all the needed controllers and views separately (for new, create, read, update, etc.), use a Rails scaffold.
It generates a model, a database migration, controller and views, and a basic suite:
rails generate scaffold paper title:string venue:string year:integer
Take a look at the generated files and adapt the tests.
The new migrations need to be applied: rails db:migrate RAILS_ENV=development && rails db:migrate RAILS_ENV=test
Error

Got NameError: undefined local variable or method `new_paper_path' for #RSpec::ExampleGroups::NewPaperPage:0x000055eccce2b120
Did you mean?  new_author_path

19 exercise tests have passed. There are 44 in total. You will solve multiple at once towards the end.

Sorry, it's not working for me yet:
Scenario
When a user visits the new paper page
Then the page should render
Error

Got NameError: undefined local variable or method `new_paper_path' for #RSpec::ExampleGroups::NewPaperPage:0x000055f54629ba30
Did you mean?  new_author_path

If you have problems solving this task, please don't hesitate to contact the teaching team!


fix managed cluster labels in KinD env.

This PR addresses the issue left from: https://github.com/open-cluster-management/multicluster-observability-operator/pull/819#issuecomment-966776031
Signed-off-by: morvencao<EMAIL_ADDRESS>

/retest

/test e2e-kind

/retest

/retest

/test test-e2e

/retest

/retest

/retest

/retest


[service-bus] track2 - Make sendBatch() an overload of send()

Currently we're going to have 3 send based methods:

send(single-message)
send(array of messages)
sendBatch(ServiceBusBatch)

EventHubs, at one point, had multiple overloads in a similar fashion and went through a similar discussion in #8470.
We should discuss this and see if we want to follow the same pattern as EventHubs (we've already copied their batch model) or if we prefer to have overloads and have only a single 'send' API.
Based on user studies I'd lean towards having the single send() call with overloads.
Users tended to latch onto method names a bit and it'd be better if they could see all the possible send() operations with the implicit assumption that they are similar.

In preview.2 we're going to go with a single method (send) with overloads.

Another point to consider if we are using the same send() for all 3 options is to have the below signature instead of overloads:
send(message: ServiceBusMessage | ServiceBusMessage[] | ServiceBusMessageBstch, options)

That's true, but then the parameter name isn't as nice :)
Closing as the PR for this now been merged.


add sorting on browse

users should be able to sort the components they have found while browsing. For example, sort by licenses, CD score, age, provider/type, group source with package, ...

https://github.com/clearlydefined/website/issues/126 may be a duplicate of this. We can close one.

Closing as a duplicate of #126


player/chat/subscriber.go: add logrus bundle subscriber

I'm not sure if we should add this into dragonfly. Might be better put into a separate library.

I'm not sure if we should add this into dragonfly. Might be better put into a separate library.

but I think dragonfly assumes using logrus
just like


Todo: describe spectrum data files

The spectral data files sourced by Especia need to be described in the wiki.

Done.


Fixing an issue with the goinfo, when giving multiplets as input

Ciao Matteo. For the doc improvements, can you please another PR, only with doc-related commits? Also, don't forget to pull the latest modifications because the doc changed a lot. Thank you,

Of course, I pulled yesterday the last time.

@EtienneCmb now it should be only with the changes about the correction of goinfo.


Heap out of memory in 5.3.1-rc but not 5.3.0-beta

🔎 Search Terms
heap out of memory ineffective mark-compacts near heap limit Allocation failed
🕗 Version & Regression Information

This is a crash
This changed between versions ______ and _______
This changed in commit or PR _______
This is the behavior in every version I tried, and I reviewed the FAQ for entries about _________
I was unable to test this on prior versions because _______

⏯ Playground Link
https://github.com/typescript-eslint/typescript-eslint/tree/281ce307cf92dbaf69ab6aba1c942ef5d342278c
💻 Code
git clone https://github.com/JoshuaKGoldberg/typescript-eslint
cd typescript-eslint
git checkout 281ce307cf92dbaf69ab6aba1c942ef5d342278c
yarn # make sure this is yarn berry, not v1 / classic

🙁 Actual behavior
In packages/utils, tsc -b tsconfig.build.json (yarn build) should run successfully.
🙂 Expected behavior
$ yarn build
yarn run v1.22.19
$ tsc -b tsconfig.build.json

<--- Last few GCs --->

[68654:0x158008000]    46789 ms: Mark-Compact 4076.4 (4143.2) -> 4075.2 (4143.2) MB, 1144.83 / 0.00 ms  (average mu = 0.121, current mu = 0.000) allocation failure; scavenge might not succeed
[68654:0x158008000]    48030 ms: Mark-Compact 4076.4 (4143.2) -> 4075.3 (4143.2) MB, 1240.50 / 0.00 ms  (average mu = 0.064, current mu = 0.000) allocation failure; scavenge might not succeed

<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0x102c3e14c node::Abort() [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 2: 0x102c3e334 node::ModifyCodeGenerationFromStrings(v8::Local<v8::Context>, v8::Local<v8::Value>, bool) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 3: 0x102dbb4f4 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 4: 0x102f8fb9c v8::internal::Heap::GarbageCollectionReasonToString(v8::internal::GarbageCollectionReason) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 5: 0x102f93a50 v8::internal::Heap::CollectGarbageShared(v8::internal::LocalHeap*, v8::internal::GarbageCollectionReason) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 6: 0x102f904b4 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 7: 0x102f8e23c v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 8: 0x102f84e90 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 9: 0x102f856f0 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
10: 0x102f6a6f4 v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
11: 0x103351fe0 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
12: 0x1036b0c44 Builtins_CEntry_Return1_ArgvOnStack_NoBuiltinExit [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
13: 0x108c22f00
14: 0x1089cbed0
15: 0x1036c8b3c Builtins_ArrayForEach [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
16: 0x108c124d8
17: 0x108c24080
18: 0x108c0ca74
19: 0x10896bde4
20: 0x108bba9d0
21: 0x108c0b1dc
22: 0x10896bde4
23: 0x108bba9d0
24: 0x108c0c6fc
25: 0x10896bde4
26: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
27: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
28: 0x108c12828
29: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
30: 0x108c0ca74
31: 0x10896bde4
32: 0x108b78acc
33: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
34: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
35: 0x108c12828
36: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
37: 0x108c0ca74
38: 0x10896bde4
39: 0x1089b70fc
40: 0x1089b7520
41: 0x1089b7814
42: 0x108bbb4d0
43: 0x108ad4a78
44: 0x108acee88
45: 0x108aaf64c
46: 0x108ab2c70
47: 0x108ba82a4
48: 0x1089b4e60
49: 0x108af3e88
50: 0x108aaf64c
51: 0x108ab2c70
52: 0x108bac2f4
53: 0x108ab73c8
54: 0x108aeb2c8
55: 0x1089a7958
56: 0x108ba6b40
57: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
58: 0x108ae714c
59: 0x108afbcd0
60: 0x108977fec
61: 0x10897820c
62: 0x10853663c
63: 0x108c13788
64: 0x108bb00f4
65: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
66: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
67: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
68: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
69: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
70: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
71: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
72: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
73: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
74: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
75: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
76: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
77: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
78: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
79: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
80: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
81: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
82: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
83: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
84: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
85: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
86: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
87: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
88: 0x1036283e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
89: 0x10362650c Builtins_JSEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
90: 0x1036261f4 Builtins_JSEntry [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
91: 0x102efd14c v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
92: 0x102efc598 v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
93: 0x102dd6e80 v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
94: 0x102c23088 node::builtins::BuiltinLoader::CompileAndCall(v8::Local<v8::Context>, char const*, node::Realm*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
95: 0x102cabb7c node::Realm::ExecuteBootstrapper(char const*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
96: 0x102c08004 node::StartExecution(node::Environment*, std::__1::function<v8::MaybeLocal<v8::Value> (node::StartExecutionCallbackInfo const&)>) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
97: 0x102b794a4 node::LoadEnvironment(node::Environment*, std::__1::function<v8::MaybeLocal<v8::Value> (node::StartExecutionCallbackInfo const&)>) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
98: 0x102c7c0f4 node::NodeMainInstance::Run() [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
99: 0x102c0a44c node::LoadSnapshotDataAndRun(node::SnapshotData const**, node::InitializationResultImpl const*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
100: 0x102c0a76c node::Start(int, char**) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
101: 0x184ad3e50 start [/usr/lib/dyld]
error Command failed with signal "SIGABRT".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Additional information about the issue
Building worked in the previous commits on 5.3.0-beta. I also tried reverting the runtime changes to createIsolatedProgram.ts and estree-to-ts-node-types.ts from ac4beddeda21a1a15e228471e1e293c270b25cff but that didn't seem to fix the build locally.

Is there any chance you could bisect? Maybe with https://www.npmjs.com/package/every-ts?

Didn't get time yet to try the per-commit bisecting with every-ts, but some quick stabs at replacing package.json and some files internally:
5.3.0-dev.20231027 - broken
5.3.0-dev.20231026 - broken
5.3.0-dev.20231025 - good
5.3.0-dev.20231020 - good

Ok I tried out every-ts and ... I think it got stuck?
joshgoldberg ~/repos/typescript-eslint $ every-ts bisect good
aa9b6953441b53f8b14072c047f0519b611150c4 is the first bad commit
commit aa9b6953441b53f8b14072c047f0519b611150c4
Author: TypeScript Bot<EMAIL_ADDRESS>Date:   Thu Oct 26 06:24:18 2023 +0000

    Update package-lock.json

 package-lock.json | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)
joshgoldberg ~/repos/typescript-eslint $ every-ts bisect good
aa9b6953441b53f8b14072c047f0519b611150c4 is the first bad commit
commit aa9b6953441b53f8b14072c047f0519b611150c4
Author: TypeScript Bot<EMAIL_ADDRESS>Date:   Thu Oct 26 06:24:18 2023 +0000

    Update package-lock.json

 package-lock.json | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)
joshgoldberg ~/repos/typescript-eslint $

Commit I'm running from: https://github.com/JoshuaKGoldberg/typescript-eslint/commit/cd4eb1f5017d0904d0a8f6f56d4f36d2b77366ae
Full list of commands I ran:
every-ts bisect start
every-ts bisect good 5.3.0-dev.20231025
every-ts bisect bad 5.3.0-dev.20231026
yarn
yarn build
every-ts bisect good
yarn
yarn build
every-ts bisect good
yarn
yarn build
every-ts bisect good
every-ts bisect good
every-ts bisect good

It didn't get stuck; bisecting ended at a package update commit.
If that's all of the commands you ran, nothing in that actually links the package into your workspace. You should consider running every-ts tsc -b tsconfig.build.json (or use the subcommand to get a dir you can link). Otherwise you're not actually running the code it's building (hence, repeated "good" until a random commit).

$ cd packages/utils
$ every-ts bisect start 5.2 main
$ every-ts bisect run timeout 20 tsc -b tsconfig.build.json -f
...
55395f9e01e0b2ff4152981a52aa76487df17605 is the first bad commit
commit 55395f9e01e0b2ff4152981a52aa76487df17605
Author: Sheetal Nandi<EMAIL_ADDRESS>Date:   Wed Oct 25 15:05:47 2023 -0700

    When caching type references cache the tracked symbols so they can be emitted in the d.ts file (#51721)

 src/compiler/checker.ts                            |  25 +-
 src/compiler/types.ts                              |   3 +
 src/testRunner/unittests/tsc/incremental.ts        |  51 +++
 .../incremental/generates-typerefs-correctly.js    | 371 +++++++++++++++++++++
 4 files changed, 449 insertions(+), 1 deletion(-)
 create mode 100644 tests/baselines/reference/tsc/incremental/generates-typerefs-correctly.js

Bisect points to #51721. @sheetalkamat


Add in ability to call supabase.auth.resend()

Feature request
Is your feature request related to a problem? Please describe.
It seems that the resend has not been setup in the sdk - https://supabase.com/docs/reference/javascript/auth-resend
Describe the solution you'd like
I would like to be able to call this to have the user resend the OTP email.
Describe alternatives you've considered
I will have to use an edge function instead, which isn't ideal.

+1 Would also love to see this implemented

Hi, I haven't had much time recently to work on Supabase due to some other projects, feel free to send a PR over and I'll gladly review it.

Would love to pick this up as a first issue - I can try and find some time in next couple weeks

@scottybobandy - any update on this?


adding key when insert.

is it possible to add key to list (embaded_many)
eg :  this is my json i am trying to add as it is in database but need to validate first
{ 	"address": [{             "address1": "old hamilton road",             "address2": "11",             "address3": "",             "city": "new york",             "town": "",             "state": "",             "zipcode": "458770"         }] }
but when inserting to db field as json ecto insert without address key
[{“address1”:“address1”,“address2”:null,“address3”:null,“city”:“city”,“country”:“country”,“desc”:null,“inserted_at”:“2019-11-17T21:31:52”,“party_id”:null,“state”:“hidd”,“town”:“hidd”,“type”:“P”,“updated_at”:“2019-11-17T21:31:52”,“zipcode”:“458770”}]
how can i change or add key to changeset like this.
{“address”: [{“address1”:“address1”,“address2”:null,“address3”:null,“city”:“city”,“country”:“country”,“desc”:null,“inserted_at”:“2019-11-17T21:31:52”,“party_id”:null,“state”:“hidd”,“town”:“hidd”,“type”:“P”,“updated_at”:“2019-11-17T21:31:52”,“zipcode”:"458770”}]}

Please use the ElixirForum or StackOverflow for questions/help/feedback, where a wider community will be able to help you. We reserve the issues tracker for issues only. Thank you!


feat: allow optional "error_code" field in responses

This change relaxes the ic-ref-test suite to allow optional "error_code"
field in query responses and in request statuses as described in
https://github.com/dfinity/interface-spec/pull/38

It's a bit odd that we don't produce these anywhere in ic-ref, which would be helpful for the agents testing against ic-ref.

Great point! After https://github.com/dfinity/ic-hs/pull/75/commits/8fa86bc3ba73d949ae172fc011417a876cccbe47, ic-ref also emits error codes.


Support for clone_trait_object! in traits with generics

I had a case where I tried to use the macro to generate the internal Clone impls for a trait with some generic parameters and associated types, but the macro does not add the impl<X, Y, Z> part for the generics. I was able to use the crate still, by taking the macro output and manually adding the generics.

I believe this already works according to the macro documentation.


Add support for newer versions of Mongoose (5.x.y)

mongoose-float works fine with the latest versions of Mongoose, but that wasn't reflected in the module's dependencies. This caused npm to complain about missing peer dependencies when installing mongoose-flat with newer versions of Mongoose.
Now any Mongoose version between v4 and v5 is supported.

Thanks for merging, @Vnkitaev!
BTW, it'd be great if you could make a patch release for this, so people installing this via npm registry can enjoy the fix. Cheers!


Create NIX package for libbladeRF

https://github.com/Nuand/bladeRF

already exist - added https://github.com/Sky360-Repository/sky360/commit/f81cfbd5e766a5ea9b92cba09a25373d7606b9b7


Bump up default CPAOT test timeout to 2 minutes

Early on in CPAOT bring-up I asked Simon to set a short timeout
for test executions as many tests were timing out due to compiler
bugs. This is no longer the case - we only have a handful of
remaining failing tests and some of them are now suffering from
the short timeout. For now I have bumped up the timeout from 30
seconds to 2 minutes and that seems to be fixing all Top200 tests
that used to fail with the -103 exit code (about 5 tests overall).
Thanks
Tomas

I believe the CI system rebooted and didn't reschedule the wasm jobs.
@dotnet-bot test Windows_NT_Wasm Release WebAssembly
@dotnet-bot test Windows_NT_Wasm Debug and CoreCLR tests WebAssembly


Change capability of consul to bind port < 1024

Hello,
Currently it's not possible to start consul with a non root user.
I added an option in the systemd configuration.
Resolve #353
Thanks.

Thanks!


Blacklist manifest.json & milestones user

Fix #10290

Codecov Report

Merging #10292 into master will increase coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #10292      +/-   ##
==========================================
+ Coverage   43.68%   43.73%   +0.05%
==========================================
  Files         585      585
  Lines       81017    81017
==========================================
+ Hits        35392    35434      +42
+ Misses      41234    41201      -33
+ Partials     4391     4382       -9

Impacted Files
Coverage Δ

models/user.go
49.54% <ø> (ø)
:arrow_up:

services/pull/pull.go
32.43% <0%> (-1.51%)
:arrow_down:

modules/queue/workerpool.go
56.93% <0%> (-1.07%)
:arrow_down:

models/error.go
30.95% <0%> (+0.54%)
:arrow_up:

modules/git/repo.go
49.08% <0%> (+2.29%)
:arrow_up:

services/pull/temp_repo.go
31.62% <0%> (+2.56%)
:arrow_up:

modules/git/command.go
89.56% <0%> (+2.6%)
:arrow_up:

modules/process/manager.go
78.31% <0%> (+3.61%)
:arrow_up:

modules/git/utils.go
70.14% <0%> (+4.47%)
:arrow_up:

services/pull/patch.go
66.03% <0%> (+5.66%)
:arrow_up:

... and 3 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 791b109...cc2a972. Read the comment docs.


Deployment process went successful but portal has InvalidRequestError

Please help to solve problem after successful deployment without any errors.
Last deployment were without any errors, but before there was wrong pur to the script openai name service.
Everything from this resource group was deleted and whole procedure again initiated.
Please help to solve the problem because portal is not working :(
InvalidRequestError: The API deployment for this resource does not exist. If you created the deployment within the last 5 minutes, please wait a moment and try again.
Traceback:
File "/usr/local/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 565, in _run_script
exec(code, module.dict)
File "/usr/local/src/myscripts/pages/00_Chat.py", line 25, in
question, result, _, sources = llm_helper.get_semantic_answer_lang_chain(question, st.session_state['chat_history'])
File "/usr/local/src/myscripts/utilities/helper.py", line 168, in get_semantic_answer_lang_chain
result = chain({"question": question, "chat_history": chat_history})
File "/usr/local/lib/python3.9/site-packages/langchain/chains/base.py", line 116, in call
raise e
File "/usr/local/lib/python3.9/site-packages/langchain/chains/base.py", line 113, in call
outputs = self._call(inputs)
File "/usr/local/lib/python3.9/site-packages/langchain/chains/conversational_retrieval/base.py", line 79, in _call
docs = self._get_docs(new_question, inputs)
File "/usr/local/lib/python3.9/site-packages/langchain/chains/conversational_retrieval/base.py", line 146, in _get_docs
docs = self.retriever.get_relevant_documents(question)
File "/usr/local/lib/python3.9/site-packages/langchain/vectorstores/redis.py", line 424, in get_relevant_documents
docs = self.vectorstore.similarity_search(query, k=self.k)
File "/usr/local/lib/python3.9/site-packages/langchain/vectorstores/redis.py", line 139, in similarity_search
docs_and_scores = self.similarity_search_with_score(query, k=k)
File "/usr/local/lib/python3.9/site-packages/langchain/vectorstores/redis.py", line 191, in similarity_search_with_score
embedding = self.embedding_function(query)
File "/usr/local/lib/python3.9/site-packages/langchain/embeddings/openai.py", line 280, in embed_query
embedding = self._embedding_func(text, engine=self.query_model_name)
File "/usr/local/lib/python3.9/site-packages/langchain/embeddings/openai.py", line 236, in _embedding_func
return self._get_len_safe_embeddings([text], engine=engine)[0]
File "/usr/local/lib/python3.9/site-packages/langchain/embeddings/openai.py", line 206, in _get_len_safe_embeddings
response = embed_with_retry(
File "/usr/local/lib/python3.9/site-packages/langchain/embeddings/openai.py", line 53, in embed_with_retry
return _completion_with_retry(**kwargs)
File "/usr/local/lib/python3.9/site-packages/tenacity/init.py", line 289, in wrapped_f
return self(f, *args, **kw)
File "/usr/local/lib/python3.9/site-packages/tenacity/init.py", line 379, in call
do = self.iter(retry_state=retry_state)
File "/usr/local/lib/python3.9/site-packages/tenacity/init.py", line 314, in iter
return fut.result()
File "/usr/local/lib/python3.9/concurrent/futures/_base.py", line 439, in result
return self.__get_result()
File "/usr/local/lib/python3.9/concurrent/futures/_base.py", line 391, in __get_result
raise self._exception
File "/usr/local/lib/python3.9/site-packages/tenacity/init.py", line 382, in call
result = fn(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/langchain/embeddings/openai.py", line 51, in _completion_with_retry
return embeddings.client.create(**kwargs)
File "/usr/local/lib/python3.9/site-packages/openai/api_resources/embedding.py", line 33, in create
response = super().create(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 153, in create
response, _, api_key = requestor.request(
File "/usr/local/lib/python3.9/site-packages/openai/api_requestor.py", line 226, in request
resp, got_stream = self._interpret_response(result, stream)
File "/usr/local/lib/python3.9/site-packages/openai/api_requestor.py", line 619, in _interpret_response
self._interpret_response_line(
File "/usr/local/lib/python3.9/site-packages/openai/api_requestor.py", line 682, in _interpret_response_line
raise self.handle_error_response(

Thank you for this reply. After running script I see correct names:

@ruoccofabrizio please re-open issue because this is not solution.

Thank you, this might be important.
Could you please share wich file resource contain this names?

Follow these instructions to deploy both models:
https://learn.microsoft.com/en-us/azure/cognitive-services/openai/how-to/create-resource?pivots=web-portal

Thank you !
Problem solved :)


Move daisy library from workflow to daisy

Codecov Report

Merging #118 into master will not change coverage.
The diff coverage is 50%.

@@           Coverage Diff           @@
##           master     #118   +/-   ##
=======================================
  Coverage   82.27%   82.27%
=======================================
  Files          24       24
  Lines        1811     1811
=======================================
  Hits         1490     1490
  Misses        237      237
  Partials       84       84

Impacted Files
Coverage Δ

daisy/step_sub_workflow.go
48.14% <ø> (ø)

daisy/step_wait_for_instances_signal.go
86.6% <ø> (ø)

daisy/step_delete_resources.go
79.16% <ø> (ø)

daisy/validate.go
95.83% <ø> (ø)

daisy/instance.go
80% <ø> (ø)

daisy/step_create_images.go
83.07% <ø> (ø)

daisy/step_includeworkflow.go
80.39% <ø> (ø)

daisy/sources.go
67.64% <ø> (ø)

daisy/common.go
92.15% <ø> (ø)

daisy/resources.go
92.92% <ø> (ø)

... and 12 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update da2fac6...01f12ec. Read the comment docs.


Polkadot-launch does not wait for relaychain to start

This may be an issue with polkadot{.js} but ApiPromise does not wait for the polkadot node to start which crashes this tool on connect.
2021-02-17 18:08:51          API-WS: disconnected from ws://<IP_ADDRESS>:9944: 1006:: connection failed

Killing all processes...
node:internal/process/promises:227
          triggerUncaughtException(err, true /* fromPromise */);
          ^

[UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "#<_Event>".] {
  code: 'ERR_UNHANDLED_REJECTION'
}

Oh, it certainly used to keep connecting. See also https://github.com/paritytech/polkadot-launch/pull/51#discussion_r569452425

Is this solved @gregdhill ?

I've just tried the patch from @gregdhill, it successfully connects to relay-node's websocket port, the only issue is that it just tries to do it too early and produces a few warnings

tries to do it too early and produces a few warnings

Yeah that is expected. The time it takes to start up a node and the websocket port is variable. Best thing i could think of was just trying to connect until it works.

This should actually be solved by: https://github.com/paritytech/polkadot-launch/pull/92


Cannot export to JSON

Hi.  I don't know if you can help. I have followed the install instuctions.  I am using a local version of Twine running in the browser - 2.4.0-beta2.  I am able to install this story format, but when I go to my story and click on play, I just get the default html rendering rather than a JSON file.  I'd appreciate any pointers on what I may be doing wrong.  Many thanks.

Hi! I'm no longer actively developing this project, but I can try and help. Two questions:

Did you select the Harlowe to JSON story format before clicking play? You still have to tell your story to use the new format after installing it.
Does it work for you in the non-local browser app at twinery.org?


Change required to fix PM functionality

Hi!
This is my first PR, hopefully all is correct.
Updated method createAccountStatusViewStates in class PasswordManagementWebflowConfigurer where getState on line 68 was returning null do to ACTION_ID_INITIAL_FLOW_SETUP not being contained in state within the Flow object.
Have tested with Password Management setup for Ldap, JDBC and JSON support and all seems to work.
Hopefully I covered everything!
Axel

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Add Hommola cospeciation test

Here, we have added a statistical test for host:parasite cospeciation derived from Hommola et al (2009, Molecular Biology and Evolution). This is added as a new module called evolve under math.stats.
We are looking for feedback on the organization and naming of the evolve module. We're not quite sure what to add to the top level description for this module, so any other ideas would be appreciated.
Note: the test itself is using numpy arrays rather than distance matrix objects because we are using the positional relationships between host, parasite, and an interaction matrix rather than the labels.

@tanaes Just checking in, any new information?

Just got back to the US, sorry this fell off my radar! I will have an
update in the next day or two.
In the meantime, I haven't heard anything back from the original author of
the code... Have now tried getting in touch via Facebook. Will report back.
-j
On Tue, Jan 20, 2015 at 3:18 PM, Evan Bolyen<EMAIL_ADDRESS>wrote:

@tanaes https://github.com/tanaes Just checking in, any new information?
--
Reply to this email directly or view it on GitHub
https://github.com/biocore/scikit-bio/pull/557#issuecomment-70725047.

--
"If you hold a cat by the tail you learn things you cannot learn any other
way."
--Mark Twain

No worries! This isn't a fast moving target, I just remembered myself and was curious.

Coverage increased (+0.01%) to 98.88% when pulling d6797c37d5d7ffb04e646f12ecd9fdace80f41c9 on tanaes:cospeciation into 1f3bb5a967fd4e9f3105697d10764105d55da0f0 on biocore:master.

OK, I addressed the remaining comments above, rebased on the main branch, and it looks like it passes the Travis build.
Still no reply from the original author of the code, who I also got tried to track down on Facebook. Maybe I will try the senior author of that paper instead? Not sure how that works as far as copyright is concerned, given that the lead author is the only one credited in the code itself.

Thanks @tanaes! I'm tied up for the next few days with the upcoming QIIME 1.9.0 release. After that I should be available to take a final pass through. Thanks for addressing all of these comments!
I'm not sure how best to proceed with getting permission from the original author of the code. @gregcaporaso how do you think we should move forward with this?

I think sending the senior author a message next is the best option.
Thanks!
On Mon, Jan 26, 2015 at 10:27 AM, Jai Ram Rideout<EMAIL_ADDRESS>wrote:

Thanks @tanaes https://github.com/tanaes! I'm tied up for the next few
days with the upcoming QIIME 1.9.0 release. After that I should be
available to take a final pass through. Thanks for addressing all of these
comments!
I'm not sure how best to proceed with getting permission from the original
author of the code. @gregcaporaso https://github.com/gregcaporaso how
do you think we should move forward with this?
--
Reply to this email directly or view it on GitHub
https://github.com/biocore/scikit-bio/pull/557#issuecomment-71499785.

@tanaes just checking in to see if you heard back from the senior author yet. Once we have a path forward, I'll prioritize getting this merged and will take care of rebasing/merge conflicts/anything else remaining. Thanks for all of your work on this, it'll be exciting to add this functionality to scikit-bio!

Ok, just heard back from the senior author Wally Gilks:
Dear Jon

Yes, please go ahead!

Wally
Wally Gilks
Department of Statistics
School of Mathematics
University of Leeds
Woodhouse Lane
Leeds
LS2 9JT
UK

I hope that works for us! Let me know if there's anything else I can do!
Cheers,
-j

That's awesome! It needs to be rebased on top of master (to solve merge conflicts) for a final review and a merge very soon. Thanks for all your work so far @tanaes :)

Thanks for the update @tanaes! I'll take care of the rebasing and make any final changes. Should have time this week to submit a PR containing your commits.

Awesome -- thank you all! Let me know if there's anything else I can do.
-j
On Mon, Mar 16, 2015 at 1:40 PM, Jai Ram Rideout<EMAIL_ADDRESS>wrote:

Thanks for the update @tanaes
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_tanaes&d=BQMCaQ&c=WO-RGvefibhHBZq3fL85hQ&r=HH7jG2Tt8197HNR9p8tbXSGeEwcBM0prLzmrvLXVX5Q&m=J2tAtZ7fkAa8zhlSXaMaY4qUYDUXDV6ccl7b3IP5u3g&s=c4j7_lrEUCYrA1P_qnEJeJoRDhiAjSB1GkJP3RYZsTo&e=!
I'll take care of the rebasing and make any final changes. Should have time
this week to submit a PR containing your commits.
--
Reply to this email directly or view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_biocore_scikit-2Dbio_pull_557-23issuecomment-2D81832453&d=BQMCaQ&c=WO-RGvefibhHBZq3fL85hQ&r=HH7jG2Tt8197HNR9p8tbXSGeEwcBM0prLzmrvLXVX5Q&m=J2tAtZ7fkAa8zhlSXaMaY4qUYDUXDV6ccl7b3IP5u3g&s=e_ZYBtyMkA-8IwcqScsBI1OduzJPRReXCShNmZ03r9U&e=
.

--
"If you hold a cat by the tail you learn things you cannot learn any other
way."
--Mark Twain

Closing in favor of #877, which contains all commits in this PR.


Compiler extension support for identifying missing database drivers

Description:

When using the mysql connector in Choreo, it does not check for missing database driver import  in compile time and does not check the Ballerina.toml file whether the required driver modules are added (as maven dependency/ platform dependency).

Hence a compiler extension should be supported to check the Ballerina.toml file if the required driver modules are added, if not throw the error in compiler time.

A sample reference implementation for reading Cloud.toml can be found in:
https://github.com/ballerina-platform/module-ballerina-c2c/blob/master/c2c-extension/src/main/java/io/ballerina/c2c/tasks/CloudTomlAnalysisTask.java

In order to support this requirement, we need to analyze toml files in both current and dependent packages, because driver configure can come from the dependent module. We need to check the possibility of adding this


Support long stacks

Aurelia dispatches a lot of things to its TaskQueue, in particular all the observed model changes.
The drawback of this is that whenever some piece of code crashes, much of the callstack is lost.
In particular, in IE the callstack is completely lost, with just the TaskQueue present (since it rethrows in a task). In Cr, FF and Edge the situation is better because the .stack is created at new Error and not changed when rethrowing. Yet, finding what caused the task to be enqueued in the first place is nearly impossible.
Consider this example code:
let { TaskQueue } = require('./dist/commonjs/index.js');

let queue = new TaskQueue();
root();

function root() {
    queue.queueTask(nested);
}

function nested() {
    queue.queueMicroTask(frob);
}

function frob() {
    fail();
}

function fail() {
    throw new Error("Bar");
}

In IE the result is useless. In other browser the stack looks like this:
Error: Bar
    at fail (C:\Github\task-queue\demo.js:19:11)
    at frob (C:\Github\task-queue\demo.js:15:5)
    at TaskQueue.flushMicroTaskQueue (C:\Github\task-queue\dist\commonjs\aurelia-task-queue.js:142:14)
    at C:\Github\task-queue\dist\commonjs\aurelia-task-queue.js:78:22
    at Timeout.handleFlushTimer (C:\Github\task-queue\dist\commonjs\aurelia-task-queue.js:39:7)
    at tryOnTimeout (timers.js:228:11)
    at Timer.listOnTimeout (timers.js:202:5)

This is better but it is impossible to know why frob was called.
With my PR, the result looks like that instead:
Error: Bar
    at fail (C:\Github\task-queue\demo.js:19:11)
    at frob (C:\Github\task-queue\demo.js:15:5)
Enqueued in MicroTaskQueue by:
    at nested (C:\Github\task-queue\demo.js:11:11)
Enqueued in TaskQueue by:
    at root (C:\Github\task-queue\demo.js:7:11)
    at Object.<anonymous> (C:\Github\task-queue\demo.js:4:1)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)

Which is awesome (I think). 😆
Note that this doesn't enable real long call stacks in the debugger (with evaluation in past contexts, etc), which is AFAIK not possible.
TODO: collecting the stacks on every task has a small perf impact, which is why I put the feature behind a flag longStacks at the top of the module.
I leave it to you to decide how this flag should be enabled/disabled, I thought that maybe aurelia.use.developmentLogging() would be a good place for that.

awesome!!!

Lovely feature, very useful!
I'm just afraid there might be a performance impact. Especially the function captureStack looks troublesome. Throwing an error and catching it again for every task will take a lot of time. Building a stack trace has never been quick.
Would love some performance metrics, so we can judge if it's even a good idea for development.

@stsje That's why the whole thing is behind a  longStacks flag. If it's too slow for you or you depend on call stacks for some reason, don't use it.
This PR doesn't say how/when the flag is manipulated, though, that is left to decide.
My idea is that it should be false by default and enabled by .use.developmentLogging(), maybe with an override .use.developmentLogging({ longStacks: false }).

Definitely we want this behind a flag. We also would like to see if @jdanyow can do some perf benchmarking as well.

Just dropping in to let you all we haven't forgotten about this. @jdanyow is working on getting a major update to validation out. I believe after that he's going to get our benchmarking suite updated and then we can test this change to see what we think.

@jdanyow How is your workload? Do you have some time to update the benchmark suite so we can start looking at things like this PR?

@jdanyow I assigned this to you as reminder to update the benchmark runner so we can investigate this :)

@EisenbergEffect @jdanyow After an Aurelia update on one of my projects I found myself having to debug infinite loops in binding changes... and really wishing I could have the full flow of information!
Can we merge this? If the only concern is about perf, we could merge this as a 100% opt-in feature. So no impact unless the dev actively asks for the feature: aurelia.use.developmentLogging({ longStacks: true }).
Or maybe a global switch that can be turned on and off at any point, even from the browser console?
> require('aurelia-task-queue').enableLongStacks = true;
// do some debugging

Real benchmarks would be interesting but it's been 4 months now... :(

@jdanyow It would be nice to have this. What do you think?

The PR looks great. I haven't had time to update the benchmark runner. I put together a quick gist that uses benchmark.js to compare the current task queue with the code in the PR with long stacks off and with long stacks on. Based on the results I'm confident this is safe to merge once the API for turning it on and off is ironed out.
In the gist I added a static setLongStacks(value: boolean) method to the TaskQueue class. There's big perf impact when you turn on long stacks so we probably shouldn't turn it on by default with developmentLogging.
Here's the benchmark and the results I saw on my Thinkpad X1 Carbon Touch. Please give it a try on your browsers/hardware and report back what you're seeing for perf.
https://gist.run/?id=558f4a479aa2acc0f444232af0d34d8d
Firefox:
running...
standard x 2,021 ops/sec ±23.96% (17 runs sampled)
long-stacks-off x 2,270 ops/sec ±20.10% (17 runs sampled)
long-stacks-on x 19.40 ops/sec ±9.83% (34 runs sampled)
Fastest is: long-stacks-off,standard

Chrome:
running...
standard x 1,854 ops/sec ±15.89% (12 runs sampled)
long-stacks-off x 2,079 ops/sec ±15.25% (22 runs sampled)
long-stacks-on x 11.47 ops/sec ±10.14% (26 runs sampled)
Fastest is: long-stacks-off,standard

The perf hit (when on) is a lot worse than I thought.
Not sure if it's worth it but I have an idea to make it slightly faster...
Firefox on Win10, Intel i5 (4 cores, 3.2 Ghz), 8 Go RAM
running...
standard x 1,813 ops/sec ±12.22% (19 runs sampled)
long-stacks-off x 2,018 ops/sec ±11.06% (37 runs sampled)
long-stacks-on x 29.48 ops/sec ±6.75% (38 runs sampled)
Fastest is: long-stacks-off

Too bad gist doesn't work in IE, because this is where the impact will be worse (it has to throw/catch to capture stack).

We should have some api to turn it on/off with off being the default
directly on the TaskQueue. I would want that to be on the instance.
Then we should surface an API on the FrameworkConfiguration object so that
app devs can say:
aureila.use.longStackTraces();
Thoughts?
On January 15, 2017 at 12:43:39 PM, jods<EMAIL_ADDRESS>wrote:
The perf hit (when on) is a lot worse than I thought.
Not sure if it's worth it but I have an idea to make it slightly faster...
Firefox on Win10, Intel i5 (4 cores, 3.2 Ghz), 8 Go RAM
running...
standard x 1,813 ops/sec ±12.22% (19 runs sampled)
long-stacks-off x 2,018 ops/sec ±11.06% (37 runs sampled)
long-stacks-on x 29.48 ops/sec ±6.75% (38 runs sampled)
Fastest is: long-stacks-off
Too bad gist doesn't work in IE, because this is where the impact will be
worse (it has to throw/catch to capture stack).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aurelia/task-queue/pull/15#issuecomment-272722328, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAIBnRZP9eGHg1DRUOO5BRp23ZG4C3WPks5rSoT7gaJpZM4JgntD
.

This is fine by me.
My primary use is to temporarily enable long stacks to debug bugs that are triggered by change detection.

Agree- don't worry about the perf hit when it's turned on. Just as long as there is zero perf hit when it's off (which is what we're seeing).
@jods4 can you amend the PR with a task queue instance method or prop to turn long stacks on? Then we can get this merged and look at adding some framework sugar later.
I think you can save the gist and open it with IE from the file system to test there.

Microsoft Edge:
running...
standard x 6,127 ops/sec ±6.72% (32 runs sampled)
long-stacks-off x 5,880 ops/sec ±6.33% (37 runs sampled)
long-stacks-on x 21.48 ops/sec ±2.12% (53 runs sampled)
Fastest is: standard,long-stacks-off

@jods4 Where are we at with this?

I moved the global flag to a member field named longStacks, set to false in ctor.
There's no central API to manipulate it atm, but in the debugger you can easily change its value in the watches and then get long stacks while figuring out a problem.

That sounds good. @jdanyow Would you do one final review? If it's good I'll get it merged and into the next release.


Separate dirs for different part sources, fix RC during replicated alters

https://github.com/yandex/ClickHouse/commit/ed44304c49c23d4fa2c0f5d2134a57ebdd47945d
https://github.com/yandex/ClickHouse/commit/fa64d14f26367eb2579a6bcccb7ff85030c55eea


some questions about GFLOPs and FPS

Hi, @PingoLH :
Thanks for all your Projects. I have tested your model on Jetson Nano and it works fast and accurate.
I have some questions:

Can I ask how do you calculate GFLOPs?
CenterNet-HarDNet85 is the most fast and accurate model in the tabel "Comparison with other state-of-the-art works"

, but why CenterNet-HarDNet85's FPS is similar to YOLOv4 when they run on Jetson Nano?
https://github.com/jkjung-avt/tensorrt_demos:Demo #5

(Maybe some details I didn’t notice.)
Thank you.

Hi,
Thanks for the feedback. GFLOPs was calculated by https://github.com/sovrasov/flops-counter.pytorch.
For 2, I think is because HarDNet still has a lot of concatenate operations, which still couldn't be optimized by TensorRT. Another minor difference is that HarDNet for Jetson was converted through onnx, while YOLOv4 for Jetson was built directly by DarkNet, which might give YOLOv4 a better optimization.

Hi, @PingoLH :
Thanks for your fast reply. I'll try to understand TensorRT's optimizations.
Thank you very much.


Fix exception correlation with Request-Id and customError=Off

Fixes #1493
When W3C-compatible Request-Id is received, ASP.NET TelemetryCorrelation reads it and keeps Request-Id in Activity.ParentId, but creates W3C-activity (trace-id and span-id) regardless of the Request-Id value. This is intended Activity + ASP.NET behavior when W3C is forced.
ApplicationInsights in this case (for back-compat reasons) creates another Activity for request tracking that has Trace-Id parsed from Request-Id.
This activity is stored in the same key in HttpContext.Items as Asp.Net Telemetry Correlation module.
Telemetry Correlation module takes care of restoring this Activity if it is lost using one in HttpContext.Items.  Telemtery Correlation module makes sure it stops its own Activity (not some user's orphaned one)
So what happens is

Telemetry Correlation starts activity1 and notifies AppInsights
AppInsights starts another activity2 in OnStart event

and stores it in HttpContext.Items["activity"]

Once the activity1 is started and events are sent, Telemetry Correlation stores activity1 in HttpContext.Items["activity"] (same key).

AI activity2 is still current, but if it's lost in native-managed hops, Telemetry Correlation will restore activity1.

When request ends

TelemetryCorrelation makes sure it stops activity1: reads it from HttpContext.Items and makes sure it's current. If not - updates current, so activity1 becomes current here in all cases.
Then it notifies AppInsights

AppInsights checks if there are errors during request execution (it only applies to customErrors=off mode)

tracks all exceptions from errors: which are initialized from activity1 (BUG)
tracks requests (which are initialized from activiy1 in step 2)

Fix:

store AppInsights specific activity in a separate key in HttpContext.Items (so TelCor never overwrites it)
make AppInsightsHttpModule restore this activity whenever possible.

Changelog please :)

I see that this is a bug since 2.11.
We shipped 2.12.0 this morning.
Does this meet the bar for a hotfix release (2.12.1) or can this wait until the next major release (2.13) ETA Feb 2020?

Does this meet the bar for a hotfix release (2.12.1) or can this wait until the next major release (2.13) ETA Feb 2020?

I think this is rather a big change for a hotfix and some parts of this issue (not restoring AI activity never really worked). Also, customErrors=Off is a rare case for production services (not a default setting). I'd suggest waiting for the next stable to ship it.


attribution for antlr

http://www.antlr.org/license.html says

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the > following disclaimer in the documentation and/or other materials provided with the distribution.

our about box should have a link to a credits page to satisfy this, and we should look for any others we missed.

ditto http://www.scala-lang.org/license.html


Adapt OOMKilling pattern to current kernels

commit eca56ff9 in the Linux Kernel repository added a column for shared memory to the Killed process message. As the patterns in the kernel-monitor(-filelog).json have to match full lines, they don't match the OOMKilling messages of current Kernels anymore.
This PR fixes this by simply adding a '.*' to the pattern.

/assign andyxning

@jheidbrink Thanks for the contribution. But before we can merge this PR, you need to sign the CLA first. :)

BTW, you also need to update the oom_kill script under test/kernel_log_generator/problems to reflect this kernel change.

@jheidbrink Thanks!
/lgtm
/approve


How limit number of character?

i want limit number of character.
How limit number of character?

Guide for reporting issues
Please use the forum.


Added new sub folder for Blue Team

Added a new sub folder on MISP deployment docs in the blue team folder, started a new page on MISP setup.

Thanks for this comprehensive MISP setup guide documentation @cyber-Elvis! The organization of the content is clean, the slides are well-structured, and I appreciate you fixing the JSON labels. The documentation will be really helpful for the Blue Team. Great work on making these improvements.


Extending a nested abstract Clafer

The is a feature request to allow extending nested abstract Clafers. Consider the following example:
abstract Person
    abstract Hand

abstract Hook : Hand

CptHook : Person
    left : Hook
    right : Hand

Currently, this code would not compile as Hook is not nested under Person. It would be nice to be able to say things like
abstract  Hook : Hand

So that large models can be broken into smaller pieces. Semantically this could work if when you had an abstract Clafer with inheritance it would also inherit the relation (if it exists) between the parent and the Clafer being inherited. I.e. in our example:
Person = {(root, _Person)}
Hand = {(_Person, _Hand)}
Hook = {(_Person, _Hook)}

My first stab at implementing it reveals a few problems, the biggest one being that I would have to change the analyses to always keep track of the whole inheritance hierarchy of a clafer to determine valid nesting and generate correct output. Currently, the code generated for left is incorrect:
one sig c0_CptHook extends c0_Person
{ r_c0_left : one c0_left
, r_c0_right : one c0_right }
{ r_c0_right in r_c0_Hand }

The correct code should be
one sig c0_CptHook extends c0_Person
{ r_c0_left : one c0_left
, r_c0_right : one c0_right }
{ r_c0_left in r_c0_Hand
  r_c0_right in r_c0_Hand }

The reason that the constraint r_c0_left in r_c0_Hand is missing now is because in order to generate it one must go up to Hand, which defines Hand but we only go to Hook, which does not have a parent.
There's onc trick we could do: always interpret abstract top-level clafers which extend nested abstract clafers as actually their siblings. So, our example would actually be represented in IR as
abstract Person
    abstract Hand
    abstract Hook : Hand

that is the real semantics of allowing to define abstract Hook : Hand as a top-level. Doing so, will not require any changes to code analysis nor code generation. It's a simple transformation that can be done after unique ids are generated. The positive is that desugared clafer will show that semantics.

Implementation. We execute the transformation in two phases:

in ResolverInheritance.resolveNClafer, we change the parentUID of a top-level abstract clafers to point to the parent of their superClafer. This makes these clafers logically siblings of their super.

in ResolverInheritance.relocateTopLevelAbstractToParents, we physically move the top-level clafers to their respecitive parents. This makes these clafers physically siblings of their super.


disallowCapitalizedComments: enhance for multi-line comments

Implement the same constraints that requireCapitalizedComments has in #769.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/6041145-disallowcapitalizedcomments-enhance-for-multi-line-comments?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github).

Going to be closing older/inactive issues and labeling with orphaned to track anything we might want to reopen again later (if we want to add it again or something has a PR). Thanks


docs: Add more details and examples to SDL and Data Model.

I've moved the descriptive text inside the abstract type definition bodies in the docs.

I've also added a note to the individual synopsis descriptions drawing attention to the parentheses in the  on ( <expr> ). Since it's a small and pesky bit of grammar that may be overlooked at a quick glance.


Remove teal background on header

Remove teal background and make more inline with items next to it to look better with the colour gradient
linked to #3

i think the teal background is good too , better than using transparant background,
or you can use another color instead of using transparant background


Feature requests - edit/add/delete prefix and postfix / enable copy from result window

It would be very useful to have the ability to edit, add, and delete the prefix and postfix fields in order to customize the gpt3 queries to meet individual needs. This would allow users to tailor their queries to their most common questions, making it an easier and more efficient workflow.
also
It would be very useful to have the ability to select and copy text from the results window, as there may be times when only a portion of the result is relevant.
thank you

I think this is a great idea, and perhaps a good way to do this is to have the prefixes as files in an Obsidian folder.

@HanumanTFM This is a great idea. I already implemented the text selection and editing feature your suggested. Let me know what you think.
Custom prefixes, postfixes, and tokens are coming to the tool soon.

Check out this PR: #8

That's great! Thank you for all you do!


Kaoto.local url not resolving correctly

Hi,
When I'm trying to follow the README I setup a minikube cluster from scratch with:
minikube start
minikube addons enable ingress

When attempting to access the front end with:
http://kaoto.local

I get a 502 invalid gateway from nginx.
My /etc/hosts entry is:
<IP_ADDRESS> kaoto.local kaoto.backend.local

<IP_ADDRESS> is the output from minikube ip.
Anything I'm missing in my minikube setup? I'm just doing it from the minikube quickstart. Thanks!

Found out the port 80 was clashing with camel-k.
I would suggest putting some documentation about actual integration with the matching camel k backend so the quickstarts of each don't clash with each other. I forked the repository here for a different yaml file to avoid this clash: https://github.com/KonduitAI/kaoto-operator/blob/main/kubernetes/kaoto.yaml


fix(codebases) routing forward to login page when not logged in

Fixes https://github.com/fabric8io/fabric8-ui/issues/1246

There were the following issues with your Pull Request

Commit: a36b888edfb0309ca30c1f28d674d3153fac0790
Commits must be in the following format: %{type}(%{scope}): %{description}
Your subject line is longer than 50 characters

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

@corinnekrych snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1286-fabric8-ui.int.rdu2c.fabric8.io

@corinnekrych snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1286-fabric8-ui.int.rdu2c.fabric8.io


Load balancer and stable connection

In Raft, every processing is done in the leader node. The most straightforward approach to interact with the cluster is direct your request to the leader.
However, leader can collapse any time and the client may not be able to have chance to switch to other node. In this case, client may retry the request indefinitely believing the leader is only temporarily down. (retrying the request will be ok once #317 is implemented)
The approach in my mind will be easier. I will use load balancing client so every request is dispersed to the nodes in the cluster. This approach may not be optimal in performance because it most probably need another hop. But, the goal of Raft and this project is stable operation rather than the high speed data synchronization something. So additional bounded hop is acceptable to me.
graph LR
subgraph Client
  subgraph Data
    client_id
    seq_num
  end
  BCHAN(balance_channel)
  MEM(membership)
  MEM -.->|sync| BCHAN
end
subgraph Cluster
  ND1(Node#1)
  ND2(Node#2)
  ND3(Node#3 leader)
end

Cluster -.->|cur_config| MEM

BCHAN -->|req1| ND2
ND2 -->|req1| ND3

I dropped this issue from 0.10 after writing a code below
struct RequestIdGenerator {
    client_id: String,
    n: AtomicU64,
}
impl RequestIdGenerator {
    pub fn new() -> Self {
        let uuid = "aaa".to_string();
        Self {
            client_id: uuid,
            n: 0.into(),
        }
    }
    pub fn next(&self) -> String {
        format!(
            "{}-{}",
            self.client_id,
            self.n.fetch_add(1, std::sync::atomic::Ordering::SeqCst)
        )
    }
}

pub struct Client {
    cli: RawClient,
    helper_handle: AbortHandle,
    request_id_generator: RequestIdGenerator,
}
impl Client {
    pub async fn new(init_servers: impl Iterator<Item = NodeId>) -> Self {
        let (chan, tx) = tonic::transport::Channel::balance_channel(16);

        let mut cur_state = HashSet::new();
        for server in init_servers {
            let endpoint = Endpoint::from(server.0.clone());
            let change = Change::Insert(server.clone(), endpoint);
            tx.send(change).await.unwrap();
            cur_state.insert(server);
        }

        let cli = RawClient::new(chan);
        let helper = LoadBalancerHelper {
            cli: cli.clone(),
            tx,
            cur_state,
        };
        let abort_handle = tokio::spawn(helper.run()).abort_handle();
        Self {
            cli,
            helper_handle: abort_handle,
            request_id_generator: RequestIdGenerator::new(),
        }
    }

    pub async fn request_write(&self, data: Bytes) -> Result<Bytes> {
        use tokio_retry::strategy::FixedInterval;
        use tokio_retry::Retry;

        let strategy = FixedInterval::from_millis(0).take(5);

        let req = raft::WriteRequest {
            message: data,
            request_id: self.request_id_generator.next(),
        };

        let fut = Retry::spawn(strategy, || {
            let mut cli = self.cli.clone();
            let req = req.clone();
            async move { cli.write(req).await }
        });

        let resp = fut.await?.into_inner();
        Ok(resp.message)
    }

    pub async fn request_read(&self, data: Bytes) -> Result<Bytes> {
        let req = raft::ReadRequest { message: data };
        let mut cli = self.cli.clone();
        let resp = cli.read(req).await?.into_inner();
        Ok(resp.message)
    }

    pub async fn add_server(&self, node: NodeId) -> Result<()> {
        let req = AddServerRequest {
            server_id: node.0.to_string(),
        };
        let mut cli = self.cli.clone();
        cli.add_server(req).await?.into_inner();
        Ok(())
    }

    pub async fn remove_server(&self, node: NodeId) -> Result<()> {
        let req = RemoveServerRequest {
            server_id: node.0.to_string(),
        };
        let mut cli = self.cli.clone();
        cli.remove_server(req).await?.into_inner();
        Ok(())
    }
}

impl Drop for Client {
    fn drop(&mut self) {
        self.helper_handle.abort();
    }
}

pub struct LoadBalancerHelper {
    tx: Sender<Change<NodeId, Endpoint>>,
    cur_state: HashSet<NodeId>,
    cli: RawClient,
}
impl LoadBalancerHelper {
    async fn run_once(&mut self) -> Result<()> {
        let info = self.cli.get_cluster_info(()).await?;
        let info = info.into_inner();

        let new_state = {
            let mut out = HashSet::new();
            for member in info.known_members {
                let uri = member.parse()?;
                out.insert(uri);
            }
            out
        };

        let diff_add: HashSet<NodeId> = new_state.difference(&self.cur_state).cloned().collect();
        let diff_remove: HashSet<NodeId> = self.cur_state.difference(&new_state).cloned().collect();
        for node in diff_add {
            let endpoint = Endpoint::from(node.0.clone());
            self.tx.send(Change::Insert(node.clone(), endpoint)).await?;
            self.cur_state.insert(node);
        }
        for node in diff_remove {
            self.tx.send(Change::Remove(node.clone())).await?;
            self.cur_state.remove(&node);
        }

        Ok(())
    }

    pub async fn run(mut self) {
        let mut interval = tokio::time::interval(Duration::from_secs(5));
        loop {
            interval.tick().await;
            self.run_once().await.ok();
        }
    }
}

This is only a utility class and should not be an intrinsic part of the Raft framework. IMO, this type of utility should be developed in application level because different strategy is needed in different application.

Note:
This library seems to use DNS discovery to form a load balancing channel.
https://github.com/TrueLayer/ginepro


(PUP-5892) Alias types are presented with the wrong name in type mismatches

This PR fixes three things.

The PTypeAlias is renamed to PTypeAliasType
The PTypeReference is renamed to PTypeReferenceType (didn't deserve an issue of its own)
The type mismatch describer reports type aliases by alias name instead of type name

It lacks a test that the mismatch describer is doing the right thing for the example given in the ticket.
If you do update the last commit with such a test, also fix the typo "henc" in the commit message.
The rest is fine.
Thank you very much for the excellent split in multiple commits. It made it very easy to review this.

I replaced the last commit with one that contains the requested test and a fix for the typo in the commit message.


Release 20220810

Summary
Updates for 2022.0.20220810 release.
Implementation details
Following formal release process
Testing
N/A
New tests cover the changes:
Description for the changelog

Licensing
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Hi team! Any idea on when we might expect this release to be available on the AWS website? (version history is still showing 20220630 as the latest release)