apiserver evicted under imagefs pressure and controller node never recovers

Using kube-aws 5780b5929bc225f9aea6b6044966dc2a6fe13629 and k8s 1.9.7 I have experienced that imagefs pressure on a controller node can cause the apiserver to be evicted. This by itself might not be a problem, but the node never recovers and it is not marked as unhealthy so is never replaced. Some logs from kubelet below.
The eviction might need to be reported upstream. I found https://github.com/kubernetes/kubernetes/issues/44951 but that was fixed, perhaps it's a similar error.
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: W0514 02:08:58.641934    1390 eviction_manager.go:332] eviction manager: attempting to reclaim imagefs
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:08:58.641991    1390 helpers.go:1074] eviction manager: attempting to delete unused containers
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:08:58.655265    1390 helpers.go:1084] eviction manager: attempting to delete unused images
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:08:58.664897    1390 image_gc_manager.go:350] [imageGCManager]: Removing image "sha256:99e59f495ffaa222bfeb67580213e8c28c1e885f1d245ab2bbe3b1b1ec3bd0b2" to free 746888 bytes
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:08:58.666761    1390 remote_image.go:130] RemoveImage "sha256:99e59f495ffaa222bfeb67580213e8c28c1e885f1d245ab2bbe3b1b1ec3bd0b2" from image service failed: rpc error: code = Unknown desc = Error response from daemon: conflict: unable to delete 99e59f495ffa (cannot be forced) - image is being used by running container 408a5feb4834
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:08:58.666797    1390 kuberuntime_image.go:126] Remove image "sha256:99e59f495ffaa222bfeb67580213e8c28c1e885f1d245ab2bbe3b1b1ec3bd0b2" failed: rpc error: code = Unknown desc = Error response from daemon: conflict: unable to delete 99e59f495ffa (cannot be forced) - image is being used by running container 408a5feb4834
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: W0514 02:08:58.666827    1390 eviction_manager.go:435] eviction manager: unexpected error when attempting to reduce imagefs pressure: wanted to free<PHONE_NUMBER>854775807 bytes, but freed 0 bytes space with errors in image deletion: rpc error: code = Unknown desc = Error response from daemon: conflict: unable to delete 99e59f495ffa (cannot be forced) - image is being used by running container 408a5feb4834
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:08:58.666844    1390 eviction_manager.go:346] eviction manager: must evict pod(s) to reclaim imagefs
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:08:58.667015    1390 eviction_manager.go:364] eviction manager: pods ranked for eviction: kube-apiserver-ip-10-0-30-133.eu-west-1.compute.internal_kube-system(d4b4db693950c671a53943d7a2336502), external-dns-master-external-dns-657fb949b-ntbgm_kube-system(8545f9a0-55c1-11e8-817e-0a3fef7a67be), fluentd-master-4th4n_kube-system(5952e75d-541d-11e8-817e-0a3fef7a67be), dnsmasq-node-9cxp4_kube-system(a7cda576-506e-11e8-b2d6-0693f00dd91a), kube-proxy-xrpw8_kube-system(a7d74c6e-506e-11e8-b2d6-0693f00dd91a), kube-scheduler-ip-10-0-30-133.eu-west-1.compute.internal_kube-system(4a88231d31b76d9f1e50373121d9bec5), kiam-server-lv9ft_kube-system(a7e8259f-506e-11e8-b2d6-0693f00dd91a)
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:08:58.722082    1390 reflector.go:322] k8s.io/kubernetes/pkg/kubelet/kubelet.go:481: Failed to watch *v1.Node: Get http://localhost:8080/api/v1/nodes?fieldSelector=metadata.name%3Dip-10-0-30-133.eu-west-1.compute.internal&resourceVersion=86126847&timeoutSeconds=412&watch=true: dial tcp [::1]:8080: getsockopt: connection refused
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:08:58.722294    1390 reflector.go:322] k8s.io/kubernetes/pkg/kubelet/kubelet.go:472: Failed to watch *v1.Service: Get http://localhost:8080/api/v1/services?resourceVersion=85873413&timeoutSeconds=553&watch=true: dial tcp [::1]:8080: getsockopt: connection refused
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:08:58.722363    1390 reflector.go:322] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to watch *v1.Pod: Get http://localhost:8080/api/v1/pods?fieldSelector=spec.nodeName%3Dip-10-0-30-133.eu-west-1.compute.internal&resourceVersion=86126855&timeoutSeconds=336&watch=true: dial tcp [::1]:8080: getsockopt: connection refused
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:08:58.829361    1390 event.go:209] Unable to write event: 'Post http://localhost:8080/api/v1/namespaces/kube-system/events: dial tcp [::1]:8080: getsockopt: connection refused' (may retry after sleeping)
May 14 02:08:58 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:08:58.936822    1390 eviction_manager.go:156] eviction manager: pods kube-apiserver-ip-10-0-30-133.eu-west-1.compute.internal_kube-system(d4b4db693950c671a53943d7a2336502) evicted, waiting for pod to be cleaned up
May 14 02:08:59 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: W0514 02:08:59.122310    1390 pod_container_deletor.go:77] Container "db11d52f4db9fa2f566855c880965e5632d8053102d490a18cc7edee1246dbb0" not found in pod's containers
May 14 02:08:59 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:08:59.722796    1390 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:481: Failed to list *v1.Node: Get http://localhost:8080/api/v1/nodes?fieldSelector=metadata.name%3Dip-10-0-30-133.eu-west-1.compute.internal&limit=500&resourceVersion=0: dial tcp [::1]:8080: getsockopt: connection refused
May 14 02:08:59 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:08:59.724020    1390 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:472: Failed to list *v1.Service: Get http://localhost:8080/api/v1/services?limit=500&resourceVersion=0: dial tcp [::1]:8080: getsockopt: connection refused
May 14 02:08:59 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:08:59.725555    1390 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get http://localhost:8080/api/v1/pods?fieldSelector=spec.nodeName%3Dip-10-0-30-133.eu-west-1.compute.internal&limit=500&resourceVersion=0: dial tcp [::1]:8080: getsockopt: connection refused
May 14 02:08:59 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:08:59.838837    1390 event.go:209] Unable to write event: 'Post http://localhost:8080/api/v1/namespaces/kube-system/events: dial tcp [::1]:8080: getsockopt: connection refused' (may retry after sleeping)
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:09:00.723603    1390 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:481: Failed to list *v1.Node: Get http://localhost:8080/api/v1/nodes?fieldSelector=metadata.name%3Dip-10-0-30-133.eu-west-1.compute.internal&limit=500&resourceVersion=0: dial tcp [::1]:8080: getsockopt: connection refused
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:09:00.725226    1390 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:472: Failed to list *v1.Service: Get http://localhost:8080/api/v1/services?limit=500&resourceVersion=0: dial tcp [::1]:8080: getsockopt: connection refused
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: E0514 02:09:00.726953    1390 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get http://localhost:8080/api/v1/pods?fieldSelector=spec.nodeName%3Dip-10-0-30-133.eu-west-1.compute.internal&limit=500&resourceVersion=0: dial tcp [::1]:8080: getsockopt: connection refused
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:09:00.867350    1390 reconciler.go:191] operationExecutor.UnmountVolume started for volume "ssl-certs-kubernetes" (UniqueName: "kubernetes.io/host-path/d4b4db693950c671a53943d7a2336502-ssl-certs-kubernetes") pod "d4b4db693950c671a53943d7a2336502" (UID: "d4b4db693950c671a53943d7a2336502")
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:09:00.867449    1390 reconciler.go:191] operationExecutor.UnmountVolume started for volume "ssl-certs-host" (UniqueName: "kubernetes.io/host-path/d4b4db693950c671a53943d7a2336502-ssl-certs-host") pod "d4b4db693950c671a53943d7a2336502" (UID: "d4b4db693950c671a53943d7a2336502")
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:09:00.867520    1390 reconciler.go:191] operationExecutor.UnmountVolume started for volume "apiserver" (UniqueName: "kubernetes.io/host-path/d4b4db693950c671a53943d7a2336502-apiserver") pod "d4b4db693950c671a53943d7a2336502" (UID: "d4b4db693950c671a53943d7a2336502")
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:09:00.867583    1390 reconciler.go:191] operationExecutor.UnmountVolume started for volume "var-log" (UniqueName: "kubernetes.io/host-path/d4b4db693950c671a53943d7a2336502-var-log") pod "d4b4db693950c671a53943d7a2336502" (UID: "d4b4db693950c671a53943d7a2336502")
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:09:00.867658    1390 operation_generator.go:643] UnmountVolume.TearDown succeeded for volume "kubernetes.io/host-path/d4b4db693950c671a53943d7a2336502-var-log" (OuterVolumeSpecName: "var-log") pod "d4b4db693950c671a53943d7a2336502" (UID: "d4b4db693950c671a53943d7a2336502"). InnerVolumeSpecName "var-log". PluginName "kubernetes.io/host-path", VolumeGidValue ""
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:09:00.867706    1390 operation_generator.go:643] UnmountVolume.TearDown succeeded for volume "kubernetes.io/host-path/d4b4db693950c671a53943d7a2336502-ssl-certs-kubernetes" (OuterVolumeSpecName: "ssl-certs-kubernetes") pod "d4b4db693950c671a53943d7a2336502" (UID: "d4b4db693950c671a53943d7a2336502"). InnerVolumeSpecName "ssl-certs-kubernetes". PluginName "kubernetes.io/host-path", VolumeGidValue ""
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:09:00.867746    1390 operation_generator.go:643] UnmountVolume.TearDown succeeded for volume "kubernetes.io/host-path/d4b4db693950c671a53943d7a2336502-ssl-certs-host" (OuterVolumeSpecName: "ssl-certs-host") pod "d4b4db693950c671a53943d7a2336502" (UID: "d4b4db693950c671a53943d7a2336502"). InnerVolumeSpecName "ssl-certs-host". PluginName "kubernetes.io/host-path", VolumeGidValue ""
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:09:00.867785    1390 operation_generator.go:643] UnmountVolume.TearDown succeeded for volume "kubernetes.io/host-path/d4b4db693950c671a53943d7a2336502-apiserver" (OuterVolumeSpecName: "apiserver") pod "d4b4db693950c671a53943d7a2336502" (UID: "d4b4db693950c671a53943d7a2336502"). InnerVolumeSpecName "apiserver". PluginName "kubernetes.io/host-path", VolumeGidValue ""
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:09:00.967807    1390 reconciler.go:297] Volume detached for volume "ssl-certs-host" (UniqueName: "kubernetes.io/host-path/d4b4db693950c671a53943d7a2336502-ssl-certs-host") on node "ip-10-0-30-133.eu-west-1.compute.internal" DevicePath ""
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:09:00.967841    1390 reconciler.go:297] Volume detached for volume "apiserver" (UniqueName: "kubernetes.io/host-path/d4b4db693950c671a53943d7a2336502-apiserver") on node "ip-10-0-30-133.eu-west-1.compute.internal" DevicePath ""
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:09:00.967859    1390 reconciler.go:297] Volume detached for volume "var-log" (UniqueName: "kubernetes.io/host-path/d4b4db693950c671a53943d7a2336502-var-log") on node "ip-10-0-30-133.eu-west-1.compute.internal" DevicePath ""
May 14 02:09:00 ip-10-0-30-133.eu-west-1.compute.internal kubelet-wrapper[1390]: I0514 02:09:00.967877    1390 reconciler.go:297] Volume detached for volume "ssl-certs-kubernetes" (UniqueName: "kubernetes.io/host-path/d4b4db693950c671a53943d7a2336502-ssl-certs-kubernetes") on node "ip-10-0-30-133.eu-west-1.compute.internal" DevicePath ""

kube-aws 5780b5929bc225f9aea6b6044966dc2a6fe13629
k8s 1.9.7
Linux ip-10-0-30-133.eu-west-1.compute.internal 4.14.32-coreos #1 SMP Tue Apr 3 05:21:26 UTC 2018 x86_64 Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz GenuineIntel GNU/Linux
"Container Linux by CoreOS 1688.5.3 (Rhyolite)"

@mumoshu FYI this appears to be the cause of my dev cluster sporadically becoming unhealthy and never recovering that we chatted about.

Also seems relevant - https://github.com/kubernetes/kubernetes/pull/57020 which is in k8s 1.10.

We're being hit by this issue too. We've suffered it in v1.9.2 and now on v1.10.2
`Jun  2 21:11:24 uk-test-k8s1 kubelet: W0602 21:11:24.568335    1681 eviction_manager.go:343] eviction manager: attempting to reclaim imagefs
Jun  2 21:11:24 uk-test-k8s1 kubelet: I0602 21:11:24.601633    1681 container_gc.go:85] attempting to delete unused containers
Jun  2 21:11:24 uk-test-k8s1 kubelet: I0602 21:11:24.630170    1681 image_gc_manager.go:317] attempting to delete unused images
Jun  2 21:11:24 uk-test-k8s1 kubelet: I0602 21:11:24.664829    1681 image_gc_manager.go:371] [imageGCManager]: Removing image "sha256:1b3607c7eda67632301ee13b353b416a91e62ae72df7ac617e84c8a586915772" to free 37289552 bytes
Jun  2 21:11:24 uk-test-k8s1 dockerd: time="2018-06-02T21:11:24.668901374Z" level=error msg="Handler for DELETE /v1.27/images/sha256:1b3607c7eda67632301ee13b353b416a91e62ae72df7ac617e84c8a586915772 returned error: conflict: unable to delete 1b3607c7eda6 (cannot be forced) - image is being used by running co
ntainer 5cb7d5e102ea"
Jun  2 21:11:24 uk-test-k8s1 kubelet: E0602 21:11:24.669541    1681 remote_image.go:130] RemoveImage "sha256:1b3607c7eda67632301ee13b353b416a91e62ae72df7ac617e84c8a586915772" from image service failed: rpc error: code = Unknown desc = Error response from daemon: conflict: unable to delete 1b3607c7eda6 (cann
ot be forced) - image is being used by running container 5cb7d5e102ea
Jun  2 21:11:24 uk-test-k8s1 kubelet: E0602 21:11:24.669609    1681 kuberuntime_image.go:122] Remove image "sha256:1b3607c7eda67632301ee13b353b416a91e62ae72df7ac617e84c8a586915772" failed: rpc error: code = Unknown desc = Error response from daemon: conflict: unable to delete 1b3607c7eda6 (cannot be forced)

image is being used by running container 5cb7d5e102ea
Jun  2 21:11:24 uk-test-k8s1 kubelet: W0602 21:11:24.669660    1681 eviction_manager.go:445] eviction manager: unexpected error when attempting to reduce imagefs pressure: wanted to free<PHONE_NUMBER>854775807 bytes, but freed 0 bytes space with errors in image deletion: rpc error: code = Unknown desc = Error
response from daemon: conflict: unable to delete 1b3607c7eda6 (cannot be forced) - image is being used by running container 5cb7d5e102ea
Jun  2 21:11:24 uk-test-k8s1 kubelet: I0602 21:11:24.693532    1681 eviction_manager.go:357] eviction manager: must evict pod(s) to reclaim imagefs`

After looking a bit more about the issue, it seems that eviction_manager is trying to kill a running container (etcd) that is not being managed by the control plane.
In our case what triggered the issue was hitting the low threshold for imagefs utilisation. The thing is, eviction_manager should never try to remove containers that were never managed by K8s. It seems that it is assuming that every container belongs (or has belonged to) K8s.

@gscalise Hi! I'm confused a bit. kube-aws doesn't place etcd docker containers on controller nodes. It places etcd rkt containers on dedicated etcd nodes. Are you sure the container is etcd?

@c-knowles Thanks for the info. Just read all the relevant issues and it seems like you finally found the source of the problem!
Can you try K8S v1.10.x to see if that fixes the problem?
I'm also unsure how we could intentionally reproduce this in K8S 1.9.x. Can we just write a bunch of random files to make the disk almost full, so that eviction-manager removes the image of the running container?

@mumoshu yeah write anything that it won’t evict, for example write a tonne of data to /var/log/fluentd.log.
If we want more resilience for this specific case of host logs, GKE and kops appear to have logrotate enabled by default on most of /var/log. Maybe we want to enable that by default as well, although it might interfere with audit logs.

GKE and kops appear to have logrotate enabled by default on most of /var/log

Ah, sounds like a good idea. I had blindly decided that what we have today - the docker container log rotation enable by default - was enough to make controller nodes resilient to log spams.
Out of curiosity, what logs actually filled up your disk so much?

It was logs for fluentd itself since a typical config means it doesn’t monitor its own logs (see upstream addon config for example). In my case some unrelated problem meant fluentd was logging more than normal.

@c-knowles Thanks for the response. Interesting. I was thinking that the fluentd docker container managed by a daemonset would write its own log to stdout. dockerd should rotates the log every 50MB as configured by kube-aws. But it seems not always the case given your explanation.

@mumoshu I agree in general, just it was not always the upstream config - ref base upstream config plus daemon set change from quite a while ago. It's less of an issue given the upstream changes, so this just shows it could happen but then any other directory written to from a pod could also bloat.
How about for this task we focus on node health? Regardless of upstream updates the apiserver could stop running under other conditions, how do we ensure this node is marked unhealthy in AWS or k8s?


centre label ?

At the moment on the main page of the repository the example says:
Example wmo_wis2_gc_messagesreceived{center=deu}
Two points:

should we use centre-id (as we have in the MQTT topic hierarchy) for the label
should we use the same value for the centre-id (as we have in the MQTT topic hierarchy)

So the example would read:
Example wmo_wis2_gc_messagesreceived{centre-id=globalcachedwd}
globalcachedwd being a tentative name for the time being...

+1 for using the same values for the "centre-id" in topic hierarchy and metrics

Shall we also include the 3-letter country name in front of the centre-id?
So with the same example above:
wmo_wis2_gc_messagesreceived{centre-id=deu_globalcachedwd}
The centre-id might not be globally unique (especially for wis2 Nodes. It could mess up the metrics without the country...

I would suggest to have both. centre-id being the same as the one in the topics. And country being the 3-letter country code.
In case of data that could then become centre-id: The center that is reporting and country: The 3-letter code of the country from which the data (observations etc. ) are.

Alternative... Two labels.
wmo_wis2_gc_messagesreceived{country=deu, centre-id=globalcachedwd}
So, in the name of the metric we have either gc gb, gdc, wis2node,... and in the labels country and centre-id.

Proposal sounds good for Global Services, how to handle not unique centre-ids for nodes? Should we require that no duplication is allowed in the center-id list? then the problem would be solved...

That is the other option... centre-id might be globally unique.

I would not like to have centre-id and country code in the metric name. That is the model case for labels.
As for centre-id i would use the same names as in the topic. So no globalcachedwd but dwd-offenbach

The centre-id discussion is here https://github.com/wmo-im/wis2-topic-hierarchy/issues/5

So, for the time being let's aim at having the centre-id globally unique.
Reusing the same example and based on Kai's comment that would give:
wmo_wis2_gc_messagesreceived{centre-id=dwd-offenbach}
wmo_wis2_gb_activenodes{centre-id=meteo-france-toulouse}

We should include for the metric
wmo_wis2_gc_messagesreceived
the additional label "country" as source/originator information as proposed from you, e.g.
wmo_wis2_gc_messagesreceived{country=deu, centre-id=dwd-offenbach}
This would then allow a direct comparison between different GCs per country (same country-label value, different centre-id)

Just discovered, that centre-id is an invalid label name. How about centre_id

We need to specify the meaning of centre_id and country in the metrics.
Currently my point of view was to have centre_id and country being the centre that provides the metric. So in our case dwd-offenbach and deu.
However how to we express the number of messages received from Sweden in Offenbach?

centre_id SMHI, country = SWE, Label Name for the reporting centre?
Is this a use case for the monitoring or do we only want to expose the total number of messages? In that case centre_id would always be dwd-offenbach for us

So Option 1:
centre_id: Name of the centre for which the metric applies (not the one reporting the metric)
country: Name of the country for which the metric applies (not the one reporting the metric)
reporting: Name of the centre reporting the metric
Example: centre_id: ESWI, country: swe, reporting dwd-offenbach
Option 2:
centre_id: Name of the centre providing the metric
country: Name of the country for centre_id
Example: centre_id dwd-offenbach, country: deu (for all metrics provided by dwd-offenbach)

Here are the metrics (tentatively) implemented on Météo-France Global Broker since April 9th :

wmo_wis2_gb_messages_received = number of messages received by the anti-loop companion

wmo_wis2_gb_messages_invalid = number of invalid messages received

wmo_wis2_gb_messages_published = number of messages published after anti-loop detection
The following labels have been defined:

country

centre_id
for the country and centre_id corresponding to the WIS2 Node (See option 1 above)

report_by = the name of the centre (typically Météo-France Global Broker so meteofrance) reporting the metrics

job is automatically added by prometheus. It represents the "source" of the metric.

For filtering purposes, metric names and the labels (country, centre_id, report_by) should be sufficient.


adds info bar to campaigns and campaign groups

What does this PR do?
@sbsmith86 and I re-added her code that got reverted (#5520) and updated code so info bar only shows on campaign nodes, campaign group nodes, and taxonomy terms.
What are the relevant tickets?
Fixes #5750 and #5078

:100: Thanks for fixing this!

Thanks for showing me how to @sbsmith86 ! Noob question - to double check, :100: means ok merge? #bettersafethansorry

Yerp. It's like 100 +1's hehe

awesome, thanks Shae!


jenkinsfile

@kitsunehunter Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


[localhost] ReferenceError: Cannot access 'userAccountSelector' before initialization

Description
After the remote config refactoring, there's ostensibly a circular dependency error on hot reload.
It only happens with the dev server locally.

Closing because I'm not able to reproduce it anymore. Will reopen if it happens again.


Fix broken link:aws.md

Fix broken link:aws.md

NOTE: Please check the “Allow edits from maintainers” box below to allow
reviewers fix problems on your patch and speed up the review process.
Please delete this note before submitting the pull request.

This change is

@chenopis  according to https://github.com/kubernetes/kubernetes/pull/42196,  config-default.sh was removed. So there are still two broken links in this file. Maybe it need another PR to modify some words and remove those two links.

@zhangxiaoyu-zidif Yeah, those will need to be fixed too. Can you open a PR for that? Thx.


radard: tie radard frequency to modelV2

Would you be able to implement Kalman Filter for the vision lead data?

@morrislee  The kalman filter is mostly there to get accel from speed. This is possible with radar because radar speeds are very accurate. Not the case for vision

Besides comments LGTM if test results look good on 20k segments


page_fault代码提交

Pull Request Template
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have checked my code and corrected any misspellings

自动流水线编译失败，看看是什么原因

把 pr 和 issue 关联起来，你这个 pr 是针对那个 issue 的，关联进来，只要把 issue 地址贴到 pr 中，不过最好是把 pr 地址贴到 issue 中，这样就可以关联起来


Feature/buff 213

It will be good in the future, to have links for tickets/connected PR's in the description


Param as an array of swagger_model object?

Hi, in a Ruby on Rails application, we have a swagger_model called Disk and the following is the parameter I am specifying in the corresponding swagger_api entry:
param :body, :disks, :Disk, :optional, "An array of disks"
How could I make this parameter an array in order to behave like this example: http://petstore.swagger.wordnik.com/#!/user/createUsersWithArrayInput ?
Thanks in advance

how to set name property under Model Machine an default value?


Introduce Common AWS Reponse Object

introduce common AWS* response object

reject... there's no real point in a common response object since the headers differ


Add CronJob

Scheduled cron job added.

I would refer the same URL. may be job return 2 types of Json objects?

https://github.com/gearman/gearmand/blob/master/PROTOCOL#L203 You need to use SUBMIT_JOB_EPOCH.

On a second thought, I think we keep job and cron jobs separate. That way we might be able to tell the difference between regular BG jobs and jobs running as a result of cron job.

@ashiquzzaman33 apply go import to all files.

@ashiquzzaman33 Run
./hack/make.py fmt

It does more than just gofmt; https://github.com/appscode/g2/blob/add-cron-support/hack/make.py#L78

LGTM


OP / Bypass permission

Is there a bypass permission for staff? Could find any permission other than panilla.log.chat
Players with -OP- permissions get kicked for trying to get stuff with NBT.

I can add an OP and permission bypass. I was reluctant to do this at first because of the high number of permission checks Panilla would have to perform. I will make a workaround, however.

I have added this with e2bed213feab79261c42c93386117d3619ff5b1c. A new version 1.2.2 is available for download on SpigotMC.
Make sure to either: be an OP or have the panilla.bypass permission.

Sorry, didn't want to cause you extra work. A player getting kicked, especially an OP was a bit annoying. A bypass permission is off course the finest solution. :ok_hand:
Although the copied text gets lost, it's no big deal. It's creative, so writing the text all over again is no big deal.
The latest version works great.


devices: FIXES account or orgID values.

Fixes # (issue)
Type of change
What is it?

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Documentation update
[ ] Tests update
[X] Refactor

Checklist:

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[X] I run make pre-commit to check fmt/vet/lint/test-no-fdo

Test results are available in Ibutsu. The test run IDs are:
6d7a2c12-6d9f-40d7-8cdc-80d73b21a194
eabbb861-df64-4c7d-8fb3-c91707bcd849


feat(testing): add simpler locksmith

Testing a simpler locksmith implementation.

Confirmed the idtoken library gets confused by the lack of metadata server support:
2020/09/21 23:44:05 idtoken.NewTokenSource: metadata: GCE metadata "instance/service-accounts/default/identity?audience=https%3A%2F%2Fhelloworld-shell-t3o9q03n5ier6po-uzqz64nfoq-uc.a.run.app&format=full" not defined
exit status 1


Invoices copy imrovement

Change list:

Add a “Pay Now” button at the bottom of each invoice in the “pending” state.

When a user clicks this button, or clicks the “Pay” button from the invoices list, we should open the modal and let them enter their card details immediately. Currently there’s an error that pops up if you don’t have a payment method on file.

Rename the “Pending” state to “Unpaid”
Email copy changes

Title should be “OpenPipe Invoice Dec 2023 - Jan 2024”, not “OpenPipe Usage Dec 2023 - Jan 2024”
If the invoice is just for one month (ie they created their account in January) the title should end in “OpenPipe Invoice Jan 2024” instead of “OpenPipe Invoice Jan 2024 - Jan 2024”
If the invoice requires payment, the button at the bottom should be “Pay Now”, not “Details”
“Billing Total” should always include dollars and cents, ie. “$0.00”, not just “$0”

I created a script that renames the billing period if a project was created in January, and currently have the billing period as "Jan 2024 - Jan 2024":
pnpm tsx src/server/scripts/renameBillingPeriods.ts

https://github.com/OpenPipe/OpenPipe/pull/610


eds: simplify and optimize mTLS checker

Remove all caching. This is expensive and offers little benefit; the
issue here is the mtlsChecker is built per endpointBuilder, which is
per-proxy-cluster. So it has very little re-use. We find cache key
computation is actually way more expensive than actually computing the
value anyways. Note - when it was first written this probably wasn't the case, we optimized it after
Simplify DR processing. DR is a property of the cluster, so do not
compute per endpoint
Fix DR processing. We were using subset rule when not creating subset
cluster. This changes the tests; everything else is a NOP.
Micro-optimize a few hot paths in the code now that we are calling
them a bit more.

end result (edit: see https://github.com/istio/istio/pull/45230#discussion_r1213281992 for updated numbers)
name                          old time/op        new time/op        delta
EndpointGeneration/1/100-48          634µs ± 1%         606µs ± 1%   -4.49%  (p=0.008 n=5+5)
EndpointGeneration/10/10-48          306µs ± 2%         285µs ± 1%   -6.89%  (p=0.008 n=5+5)
EndpointGeneration/100/10-48        2.71ms ± 1%        2.51ms ± 2%   -7.41%  (p=0.008 n=5+5)
EndpointGeneration/1000/1-48        2.69ms ± 2%        2.45ms ± 2%   -9.23%  (p=0.008 n=5+5)

name                          old alloc/op       new alloc/op       delta
EndpointGeneration/1/100-48          219kB ± 0%         186kB ± 0%  -14.97%  (p=0.008 n=5+5)
EndpointGeneration/10/10-48         79.9kB ± 0%        73.7kB ± 0%   -7.75%  (p=0.008 n=5+5)
EndpointGeneration/100/10-48         672kB ± 0%         617kB ± 0%   -8.29%  (p=0.008 n=5+5)
EndpointGeneration/1000/1-48         696kB ± 0%         610kB ± 0%  -12.34%  (p=0.008 n=5+5)

name                          old allocs/op      new allocs/op      delta
EndpointGeneration/1/100-48          4.41k ± 0%         4.01k ± 0%   -9.07%  (p=0.008 n=5+5)
EndpointGeneration/10/10-48          1.66k ± 0%         1.61k ± 0%   -3.02%  (p=0.008 n=5+5)
EndpointGeneration/100/10-48         12.7k ± 0%         12.5k ± 0%   -1.01%  (p=0.008 n=5+5)
EndpointGeneration/1000/1-48         12.2k ± 0%         12.1k ± 0%   -0.34%  (p=0.000 n=5+4)

One note is this under counts the benefit because the benchmark config is fairly simple. In a real world
environment the impact is much larger, see https://github.com/istio/istio/issues/44985

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test unit-tests-arm64

gencheck_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test unit-tests-arm64

gencheck_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test gencheck

lint_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test unit-tests-arm64

gencheck_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test gencheck

lint_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test lint

unit-tests_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Will take a look before merged

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test gencheck

lint_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test lint

unit-tests_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test unit-tests

unit-tests-arm64_istio
9c646543e090238b941d5fbba761d59654b42812
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test gencheck

unit-tests_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test unit-tests

unit-tests-arm64_istio
9c646543e090238b941d5fbba761d59654b42812
link
true
/test unit-tests-arm64

lint_istio
9c646543e090238b941d5fbba761d59654b42812
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
6980aad663974ee5de01caf1b3e35bade5f9f3fb
link
true
/test unit-tests

unit-tests-arm64_istio
9c646543e090238b941d5fbba761d59654b42812
link
true
/test unit-tests-arm64

lint_istio
9c646543e090238b941d5fbba761d59654b42812
link
true
/test lint

gencheck_istio
9c646543e090238b941d5fbba761d59654b42812
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
9c646543e090238b941d5fbba761d59654b42812
link
true
/test unit-tests-arm64

gencheck_istio
9c646543e090238b941d5fbba761d59654b42812
link
true
/test gencheck

unit-tests_istio
9c646543e090238b941d5fbba761d59654b42812
link
true
/test unit-tests

lint_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio
9c646543e090238b941d5fbba761d59654b42812
link
true
/test gencheck

unit-tests_istio
9c646543e090238b941d5fbba761d59654b42812
link
true
/test unit-tests

lint_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test lint

unit-tests-arm64_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test lint

unit-tests-arm64_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests-arm64

unit-tests_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests

integ-ds_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ds

integ-ipv6_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ipv6

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test lint

unit-tests-arm64_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests-arm64

unit-tests_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests

integ-ds_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ds

integ-ipv6_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ipv6

integ-basic-arm64_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-basic-arm64

integ-distroless_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-distroless

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test lint

unit-tests-arm64_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests-arm64

unit-tests_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests

integ-ds_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ds

integ-ipv6_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ipv6

integ-basic-arm64_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-basic-arm64

integ-distroless_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-distroless

integ-security-istiodremote_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-security-istiodremote

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test lint

unit-tests-arm64_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests-arm64

unit-tests_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests

integ-ds_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ds

integ-ipv6_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ipv6

integ-basic-arm64_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-basic-arm64

integ-distroless_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-distroless

integ-security-istiodremote_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-security-istiodremote

integ-security_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-security

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test lint

unit-tests-arm64_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests-arm64

unit-tests_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests

integ-ds_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ds

integ-ipv6_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ipv6

integ-basic-arm64_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-basic-arm64

integ-distroless_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-distroless

integ-security-istiodremote_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-security-istiodremote

integ-security_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-security

integ-security-multicluster_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-security-multicluster

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test lint

unit-tests_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests

integ-ds_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ds

integ-ipv6_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ipv6

integ-basic-arm64_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-basic-arm64

integ-distroless_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-distroless

integ-security-istiodremote_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-security-istiodremote

integ-security_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-security

integ-security-multicluster_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-security-multicluster

gencheck_istio
fc382d6610970eaeb0d78b479ec9702c939c25b4
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test unit-tests

integ-ds_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ds

integ-ipv6_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-ipv6

integ-basic-arm64_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-basic-arm64

integ-distroless_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-distroless

integ-security-istiodremote_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-security-istiodremote

integ-security_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-security

integ-security-multicluster_istio
b13f43dc2b8226c3d4465b0f6c7012a3d30607da
link
true
/test integ-security-multicluster

gencheck_istio
fc382d6610970eaeb0d78b479ec9702c939c25b4
link
true
/test gencheck

lint_istio
fc382d6610970eaeb0d78b479ec9702c939c25b4
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Updates for 0.11

Looks great, thanks! The CI failure is sort of unrelated so I'll address that separately.

Published as 6.0.0.


kaldi demo app

hello
Following the instructions I have succesfully build the kaldi-android-demo to android studio.
When i try to open the kaldi demo app,the app crashes. I restarted it but it is still the same. Can someone know what can it be to cause this? Is it a machine problem of should I have to edit my code?

Please provide the logcat output during the crash.

And the information about your phone.

i create with AVD manager an virtual phone Pixel 2 XL API 28.
The phone works fine, but the app stops everytime.

Most likely your emulator is 32-bit, I suggest you to upgrade to 64-bit version
https://android-developers.googleblog.com/2019/06/moving-android-studio-and-android.html

thanks..it succesfully runs. I want to ask you if i want to edit the existing files that you have from kaldi with my data from training that i have done...do it works as well? or do I have to build the KALDI API ?

Ok, great!
If you just want to replace the model, you can update the files, thats it. It will work. You can also rebuild kaldi with your changes with gradle script in our vosk-api repo if needed.

My audio is greek...whould I have a problem with that? becasuse the emulator when I put the files in crashes again

My audio is greek...whould I have a problem with that?

No, we might share a pretrained greek model a bit later if you like.

becasuse the emulator when I put the files in crashes again

For the details of the crash read the logcat output, most likely you didn't arrange the required files properly.


ExternalTrafficPolicy local support for Ingress services does not handle healtchecks correctly

#32873 added support for configuring the externalTrafficPolicy of the Services created for Cilium Ingress, allowing that setting to be set to local.
externalTrafficPolicy: local has two effects: it makes the client IP visible to the Nodeport or Loadbalancer Service, and it ensures that traffic bound for the Nodeport of the Service only arrives at nodes that are running endpoints of the Service.
It does this by laying out a contract that an upstream load balancer can connect to a special healthcheck Nodeport, (requesting http://${NODEIP}:$healthCheckNodeport/healthz), and can consider the node to be running endpoints if that request returns 200. If there are no endpoints, it must return 503. This is controlled by the spec.healthCheckNodeport field of the Service, which is set automatically by Kubernetes when the externalTrafficPolicy is set to local.
Cilium includes support for healthCheckNodeport for regular Nodeport and Loadbalancer Services, but because of the way that Cilium redirects traffic bound for Loadbalancer Services that are associated with Ingress objects, the endpoint calculations are always 0 (We create a dummy endpoint, since the traffic is redirected transparently to Envoy via eBPF).
This issue covers work to implement a fix for this, so that nodes that are a valid target for Ingress config should return a 200 for this healthcheck.
This also has an interaction with the feature that allows deploying Ingress (or Gateway API) config to only a subset of nodes (as described in https://docs.cilium.io/en/latest/network/servicemesh/ingress/#deploy-gateway-api-listeners-on-subset-of-nodes) , so the goals for this issue are:

at a minimum, ensure that in the simple case where Envoy is running as a Daemonset or inside the Cilium Agent and all nodes are valid targets, the healthcheck reflects this
stretch goal is to ensure that this takes into account if the ingress config is present on that specific node.

I've marked this as a release blocker because if we don't get this in, we will need to revert support for externalTrafficPolicy: local.

Removed release-blocker/1.16 as #33600 is merged.

This issue is currently at the state where Cilium will report that every node is healthy for a service that's forwarded to Envoy.
The next step is to ensure that this works with having Ingress config only on a subset of nodes.


Is this project still maintained?

None of the pull requests on this project have been commented on or accepted and there haven't been any commits in 4 years.
There are also 50 forks of this project in varying states of update.

I'm working under the assumption it is no longer maintained, hence we have our own fork.
Aside from a few minor performance pieces (I see @ankane has made some improvements in his fork), it seems the the majority of PR's and forks are primarily dealing with updates to the underlying database.
This is a useful project. If the author is amenable (paging @jgv), would he consider transferring the project to the (ideally) the owners of one of the existing forks. I'm happy to volunteer if no-one else is interested.
It would be good to verify support for Ruby 2.x, dust off some of the cobwebs and perhaps think about a better process for submitting updates/addition to the underlying data.

@ckorhonen I tend to agree, transitioning ownership would be nice.
Additionally, I don't know where the actual zip code data is coming from. From my own person research it looks like some of it had been scraped from census data, but I also found an old issue that points to http://federalgovernmentzipcodes.us/ being used for data.
Worst case scenario we just create a new gem with more official data sources and a more modern ruby support.
This project is also ver similar in nature and more active: https://github.com/monterail/zip-codes


[DRAFT] fix(UI-UI-979): display valid return value in session activities

Description
Linear Ticket
What type of PR is this? (check all applicable)

[ ] 💡 (feat) - A new feature (non-breaking change which adds functionality)
[ ] 🔄 (refactor) - Code Refactoring - A code change that neither fixes a bug nor adds a feature
[ ] 🐞 (fix) - Bug Fix (non-breaking change which fixes an issue)
[ ] 🏎 (perf) - Optimization
[ ] 📄 (docs) - Documentation - Documentation only changes
[ ] 📄 (test) - Tests - Adding missing tests or correcting existing tests
[ ] 🎨 (style) - Styles - Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
[ ] ⚙ (ci) - Continuous Integrations - Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
[ ] ☑ (chore) - Chores - Other changes that don't modify src or test files
[ ] ↩ (revert) - Reverts - Reverts a previous commit(s).

Irrelevant - backend wasn't deployed yet.


send a binary message Connection refused

Hi,
I attempted to send a binary message using hex_content, but I encountered the following error:
telnet <IP_ADDRESS> 8080
Trying <IP_ADDRESS>...
telnet: connect to address <IP_ADDRESS>: Connection refused
Could you provide any guidance on resolving this issue?

any update !!!

fixed using the 1401 port


Save filter to hash, in addition to local storage

Related to #73

Thanks a lot @kimsey0 for raising this PR, it will be very helpful for everyone.
Did you perform any test with this version?

Happy to help! I installed and tested it on a new Azure DevOps organization in Firefox and Chrome. I don't know if there are other supported browsers you may want to test it in?

Happy to help! I installed and tested it on a new Azure DevOps organization in Firefox and Chrome. I don't know if there are other supported browsers you may want to test it in?

Sorry for the delay. Busy past weeks. I'm merging it and I will also test from my side with some additional fixes, hopefully this week already I will release a new version. :-)
And thanks again for your help and contribution.

No worries about the delay. Thanks!


all plugins use global variable module without checking if it's not null

eg:  module.exports = angularPlugin;

Hi @kether667 – can you explain what the impact of this is? And if there is an error, a proof of concept demonstration (e.g. on jsbin.com)?
Note that if you're linking directly to plugin files using <script> tags, you should be using dist/plugins/*, NOT src/plugins/*.

my bad, I was using src/plugins instead of dist/plugins... sorry


Remove check for Rancher version in the kubernetesversions extension

Forward port https://github.com/rancher/shepherd/pull/48
Issue: https://github.com/rancher/qa-tasks/issues/1122

Could we get a rebase for this and its backports?

@caliskanugur Rebased this and the backports

Backports:
2.7: https://github.com/rancher/shepherd/pull/48
2.8: https://github.com/rancher/shepherd/pull/50


Add flag to gl branch to copy changes in the current branch onto the target branch

ff36038e8ea2336dcb1e346f9868611378f398e3 added -mo/--move-over to the new gl switch


Compatibility module for Parsetree.pattern_desc.

OCaml 4.04 adds the Ppat_open constructor. This makes code that pattern matches on pattern_desc not portable between 4.04 and 4.03.
This is the 4.04 implementation of the compatibility module.
Closes #53.
See https://github.com/aantron/bisect_ppx/pull/113, https://github.com/aantron/bisect_ppx/issues/112
cc @rleonid, @gasche

I think it's an interesting direction to expose a copy of the current Parsetree definition (corresponding to the most recent version of OCaml) in ppx_tools, and provide to/from mappings with old definitions in branches of ppx_tools corresponding to old versions of OCaml (and the identity for the current version).  The mapping from old to new is guarantee to be total, while the other direction can fail (if an actual parsetree uses new features).
I'd rather provide such a compatibility layer in a new module, such as Ast_compat, rather than in Ast_convenience.  And document it as a general compatibility layer instead of "just" as something done to support the introduction of Ppat_open.
It will also be required, at some point, to cover the whole Parsetree (and not just patterns and constants); but this can come later.  One could also consider providing a version of Ast_mapper working on the Ast_compat types, so that client code (e.g. ppx rewriters) can simply do as if they were working with the most recent version of OCaml's Parsetree.

I agree with that. I've thought about the same thing, especially since I am working on some big code now that actually uses the whole of Parsetree and will need to be compatible between versions. Do you want to wait on/abandon this PR then?

Do you think you might want to work on this whole Parsetree compatibility layer?

Yes, sent an email actually.
I thought about it for the last few hours. Perhaps it makes sense to make it a separate library?

It could eventually grow to include whatever gets broken in compiler-libs.
Some projects aren't doing PPX, but still need compatible ASTs.
I think ppx_tools is a build-time dependency for a typical project using it, whereas this thing may be a run-time dependency in more situations.

ppx_tools could then either depend on it, or point users to it. Thoughts?

ppx_tools is not really restricted to ppx; any program that produce ASTs can use its "metaquot" and "convenience" facility.  If the compatibility layer is implemented in a separate library, it would be incompatible with ppx_tools (metaquot and convenience will work on the "Parsetre from compiler-libs", not the "Parsetree from the compatibility library").
So, without giving it much more thoughts, I think it would be best to avoid adding a separate library.
No problem to give you push access to the repo.  (FWIW, I don't use ppx_tools myself and see it completely as a community project -- the more maintainers we have, the better.)

I agree. "ppx_tools" is really "ast_tools" at this point (and that's fine).
If we are moving toward this direction, it would be nice to have ppx_core-style autogenerated class mapper/folder/iterator/foldmapper (for each version of the ast).
@alainfrisch All this might go against your initial wish of keeping ppx_tools simple and free of build complexity ....

Keeping things simple is always nice, but my real concern is to avoid external dependencies.

I will PR some initial version to ppx_tools in weeks. Will interleave work on it with the project that needs it.

Relevant blog post from @diml : https://blogs.janestreet.com/an-solution-to-the-ppx-versioning-problem/#comment-66525

@alainfrisch the project I was working on that needed the parse tree layer did the same thing as codept does. Since it is now redundant, I don't have plans to work on the parse tree in the near future anymore. Perhaps @Octachron has some interest in this, however :)

@aantron I've started to work to semi-automated mapping between versions of Parsetree.  See https://github.com/alainfrisch/ppx_tools/tree/copy_parsetree

Now that ocaml-migrate-parsetree is out and in routine use, I think we can close this and #55. Please let me know if you object.

Indeed omp is the way to go.


trcrpm

I'm working with trcrpm on an industrial data set.
I am having trouble getting it to run on datasets much larger than those included in the tutorials.
For instance, running the basic tutorial on a time series much greater than 200 in length
[                              ] 1.43%python2.7: cpp_code/src/State.cpp:267: double State::remove_feature(int, const std::vector&): Assertion abs(other_data_logp_delta - data_logp_delta) < 1E-6' failed. [=                             ] 3.73%python2.7: cpp_code/src/State.cpp:267: double State::remove_feature(int, const std::vector<double>&): Assertion abs(other_data_logp_delta - data_logp_delta) < 1E-6' failed.
[=======                       ] 24.24%python2.7: cpp_code/src/State.cpp:267: double State::remove_feature(int, const std::vector&): Assertion `abs(other_data_logp_delta - data_logp_delta) < 1E-6' failed
I am wondering if you have anytips to get this working a little more smoothly.
Thanks-

I ended up getting the code to run reasonably well using the docker file provided.
I am wondering, is there an example available with data updates - as in streaming time series data incoming?

Hi @nick-torenvliet, thanks for the ticket.
For data updates, you can use incorporate.  The index of the frame usually specifies the new timepoints, but can also include values at previous timepoints which were NaN.  If you let me know the pattern of data you are trying to incorporate then I can suggest the corresponding invocations to the API.

Hi @fsaad -
Let me describe my problem/data to you... I've got an industrial time series - thousands of sensors and devices  delivering pressures, temperatures, rates of flow,  valve % open closed - etc. every two seconds.   I have years of data to experiment with.
The system is mechanical, deterministic, with lots of casual type dependencies... so real objective "clusters" of behaviour exist, and actions have reactions that are predictable-tractable by a human agent; which leads me to believe there is a lot of structure for the math to find.
The data is basically stationary but with seasonality - ambient atmospheric conditions move the system means up and down as time progresses through the seasons.
We want to find anomalies in the data due to equipment malfunction.  These happen infrequently, so no supervised learning labelled datasets are practically available.  Anomalies are also unpredictable, so no number of rules can adequately describe them.   And given the number of systems - we don't have the time to "tune" anomaly detection.
The intention is to capture/flag anomalies by paying attention to the rate of new table assignments from the crp.
So I have an incoming stream of data - say the temperature of a water flow - I want to pass that data into a model update and then look at the model properties to assess whether the data seems normal or anomalous.
If you have any example code for say (semi)real time updating with financial series... that could be helpful.  Also any papers or sources you know of would be great.
Let me know if you want to take the conversation off-line,
Thanks!

Hi @fsaad,
I'm wondering if you have an example that show how to pull out the clustering information from a model like was done with the Gapminder GDP dataset.
Thanks,
Nick


Correction of some tests

Signed-off-by: Eduardo Júnio Veloso Rodrigues<EMAIL_ADDRESS>

Coverage increased (+0.2%) to 75.837% when pulling 8c91ded75f0b52d34d85fef94912567faec5ea91 on fix_test into 2a457c039136ac7ade564aecf30e17b27610ffbd on development.

Corrigi alguns testes!

Coverage increased (+0.6%) to 76.286% when pulling a8136a727561d8bc1163b70769177d09bce21f7e on fix_test into 2a457c039136ac7ade564aecf30e17b27610ffbd on development.


Controllers

In this branch, I did :

[ ] Created below functions for each URL :
[ ] A route.
[ ] An action in the correct controller.
[ ] A view file.
[ ] Included placeholders written in plain HTML.
[ ] Added code to handle only the 4 required URLs.
[ ] Fixed linter errors

Thank you @Davidosky007


[Advanced Paste > Paste with AI] Does OpenAI use my clipboard data or saves them?

Provide a description of requested docs changes
There is no information in PT Settings or on the documentation of PT Advanced Paste if OpenAI will save or use my Clipboard Content if I paste with AI. This information is interesting because sometimes my clipboard contains sensitive data (passwords, keys, personal adress, ...).
If yes there should be an warning box in PT Settings and on the learn.microsoft.com page.

I came here to ask the same thing. Without knowing exactly how this AI feature works, and whether it can be disabled (or isn't enabled to begin with) then I won't be updating PowerToys. I was disappointed to see that Paste as Plain Text was removed in favor of this.

This could potentially be resolved by including a link to OpenAI's API privacy policy in the documentation

@nathancartlidge
The links exists. But I didn't find it in the Privacy Policy. I must have overseen it and I am sure that people don't like to read the whole document. 😅
We should add a short not. Thoughts, @crutkas ?

@BoffinBrain

Without knowing exactly how this AI feature works, and whether it can be disabled

The AI part is disabled by default as you need an OpenAI key first. So you can use the feature without AI too.

The AI part is disabled by default as you need an OpenAI key first. So you can use the feature without AI too.

Good to know. Perhaps this could be better described in the release notes and the Microsoft Learn pages. They simply say "Advanced Paste is an AI powered tool."

@jaimecbernardo
Is this something we should add to settings ui or docs on learn.microsoft.com?

This is what the learn docs say now ^ -- and the terms for Open AI are in the tool too. It is off by default and the AI portion is 100% an opt-in feature.
Thanks for the feedback, I'm leaning towards closing out this issue because we've tweaked the docs to help better articulate around this issue because of feedback like this one which is super helpful. I will close this out in a few days if we are in agreement here!
/needinfo

But what is done with the data converted using AI? Are they safed or used for training by OpenAI?

@htcfreek
As I mentioned previously - the AI part of the tool uses OpenAI's API, so is subject to the API privacy policy I summarised above (not used for training, but potentially accessible to openai employees/contractors).
I think including a link to OpenAI's privacy policy is sufficient here, but if others feel the same as you we could add an external summary on the documentation site

As I mentioned previously - the AI part of the tool uses OpenAI's API, so is subject to the API privacy policy I summarised above (not used for training, but potentially accessible to openai employees/contractors).

Now my question is answered.

I think including a link to OpenAI's privacy policy is sufficient here, but if others feel the same as you we could add an external summary on the documentation site

Did you quote the above from their policy or is it summarized by you?
One the one hand I think short summary on our docs is great.On the ither hand who ensure keeping our docs up to date. 🤔🤯


Wrong detection browser version of Safari browser.

Hello.
Wrong detection browser version of Safari browser.
For example,
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15
browserversion is should be 15.4, but detect 605.1.15.

Thanks for letting me know about this. I have updated the code to correctly detect the version now.


use MinCost for bcrypt in kbpagesconfig test as well

This decreases the time for running kbpagesconfig tests on my laptop from 0.39s to 0.01s. So hopefully it'll help with the CI flake.

You mean DefaultCost might be too slow for production as well? I was thinking about that too. I did some simple test and it looks like bcrypt.CompareHashAndPassword and bcrypt.GenerateFromPassword are equally slow (about 0.1s each). So this could be an DoS surface. Not sure what the right answer is here yet though.

I'm gonna merge this for now as it affects CI. But I think we should discuss the performance thing.


Proguard Support

Resolves #82

In cases user add new code that need change proguard configuration, they should execute okbuck task again, right?

Yes. I will add to docs when we are ready to release


Create Song “2023-09-30/index-4”

Automatically generated by Netlify CMS

👷 Deploy Preview for suricate processing.

Name
Link

🔨 Latest commit
e3d9d904aceda96cf21a2d1a6216a11e5e704303

🔍 Latest deploy log
https://app.netlify.com/sites/suricate/deploys/65187ec830cc6300087ddb1c


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-k8s-24-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 1352

Questions ?
Please refer to the Backport tool documentation


Add initial login page

Description
Removes the Amplify login and adds a simple login page using Cloudscape.
/dashboards is still accessible.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Added tests to check updated inputs
[x] Added test to check form submit

Checklist:

[ ] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Legal
This project is available under the Apache 2.0 License.

LGTM. No blockers for merging. Please handle the feedback in a later PR.


6.0.0-beta.14 Hot module replacement failing ([HMR] Waiting for update signal from WDS...)

Laravel Mix Version: 6.0.0-beta.14
Node Version (node -v): v12.17.0
NPM Version (npm -v): 6.14.8
OS: MacOsx Catalina

Description:
I'm unable to get HMR working.  I have a CraftCMS site running in a nitro/multipass virtual machine.  The setup is similar to what is described in the docs (https://laravel-mix.com/docs/6.0/hot-module-replacement) where the dev site runs on a .test local domain alias.
I run
npm run hot
webpack dev server starts up with the following output:
｢wds｣: Project is running at http://localhost:8080/
｢wds｣: webpack output is served from undefined
｢wds｣: Content not from webpack is served from /Users/nkc/Dropbox/Personal-Projects/Dev/craftcmsproject/cms/web/dist
｢wds｣: 404s will fallback to /index.html

 DONE  Compiled successfully in 696ms

Laravel Mix v6.0.0-beta.14

Compiled Successfully in 696ms
┌───────────────────────────────────┬─────────┐
│ File                              │ Size    │
├───────────────────────────────────┼─────────┤
│ /js/app.js                        │ 164 KiB │
└───────────────────────────────────┴─────────┘

"webpack output is served from undefined" seems like the first red flag.
When I load the site in the browser at the .test domain I can see the scripts are being loaded into the page properly via the script tag over localhost:8080:
<script src="//localhost:8080/js/app.js"></script>
And in the developer console I see:
[HMR] Waiting for update signal from WDS...
But no other HMR updates after that indicating a successful connection.
If I edit a .js module at this point the file is watched and compiled by mix with the following output:
Laravel Mix v6.0.0-beta.14

 Compiled Successfully in 60ms
┌───────────────────────────────────┬──────────┐
│ File                              │ Size     │
├───────────────────────────────────┼──────────┤
│ /js/app.js                        │ 163 KiB  │
├───────────────────────────────────┼──────────┤
│ /js/app.3bce09db8406f8fca958.hot… │ 4.79 KiB │
├───────────────────────────────────┼──────────┤
│ _js_app.3bce09db8406f8fca958.hot… │ 31 bytes │
└───────────────────────────────────┴──────────┘

But no hot updates are pushed to the browser and there is no other [HMR] output in the console.
Steps To Reproduce:
Followed installation and setup steps from the docs.  Here is my minimal mix file where I can replicate the problem:
let mix = require("laravel-mix");

mix.setPublicPath("cms/web/dist").js("src/js/app.js", "js");

then
npm run hot
which runs the npm script:
"hot": "mix watch --hot"

So I accidentally discovered the the solution to this.  After deleting a few unused files in my project root, HMR all of a sudden started working.  I narrowed it down to the .browserslistrc file.  Once that is removed from the project things work as expected.  I did a little research and found that there is an existing bug that has been fixed with a newer version of webpack-dev-server - https://github.com/webpack/webpack-dev-server/issues/2758


Merge release-2.38 back into main

Hmm, GitHub shows a merge conflict here now for CHANGELOG.md and VERSION after merging the rc.0 changes first in https://github.com/prometheus/prometheus/pull/11151. I wonder if that is because that other PR didn't create a proper merge commit, but a single squashed commit with all the changes (ugh). Anyway, when I want to resolve the merge conflicts here through the GitHub UI, it tells me that it will create another commit on the release-2.38 branch (or another whole new branch), which I don't really want:

Let me see what happens if I close this PR and open a new one...


Work around a bug where audio occasionally plays through the earpiece…

… rather than the speaker by introducing a continually-playing silent audio track, seemingly tricking WKWebView's AVAudioSession into staying in the right mode

Closing in favor of https://github.com/daily-demos/party-line/pull/23, which includes this fix


Detection TinyCOCO Example Fails to Run

🐛 Describe the bug
Hi, I am trying to run the detection_tinycoco.ipynb notebook from examples in Google Colab, with a fresh install, but it fails at this step:
from data_gradients.managers.detection_manager import DetectionAnalysisManager
from data_gradients.datasets.detection.coco_detection_dataset import COCODetectionDataset

Error:
Downloading: "https://download.pytorch.org/models/mobilenet_v3_small-047dcff4.pth" to /root/.cache/torch/hub/checkpoints/mobilenet_v3_small-047dcff4.pth
100%|██████████| 9.83M/9.83M [00:00<00:00, 24.1MB/s]
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
[<ipython-input-2-5657470712ca>](https://localhost:8080/#) in <cell line: 2>()
      1 from data_gradients.managers.detection_manager import DetectionAnalysisManager
----> 2 from data_gradients.datasets.detection.coco_detection_dataset import COCODetectionDataset

2 frames
[/usr/local/lib/python3.10/dist-packages/data_gradients/datasets/segmentation/voc_segmentation_dataset.py](https://localhost:8080/#) in <module>
      2 from typing import Union
      3
----> 4 from data_gradients.datasets.download.voc import download_VOC
      5 from data_gradients.datasets.segmentation.voc_format_segmentation_dataset import VOCFormatSegmentationDataset
      6

ModuleNotFoundError: No module named 'data_gradients.datasets.download'

---------------------------------------------------------------------------
NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.

To view examples of installing some common dependencies, click the
"Open Examples" button below.
---------------------------------------------------------------------------

I have tried the DG_Demo.ipynb notebook as well and the same issue happened there.
Although, the classification notebook under examples works fine.
Versions
Collecting environment information...
PyTorch version: 2.0.1+cu118
Is debug build: False
CUDA used to build PyTorch: 11.8
ROCM used to build PyTorch: N/A

OS: Ubuntu 22.04.2 LTS (x86_64)
GCC version: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Clang version: 14.0.0-1ubuntu1.1
CMake version: version 3.27.4
Libc version: glibc-2.35

Python version: 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] (64-bit runtime)
Python platform: Linux-5.15.120+-x86_64-with-glibc2.35
Is CUDA available: False
CUDA runtime version: 11.8.89
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: Could not collect
Nvidia driver version: Could not collect
cuDNN version: Probably one of the following:
/usr/lib/x86_64-linux-gnu/libcudnn.so.8.9.0
/usr/lib/x86_64-linux-gnu/libcudnn_adv_infer.so.8.9.0
/usr/lib/x86_64-linux-gnu/libcudnn_adv_train.so.8.9.0
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_infer.so.8.9.0
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_train.so.8.9.0
/usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so.8.9.0
/usr/lib/x86_64-linux-gnu/libcudnn_ops_train.so.8.9.0
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Address sizes:                   46 bits physical, 48 bits virtual
Byte Order:                      Little Endian
CPU(s):                          2
On-line CPU(s) list:             0,1
Vendor ID:                       GenuineIntel
Model name:                      Intel(R) Xeon(R) CPU @ 2.20GHz
CPU family:                      6
Model:                           79
Thread(s) per core:              2
Core(s) per socket:              1
Socket(s):                       1
Stepping:                        0
BogoMIPS:                        4399.99
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat md_clear arch_capabilities
Hypervisor vendor:               KVM
Virtualization type:             full
L1d cache:                       32 KiB (1 instance)
L1i cache:                       32 KiB (1 instance)
L2 cache:                        256 KiB (1 instance)
L3 cache:                        55 MiB (1 instance)
NUMA node(s):                    1
NUMA node0 CPU(s):               0,1
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Vulnerable; SMT Host state unknown
Vulnerability Meltdown:          Vulnerable
Vulnerability Mmio stale data:   Vulnerable
Vulnerability Retbleed:          Vulnerable
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1:        Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers
Vulnerability Spectre v2:        Vulnerable, IBPB: disabled, STIBP: disabled, PBRSB-eIBRS: Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Vulnerable

Versions of relevant libraries:
[pip3] numpy==1.23.5
[pip3] torch==2.0.1+cu118
[pip3] torchaudio==2.0.2+cu118
[pip3] torchdata==0.6.1
[pip3] torchsummary==1.5.1
[pip3] torchtext==0.15.2
[pip3] torchvision==0.15.2+cu118
[pip3] triton==2.0.0
[conda] Could not collect

Hi @anujdutt9 ,
It may be due to a bug that was very recently fixed. Could you try to install DataGradients directly from the master branch ?
pip install git+https://github.com/Deci-AI/data-gradients


Dependency issues on TorchVision v0.11 release branch

🐛 Describe the bug
Rerunning the CI tests on top of the release/0.11 branch leads to the following failures (see #5234):

All the cmake_* jobs fail with PackagesNotFoundError: pytorch=1.10.1: example
All the unittest_*_py3.6 jobs fail with Failed building wheel for av: example

Versions
release/0.11 branch - 34395c75ec6756204eea7b9a3a1ded93980e37bd
cc @seemethere

These make sense considering we prune versions of torch on conda when we release new release candidates

cmake issues are most likely resolved by https://github.com/pytorch/vision/pull/5239

Looks like av issues are related to a release that was done at the end of the year that no longer has support for python 3.6.
Pinning the AV dependency to 8.0.3 should resolve this.

Looks like av issues are related to a release that was done at the end of the year that no longer has support for python 3.6.
Pinning the AV dependency to 8.0.3 should resolve this.

Resolved by https://github.com/pytorch/vision/pull/5240

@seemethere Thanks for the patches. I confirm that all the CI issues are now addressed by your 2 PRs and the cherrypick we brought. All tests pass, see #5243.


changed to default model 🥲

let's do this!!

@drMy5tery netlify bot still there bro disable it!!

Textblob : You Couldn't Live with Your Own Failure, Where Did that Bring You? Back to Me


Updated README.md file (removed embedded --help command output + fixed small spelling mistakes)

Follow-up for PR: https://github.com/Homebrew/homebrew-autoupdate/pull/114

Removed embedded --help command output and inserted a link to the auto updated documentation: Homebrew Documentation autoupdate subcommand
Added an example and recommended start command.
Fixed some small spelling mistakes

not stale

Thanks again! 🎉


Cleanup

Current coverage is 100% (diff: 100%)

Merging #11 into master will not change coverage

@@           master   #11   diff @@
===================================
  Files           2     2
  Lines          31    32     +1
  Methods         0     0
  Messages        0     0
  Branches        0     0
===================================
+ Hits           31    32     +1
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last update 985075e...f664f37


test: enable resolve false test

Summary
#149
Related Links

Checklist

[ ] Tests updated (or not required).
[ ] Documentation updated (or not required).

#149 ?

#149 ?

I see you close this issue, so I enable this test to see the output.

Oh, my mistake. I recalled what's that issue for. Will close after RawModule(IgnoredModule) implement module concatenation


Dashboard Default Results Sorting Fix #2

Refer to https://github.com/UTDNebula/utd-trends/pull/204
except I messed up the merge so here we go again

Merged in https://github.com/UTDNebula/utd-trends/pull/229 sorry for the delay


mysql connector order by primary key in each chunk during  snapshot read

Is your feature request related to a problem? Please describe.
I am trying to export one table from mysql to data warehouse, and need to store some information in Flink state, and need the stream is handled in order on some level.
But I find that the data read from mysql is totally out-of-order in each chunk, even when I set parallel to 1.
Currently I am using a tumbling window  to reorder data, but this lead to some other problems.
I am curious why these data is not order by primary key , since it has been splited by the order primary key, or did I miss some configuration.
Describe the solution you'd like
A new configuration that can keep the data in chunk in order will be great.

Closing this issue because it was created before version 2.3.0 (2022-11-10). Please try the latest version of Flink CDC to see if the issue has been resolved. If the issue is still valid, kindly report it on Apache Jira under project Flink with component tag Flink CDC. Thank you!


Inconsistency in email OTP property name and description

Describe the issue:
The use only numeric characters for OTP property value and its value doesn't match. The default type is numeric and the check box is not checked.

How to reproduce:

Goto management console.
Create a new IDP
Expand email OTP type.

Expected behavior:
The property value should be checked.

Tracked by https://github.com/wso2/product-is/issues/17073


Ledger Nano S is not detected in Windows 10!!

We ran an application https://github.com/cosmos/ledger-cosmos-js.git  in ubuntu and the ledger interaction worked fine.But when we are running the same application in Windows 10 it is not detecting the ledger device and when we checked in console it shows "Transport not defined". The transport is properly defined and thats' why its working properly in Ubuntu..Why is the issue with Window 10.
We have already tested connection using ledger live.Its fine.
We have already tried troubleshooting from  https://support.ledger.com/hc/en-us/articles/115005165269-Fix-connection-issues. Still no help.
Need assistance urgently.

On my friends laptop it's not detected on windows 7

even after trying all the troubleshooting techniques am experiencing  fail .Can someone please guide.

This problem still exists. There is a problem connecting with the driver.
The computer does not recognize the wallet. Does not help connect to bootloader.
For your care,

I have the same problem, when are they going to fix this? I tried contacting Ledger support and they were no help at all!


Run osm2pgsql in docker

Currently osm2pgsql is the only thing that doesn't run in a docker. I would be nice to have docker as the only requirement to setup and run the pipeline.

This is now included in commit f5bc86e


Uncaught Error: ENOENT: no such file or directory, lstat '/private/var/folders/j0/c_fq5brn6gqb_vr...

[Enter steps to reproduce:]

...
...

Atom: 1.24.1 x64
Electron: 1.6.16
OS: Mac OS X 10.13.2
Thrown From: Atom Core
Stack Trace
Uncaught Error: ENOENT: no such file or directory, lstat '/private/var/folders/j0/c_fq5brn6gqb_vr92xgd8lx40000gn/T/AppTranslocation/04C331A2-EC06-45F1-8AD7-F3A9CD111CD8/d/Atom.app'
At fs.js:902

Error: ENOENT: no such file or directory, lstat '/private/var/folders/j0/c_fq5brn6gqb_vr92xgd8lx40000gn/T/AppTranslocation/04C331A2-EC06-45F1-8AD7-F3A9CD111CD8/d/Atom.app'
    at fs.lstatSync (fs.js:902:18)
    at Object.fs.lstatSync (ELECTRON_ASAR.js:244:16)
    at realpathSync (fs.js:1542:21)
    at Object.fs.realpathSync (ELECTRON_ASAR.js:331:24)
    at toRealPath (module.js:130:13)
    at Function.Module._findPath (module.js:178:22)
    at Module._resolveFilename (module.js:468:25)
    at Module._resolveFilename (/private/var/folders/j0/c_fq5brn6gqb_vr92xgd8lx40000gn/T/AppTranslocation/04C331A2-EC06-45F1-8AD7-F3A9CD111CD8/d/Atom.app/Contents/Resources/electron.asar/common/reset-search-paths.js:35:12)
    at Function.get_Module._resolveFilename (/private/var/folders/j0/c_fq5brn6gqb_vr92xgd8lx40000gn/T/AppTranslocation/04C331A2-EC06-45F1-8AD7-F3A9CD111CD8/d/Atom.app/Contents/Resources/app/src/module-cache.js:354:58)
    at Module.require (/app.asar/static/index.js:40:43)
    at require (internal/module.js:20:19)
    at customRequire (/private/var/folders/j0/c_fq5brn6gqb_vr92xgd8lx40000gn/T/AppTranslocation/04C331A2-EC06-45F1-8AD7-F3A9CD111CD8/d/Atom.app/Contents/Resources/app/static/<embedded>:96:26)
    at get_CommandEvent (/private/var/folders/j0/c_fq5brn6gqb_vr92xgd8lx40000gn/T/AppTranslocation/04C331A2-EC06-45F1-8AD7-F3A9CD111CD8/d/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:22:49)
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/private/var/folders/j0/c_fq5brn6gqb_vr92xgd8lx40000gn/T/AppTranslocation/04C331A2-EC06-45F1-8AD7-F3A9CD111CD8/d/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:618:38)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/private/var/folders/j0/c_fq5brn6gqb_vr92xgd8lx40000gn/T/AppTranslocation/04C331A2-EC06-45F1-8AD7-F3A9CD111CD8/d/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:412:28)
    at WindowEventHandler.handleDocumentKeyEvent (/private/var/folders/j0/c_fq5brn6gqb_vr92xgd8lx40000gn/T/AppTranslocation/04C331A2-EC06-45F1-8AD7-F3A9CD111CD8/d/Atom.app/Contents/Resources/app/src/window-event-handler.js:108:40)

Commands
  7x -0:10.2.0 core:backspace (input.hidden-input)

Non-Core Packages

Thanks for contributing!
We noticed that this looks like a duplicate of #10774 so you can subscribe there for updates if you'd like.

Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


ppn for iOS and Android

I am currently building a proof of concept in Flutter and I'm interested in integrating an invocation to get into my app on both iOS and Android - I'm using it to pitch and don't have any intention of monetizing (yet).
When I go to the Picovoice website I've been able to customize wakewords for Linux, Windows, or Mac but don't see the ability to customize for iOS and Android - is there a way to do this I'm not seeing?
Really love the Rino engine and hoping this is a smart integration and potential collaborative ecosystem

This is the wrong repo @windowmirror. You probably want to open this issue on Porcupine repo. Rhino is not the wake word engine. So I'm assuming you are inquiring about Porcupine? The enterprise accounts on Picovoice Concosle can create models for Android/iOS. They come with a 30-day free trial.


Remove initial prototype for unstructured

Obsolete as the development for unstructured goes into the declarative model.

bors try


React.ElementType passed as a prop causes error when default prop assignment is applied

Not sure if this is bug, but looks like so.
Flow version: 0.92.1
Expected behavior
When define type:
type Props = { Wrapper: React.ElementType}

and then use ES5 default assignment to this prop like that:
const Component = ({Wrapper = 'div', ...rest}: Props) => (<Wrapper {...rest}>hello</Wrapper>)

I expect getting no flow errors since definition of React.ElementType is
declare type React$ElementType =
  | string
  | React$AbstractComponent<any, any>;

(btw this looks like this refference is not up to date.
moreover setting Component.defaultProps = { Wrapper:  'div' } works just fine
Actual behavior
getting  AbstractComponent is incompatible with string error.

Link to Try-Flow or Github repo: https://flow.org/try/#0JYWwDg9gTgLgBAKjgQwM5wEoFNkGN4BmUEIcA5FDvmQNwBQdMAnmFnAArFjoC8cA3gHUoyMKygAuTFRgA6AKIAbLCCwA7GABUWWAL4MA9AbgASAGKKIAd3kAPVviwATeVGJQ6uCGtTwAwiSQaurwfAAUQiJiWFBwfGROwABuZAA0cLKZlL66UpwQ3ACUcQB8cGEAPMKi4gKZstkwuiUAFliKlhUG1dFQJYUMXj7wAIJqEDBtUAHg3iFx5ZE1Men1jbkcXKjFPGVVUbX8a1g5re2d3QcxJXRGcJPA6FbQANaodGMTUzNBIbJOWAIyAArooYPluAslr0pAlkmRdEA

Oh, this is a super tricky issue! All of the React stuff is just a red herring. The issue is that there's a bug where Flow does not support destructuring with defaults on properties with union types. This is a KP, and @samwgoldman has some work in progress to fix it.
Here's a smaller example

Is there an open issue to track the larger bug?

@alexkrolick yes, this one

Duplicate of #2093


Custom Elements: Properties with dashes in their name

Describe the bug
When compiling to custom elements, if an element property is bind to a variable and that property name has dashes, the binding fails because the property name is incorrectly used in the el.setAttribute method.
To Reproduce
Steps to reproduce the behavior:

Create a jsx mitosis file that has a binding to a property with dashes. For example:

Compile the mitosis file to customElements
Note that inside the update method of the customElement, the name of the property is incorrectly used in the el.setAttribute method. It's missing the quotes. For example:

this.querySelectorAll("[data-name='div-1']").forEach((el) => {
  el.setAttribute(data - user, this.state.name);
});

Fiddle with bug:
https://mitosis.builder.io/?outputTab=webcomponents&code=import+{+useState+}+from+"%40builder.io%2Fmitosis"%3B

export+default+function+MyComponent(props)+{
++const+[name%2C+setName]+%3D+useState("Steve")%3B

++return+(
++++

++++++<input
++++++++css%3D{{
++++++++++color%3A+"red"%2C
++++++++}}
++++++++value%3D{name}
++++++++onChange%3D{(event)+%3D>+setName(event.target.value)}
++++++%2F>
++++++Hello!+I+can+run+in+React%2C+Vue%2C+Solid%2C+or+Liquid!
++++<%2Fdiv>
++)%3B
}
Expected behavior
The name of the property in the setAttribute call should be inside quotes and without spaces:
this.querySelectorAll("[data-name='div-1']").forEach((el) => {
  el.setAttribute("data-user", this.state.name);
});

In case helpful: here is probably where to look for the fix


Pylance takes multiple minutes to analyze file after update to 1.79.0 and analysis is often incomplete

Type: Performance Issue
After updating to 1.79.0, analysis of python files with pylance takes multiple minutes. This analysis sometimes works, but sometimes it fails and I don't get syntax highlighting, typing popups, function signature popups, Ctrl+Click jump to defintion features, or most of the features useful for python. This analysis also is not being cached, after closing a file and re-opening it, I have to re-analyze the whole system. Unclear if this is a vscode issue (caching failure) or a pylance one.
pylance version 2023.6.10
VS Code version: Code 1.79.0 (Universal) (b380da4ef1ee00e224a15c1d4d9793e27c2b6302, 2023-06-07T14:29:00.206Z)
OS version: Darwin arm64 22.5.0
Modes:

System Info

Item
Value

CPUs
Apple M2 Pro (12 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
4, 3, 3

Memory (System)
32.00GB (1.16GB free)

Process Argv
--crash-reporter-id 1093f927-49b3-4db3-8581-bfe91147b8f1

Screen Reader
no

VM
0%

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vscaat:30438848
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
vscccc:30610679
3biah626:30602489
pyind779:30671433
f6dab269:30613381
pythonsymbol12:30671437
2i9eh265:30646982
showlangstatbar:30737416
vsctsb:30748421
pythonms35:30701012
03d35959:30757346
24365598:30736109
pythonfmttext:30731395
pythoncmvfstrcf:30756944
fixshowwlkth:30730052
hidesbindicator:30760978
pythongtdpathcf:30739705
dh2dc718:30763024

/extPython

It looks like this is caused by the Python extension. Please file the issue to the Python extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


How to debug server code  with node --inspect with source map in chrome

Hi,I usually use node-inspector to debug nodejs code.
nuxt.js demo can't work in it.
the source map can't correct load in chrome.
i think the server not provide webpack:///. url parse.
how to debug server-side code with chrome by source map?

Have you find any solution for this @lazycrazy?

In the 0.10 (coming in 1 hour), the source maps is given to the SSR now.


fix: update conditionals sliders when user changes eidolons

Pull Request

Description

Changed sliders to stay at a constant % of range when range changes due to eidolons

Related Issue

Closes #210

Checklist

[x] I have added commit messages that are descriptive and meaningful.
[x] I have tested the changes locally.
[x] I have reviewed the code changes.

Screenshots

This feels like the wrong way to update it since you'd be duplicating the update logic and having to loop through conditionals to find them, we should instead do this at the lowest level possible, on the FormSlider input component itself


perf(utils): useMediaQuery

There is a bug in the current codebase:

Because isSupported is not a reactive variable, so must re-check every time when running the update function.
Please update, thanks!

There is a bug in the current codebase, isSupported need to be called instead of directly used it:

Because `isSupported` is not a reactive variable, so must re-check every time when running the `update` function.
Please update, thanks!

I know it's a bug, I do it in outer const isSupported = (() => window && 'matchMedia' in window && typeof window.matchMedia === 'function')()
so if we use useMediaQuery multiple, we will never call isSupported

There is a bug in the current codebase, isSupported need to be called instead of directly used it:

Because isSupported is not a reactive variable, so must re-check every time when running the update function.
Please update, thanks!

I know it's a bug, I do it in outer const isSupported = (() => window && 'matchMedia' in window && typeof window.matchMedia === 'function')()
so if we use useMediaQuery multiple, we will never call isSupported

Yeah, I mean Because isSupported is not a reactive variable, so must re-check every time when running the update function.