IPAM garbage collector releases IP addresses being assigned to the healthy workloads

Expected Behavior
IPAM garbage collector should keep IP addresses assigned to the existing pods.
Current Behavior
After enabling IPAM garbage collector (after upgrade to calico 3.20.2) all IPs used by the cluster pods are returned to the pools while still be using by the pods.
Calico 3.19.3
Here is the state of the cluster with 3 masters 1 worker and 3 pods using in-cluster networking. Each pod is assigned with IPv4 and IPv6 addresses:
$ kg ipamblock -o yaml | grep handle_id
    - handle_id: vxlan-tunnel-addr-ip-10-10-0-25.eu-west-3.compute.internal
    - handle_id: wireguard-tunnel-addr-ip-10-10-0-25.eu-west-3.compute.internal
    - handle_id: vxlan-tunnel-addr-ip-10-10-1-71.eu-west-3.compute.internal
    - handle_id: wireguard-tunnel-addr-ip-10-10-1-71.eu-west-3.compute.internal
    - handle_id: k8s-pod-network.64526e047ee96537879226191b3461a1bbe45d2edf7d29142148d2953a64a740
    - handle_id: k8s-pod-network.558fcd9720f796216af5198640ab8eca8529fea409a4f07a490548bdf301c0c0
    - handle_id: k8s-pod-network.fd5f1771dc42e78ea90a27b6ff9ab30018cccfb0d41b4b4977b91af2143ee456
    - handle_id: vxlan-tunnel-addr-ip-10-10-2-156.eu-west-3.compute.internal
    - handle_id: wireguard-tunnel-addr-ip-10-10-2-156.eu-west-3.compute.internal
    - handle_id: vxlan-tunnel-addr-ip-10-10-0-76.eu-west-3.compute.internal
    - handle_id: wireguard-tunnel-addr-ip-10-10-0-76.eu-west-3.compute.internal
    - handle_id: k8s-pod-network.64526e047ee96537879226191b3461a1bbe45d2edf7d29142148d2953a64a740
    - handle_id: k8s-pod-network.558fcd9720f796216af5198640ab8eca8529fea409a4f07a490548bdf301c0c0
    - handle_id: k8s-pod-network.fd5f1771dc42e78ea90a27b6ff9ab30018cccfb0d41b4b4977b91af2143ee456

$ kg ipamhandles k8s-pod-network.fd5f1771dc42e78ea90a27b6ff9ab30018cccfb0d41b4b4977b91af2143ee456 -o yaml
apiVersion: crd.projectcalico.org/v1
kind: IPAMHandle
metadata:
  annotations:
    projectcalico.org/metadata: '{"creationTimestamp":null}'
  creationTimestamp: "2021-11-01T07:05:53Z"
  generation: 2
  name: k8s-pod-network.fd5f1771dc42e78ea90a27b6ff9ab30018cccfb0d41b4b4977b91af2143ee456
  resourceVersion: "647358"
  selfLink: /apis/crd.projectcalico.org/v1/ipamhandles/k8s-pod-network.fd5f1771dc42e78ea90a27b6ff9ab30018cccfb0d41b4b4977b91af2143ee456
  uid: f4fbbea9-a443-4880-8e65-cf18f47b52c6
spec:
  block:
    <IP_ADDRESS>/26: 1
    fd90:dc0:ffee:2dbf:ae83:80bf:7143:9040/122: 1
  deleted: false
  handleID: k8s-pod-network.fd5f1771dc42e78ea90a27b6ff9ab30018cccfb0d41b4b4977b91af2143ee456

$ kgpo -o yaml tcp-listener-6bbcdc589d-78qjc
apiVersion: v1
kind: Pod
metadata:
  annotations:
    cni.projectcalico.org/podIP: <IP_ADDRESS>/32
    cni.projectcalico.org/podIPs: <IP_ADDRESS>/32,fd90:dc0:ffee:2dbf:ae83:80bf:7143:9042/128
...
status:
...
  hostIP: <IP_ADDRESS>
  podIP: <IP_ADDRESS>
  podIPs:
  - ip: <IP_ADDRESS>

$ calicoctl ipam show --show-blocks
+----------+--------------------------------------------+------------+------------+-------------------+
| GROUPING |                    CIDR                    | IPS TOTAL  | IPS IN USE |     IPS FREE      |
+----------+--------------------------------------------+------------+------------+-------------------+
| IP Pool  | <IP_ADDRESS>/16                                |      65536 | 11 (0%)    | 65525 (100%)      |
| Block    | <IP_ADDRESS>/26                            |         64 | 2 (3%)     | 62 (97%)          |
| Block    | <IP_ADDRESS>/26                             |         64 | 5 (8%)     | 59 (92%)          |
| Block    | <IP_ADDRESS>/26                             |         64 | 2 (3%)     | 62 (97%)          |
| Block    | <IP_ADDRESS>/26                             |         64 | 2 (3%)     | 62 (97%)          |
| IP Pool  | fd90:dc0:ffee::/48                         | 1.2089e+24 | 3 (0%)     | 1.2089e+24 (100%) |
| Block    | fd90:dc0:ffee:2dbf:ae83:80bf:7143:9040/122 |         64 | 3 (5%)     | 61 (95%)          |
+----------+--------------------------------------------+------------+------------+-------------------+

Calico 3.20.2
After Calico upgrade kube controllers starts marking all IP allocations of the existing pods as leaks and later releases them:
$ ksys logs calico-kube-controllers-5d4b6df4c7-flqwg
...
2021-11-01 07:58:10.188 [INFO][1] ipam_allocation.go 70: Candidate IP leak handle="k8s-pod-network.64526e047ee96537879226191b3461a1bbe45d2edf7d29142148d2953a64a740" ip="fd90:dc0:ffee:2dbf:ae83:80bf:7143:9040" node="ip-10-10-1-71.eu-west-3.compute.internal" pod="kube-system/coredns-866f556cb6-lgk9d"
2021-11-01 07:58:10.188 [INFO][1] ipam_allocation.go 70: Candidate IP leak handle="k8s-pod-network.fd5f1771dc42e78ea90a27b6ff9ab30018cccfb0d41b4b4977b91af2143ee456" ip="fd90:dc0:ffee:2dbf:ae83:80bf:7143:9042" node="ip-10-10-1-71.eu-west-3.compute.internal" pod="default/tcp-listener-6bbcdc589d-78qjc"
2021-11-01 07:58:10.188 [INFO][1] ipam_allocation.go 70: Candidate IP leak handle="k8s-pod-network.1519ea19bf18699e76dcf3064d7031bcfb930c8ef0f27bc24f74414fff599f77" ip="fd90:dc0:ffee:2dbf:ae83:80bf:7143:9043" node="ip-10-10-1-71.eu-west-3.compute.internal" pod="kube-system/calico-kube-controllers-5d4b6df4c7-flqwg"
2021-11-01 08:13:10.193 [WARNING][1] ipam_allocation.go 91: Confirmed IP leak after 15m0.004366191s handle="k8s-pod-network.64526e047ee96537879226191b3461a1bbe45d2edf7d29142148d2953a64a740" ip="fd90:dc0:ffee:2dbf:ae83:80bf:7143:9040" node="ip-10-10-1-71.eu-west-3.compute.internal" pod="kube-system/coredns-866f556cb6-lgk9d"
2021-11-01 08:13:10.193 [WARNING][1] ipam_allocation.go 91: Confirmed IP leak after 15m0.004386973s handle="k8s-pod-network.fd5f1771dc42e78ea90a27b6ff9ab30018cccfb0d41b4b4977b91af2143ee456" ip="fd90:dc0:ffee:2dbf:ae83:80bf:7143:9042" node="ip-10-10-1-71.eu-west-3.compute.internal" pod="default/tcp-listener-6bbcdc589d-78qjc"
2021-11-01 08:13:10.193 [WARNING][1] ipam_allocation.go 91: Confirmed IP leak after 15m0.004386792s handle="k8s-pod-network.1519ea19bf18699e76dcf3064d7031bcfb930c8ef0f27bc24f74414fff599f77" ip="fd90:dc0:ffee:2dbf:ae83:80bf:7143:9043" node="ip-10-10-1-71.eu-west-3.compute.internal" pod="kube-system/calico-kube-controllers-5d4b6df4c7-flqwg"
2021-11-01 08:13:10.200 [INFO][1] ipam.go 903: Garbage collecting leaked IP address handle="k8s-pod-network.64526e047ee96537879226191b3461a1bbe45d2edf7d29142148d2953a64a740" ip="fd90:dc0:ffee:2dbf:ae83:80bf:7143:9040" node="ip-10-10-1-71.eu-west-3.compute.internal" pod="kube-system/coredns-866f556cb6-lgk9d"
2021-11-01 08:13:10.258 [INFO][1] ipam.go 903: Garbage collecting leaked IP address handle="k8s-pod-network.fd5f1771dc42e78ea90a27b6ff9ab30018cccfb0d41b4b4977b91af2143ee456" ip="fd90:dc0:ffee:2dbf:ae83:80bf:7143:9042" node="ip-10-10-1-71.eu-west-3.compute.internal" pod="default/tcp-listener-6bbcdc589d-78qjc"
2021-11-01 08:13:10.356 [INFO][1] ipam.go 903: Garbage collecting leaked IP address handle="k8s-pod-network.1519ea19bf18699e76dcf3064d7031bcfb930c8ef0f27bc24f74414fff599f77" ip="fd90:dc0:ffee:2dbf:ae83:80bf:7143:9043" node="ip-10-10-1-71.eu-west-3.compute.internal" pod="kube-system/calico-kube-controllers-5d4b6df4c7-flqwg"
2021-11-01 08:13:10.441 [INFO][1] ipam.go 562: Releasing affinity for empty block (node has 2 total blocks) blockCIDR="fd90:dc0:ffee:2dbf:ae83:80bf:7143:9040/122" node="ip-10-10-1-71.eu-west-3.compute.internal"
2021-11-01 08:13:10.479 [INFO][1] ipam.go 453: Received block delete block="fd90:dc0:ffee:2dbf:ae83:80bf:7143:9040/122"

However, the pods mentioned in the logs do exist, e.g.:
$ kgpo tcp-listener-6bbcdc589d-78qjc -o jsonpath='{.metadata.annotations}' | jq
{
  "cni.projectcalico.org/podIP": "<IP_ADDRESS>/32",
  "cni.projectcalico.org/podIPs": "<IP_ADDRESS>/32,fd90:dc0:ffee:2dbf:ae83:80bf:7143:9042/128"
}

All the IPAM handles except nodes IPs allocations are gone:
$ kg ipamblock -o yaml | grep handle_id
    - handle_id: vxlan-tunnel-addr-ip-10-10-0-25.eu-west-3.compute.internal
    - handle_id: wireguard-tunnel-addr-ip-10-10-0-25.eu-west-3.compute.internal
    - handle_id: vxlan-tunnel-addr-ip-10-10-1-71.eu-west-3.compute.internal
    - handle_id: wireguard-tunnel-addr-ip-10-10-1-71.eu-west-3.compute.internal
    - handle_id: vxlan-tunnel-addr-ip-10-10-2-156.eu-west-3.compute.internal
    - handle_id: wireguard-tunnel-addr-ip-10-10-2-156.eu-west-3.compute.internal
    - handle_id: vxlan-tunnel-addr-ip-10-10-0-76.eu-west-3.compute.internal
    - handle_id: wireguard-tunnel-addr-ip-10-10-0-76.eu-west-3.compute.internal

$ kg ipamhandles k8s-pod-network.fd5f1771dc42e78ea90a27b6ff9ab30018cccfb0d41b4b4977b91af2143ee456 -o yaml
Error from server (NotFound): ipamhandles.crd.projectcalico.org "k8s-pod-network.fd5f1771dc42e78ea90a27b6ff9ab30018cccfb0d41b4b4977b91af2143ee456" not found

IPs used by the existing pods are officially not in use:
$ calicoctl ipam show --show-blocks
+----------+--------------------+------------+------------+-------------------+
| GROUPING |        CIDR        | IPS TOTAL  | IPS IN USE |     IPS FREE      |
+----------+--------------------+------------+------------+-------------------+
| IP Pool  | <IP_ADDRESS>/16        |      65536 | 8 (0%)     | 65528 (100%)      |
| Block    | <IP_ADDRESS>/26    |         64 | 2 (3%)     | 62 (97%)          |
| Block    | <IP_ADDRESS>/26     |         64 | 2 (3%)     | 62 (97%)          |
| Block    | <IP_ADDRESS>/26     |         64 | 2 (3%)     | 62 (97%)          |
| Block    | <IP_ADDRESS>/26     |         64 | 2 (3%)     | 62 (97%)          |
| IP Pool  | fd90:dc0:ffee::/48 | 1.2089e+24 | 0 (0%)     | 1.2089e+24 (100%) |
+----------+--------------------+------------+------------+-------------------+

IP connectivity to the pods remains functional.
Possible Solution

Steps to Reproduce (for bugs)

Create a k8s 1.19.14 cluster with Calico 3.19 with IPv4 and IPv6 support enabled.
Check that all the pods have IPs assigned and IPAM blocks are correspondingly utilized.
Upgrade Calico to 3.20.2
Watch calico-kube-controllers logs to see that eventually it starts to mark healthy and assigned IPs as leaks and then later releases corresponding resources (IP handlers, block affinities, etc)
Check with calicoctl ipam show that number of IPs used by all the blocks has dropped to the minimum (only IP addresses assigned to the nodes have left).

Context
We are using Calico with IPv6 support enabled even though we don't have Dual Stack enabled on the k8s cluster level. IPv6 support is enabled just to have IPv6 addresses assigned to pods which is enough for our case.
Your Environment

Calico version: 3.20.2
Orchestrator version: Kubernetes 1.19.14
Operating System and version: "Flatcar Container Linux by Kinvolk stable 2905.2.1 for Amazon EC2"

Yikes, well this is horrible. The way the garbage collector is meant to work is that it checks to see if pods exist in the API, and if they don't it marks the IP as a candidate for release. If the pod still doesn't exist after the grace period (default 15m) then it treats it as an IP to be garbage collected. Alternatively, if the node which the IP was allocated on no longer exists, it is immediately considered a leak.
Here's a comment explaining it:

https://github.com/projectcalico/kube-controllers/blob/master/pkg/controllers/node/ipam.go#L588-L594

From your logs, it sounds like you are hitting the former (cleaned up after grace period). So, the question is then "Why"? The logic to determine if a pod IP is valid can be found here: https://github.com/projectcalico/kube-controllers/blob/master/pkg/controllers/node/ipam.go#L737:26
All of that said, if you need to mitigate this on a running cluster, you should be able to disable garbage collection altogether and put the collector into a "Dry run" mode by setting KubeControllerConfiguration LeakGracePeriod to 0.
kubectl edit kubecontrollersconfiguration default

For diagnosing this, to start, could you enable debug logging on kube-controllers before performing this upgrade so we can see the reasoning behind why Calico thinks those IP addresses have been leaked?
It may also be interesting to know if pods created after the upgrade encounter the same issue, or if this only happens for IPs allocated prior to performing the upgrade.
I haven't been able to reproduce this on my own cluster just yet, but will continue trying and let you know if I find anything.

@caseydavenport Thanks for the detailed explanation of the logic. After checking the code and looking at the debug output I can say that it is an issue specific to our setup - we are assigning IPv6 address to the pods using Calico IPAM while IPv6 dual stack support is not enabled in kubelet and hence IPv6 addresses are not reflected in the pod's status.
Here is the lifecycle of a pod's IP allocations during the Calico version update:

Calico version 3.19.3. A pod is created, kgpo -o yaml tcp-listener-6bbcdc589d-rdcj8 (skipping non relevant parts):

apiVersion: v1
kind: Pod
metadata:
  annotations:
    cni.projectcalico.org/containerID: 26bd6eada351d35f498dcdb3282cef4fc3230c806c3e7a661f6e355c2657302a
    cni.projectcalico.org/podIP: <IP_ADDRESS>/32
    cni.projectcalico.org/podIPs: <IP_ADDRESS>/32,fd90:dc0:ffee:3f6b:153f:54ae:31cc:c042/128
...
  labels:
    app: tcp-listener
    pod-template-hash: 6bbcdc589d
  name: tcp-listener-6bbcdc589d-rdcj8
  namespace: default
...
spec:
  containers:
  - command:
    - sh
    - -c
    - nc -v -lk -p 1234 -e echo Hello
    image: alpine:latest
    name: workload-tcp
    ports:
    - containerPort: 1234
      protocol: TCP
...
status:
...
  hostIP: <IP_ADDRESS>
  phase: Running
  podIP: <IP_ADDRESS>
  podIPs:
  - ip: <IP_ADDRESS>
  qosClass: BestEffort

It is visible that an IPv6 address is assigned, but reflected only in the pod's annotations.

Calico version 3.19.3. Information about the pod in the corresponding IPAM block resources:

  apiVersion: crd.projectcalico.org/v1
  kind: IPAMBlock
  metadata:
    name: 10-1-192-64-26
  spec:
    affinity: host:ip-10-10-1-241.eu-west-3.compute.internal
    cidr: <IP_ADDRESS>/26
    attributes:
...
    - handle_id: k8s-pod-network.26bd6eada351d35f498dcdb3282cef4fc3230c806c3e7a661f6e355c2657302a
      secondary:
        namespace: default
        node: ip-10-10-1-241.eu-west-3.compute.internal
        pod: tcp-listener-6bbcdc589d-rdcj8
---
  apiVersion: crd.projectcalico.org/v1
  kind: IPAMBlock
  metadata:
    name: fd90-dc0-ffee-3f6b-153f-54ae-31cc-c040-122
  spec:
    affinity: host:ip-10-10-1-241.eu-west-3.compute.internal
    cidr: fd90:dc0:ffee:3f6b:153f:54ae:31cc:c040/122
    attributes:
...
    - handle_id: k8s-pod-network.26bd6eada351d35f498dcdb3282cef4fc3230c806c3e7a661f6e355c2657302a
      secondary:
        namespace: default
        node: ip-10-10-1-241.eu-west-3.compute.internal
        pod: tcp-listener-6bbcdc589d-rdcj8

Here it is visible that a handle to the pod exists in both IPv4 and IPv6 IPAM blocks. Reverse links to the blocks are also visible in the corresponding ipamhandle resource as well.
3. Calico is updated to 3.20.3. Debug logs of the calico kube controller:
2021-11-02 08:54:26.372 [DEBUG][1] ipam.go 638: Node still exists calicoNode="ip-10-10-1-241.eu-west-3.compute.internal" k8sNode="ip-10-10-1-241.eu-west-3.compute.internal"
2021-11-02 08:54:26.372 [DEBUG][1] ipam.go 641: Checking node calicoNode="ip-10-10-1-241.eu-west-3.compute.internal" k8sNode="ip-10-10-1-241.eu-west-3.compute.internal"
2021-11-02 08:54:26.372 [DEBUG][1] ipam.go 760: Checking cache for pod handle="k8s-pod-network.26bd6eada351d35f498dcdb3282cef4fc3230c806c3e7a661f6e355c2657302a" ip="fd90:dc0:ffee:3f6b:153f:54ae:31cc:c042" node="ip-10-10-1-241.eu-west-3.compute.internal" pod="default/tcp-listener-6bbcdc589d-rdcj8"
2021-11-02 08:54:26.372 [DEBUG][1] workload_endpoint_default.go 73: Converting pod to WorkloadEndpoint pod=&Pod{ObjectMeta:{tcp-listener-6bbcdc589d-rdcj8 tcp-listener-6bbcdc589d- default /api/v1/namespaces/default/pods/tcp-listener-6bbcdc589d-rdcj8 5a509f42-7141-4885-b8af-afd0e84aacba 9124 0 2021-11-02 08:31:09 +0000 UTC <nil> <nil> map[app:tcp-listener pod-template-hash:6bbcdc589d] map[cni.projectcalico.org/containerID:26bd6eada351d35f498dcdb3282cef4fc3230c806c3e7a661f6e355c2657302a cni.projectcalico.org/podIP:<IP_ADDRESS>/32 cni.projectcalico.org/podIPs:<IP_ADDRESS>/32,fd90:dc0:ffee:3f6b:153f:54ae:31cc:c042/128] [{apps/v1 ReplicaSet tcp-listener-6bbcdc589d 97c2b0de-404d-4519-95b4-efb631e6e057 0xc00094d6ea 0xc00094d6eb}] []  [{calico Update v1 2021-11-02 08:31:09 +0000 UTC FieldsV1 {"f:metadata":{"f:annotations":{".":{},"f:cni.projectcalico.org/containerID":{},"f:cni.projectcalico.org/podIP":{},"f:cni.projectcalico.org/podIPs":{}}}}} {kube-controller-manager Update v1 2021-11-02 08:31:09 +0000 UTC FieldsV1 {"f:metadata":{"f:generateName":{},"f:labels":{".":{},"f:app":{},"f:pod-template-hash":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"97c2b0de-404d-4519-95b4-efb631e6e057\"}":{".":{},"f:apiVersion":{},"f:blockOwnerDeletion":{},"f:controller":{},"f:kind":{},"f:name":{},"f:uid":{}}}},"f:spec":{"f:containers":{"k:{\"name\":\"workload-tcp\"}":{".":{},"f:command":{},"f:image":{},"f:imagePullPolicy":{},"f:name":{},"f:ports":{".":{},"k:{\"containerPort\":1234,\"protocol\":\"TCP\"}":{".":{},"f:containerPort":{},"f:protocol":{}}},"f:resources":{},"f:terminationMessagePath":{},"f:terminationMessagePolicy":{}}},"f:dnsPolicy":{},"f:enableServiceLinks":{},"f:restartPolicy":{},"f:schedulerName":{},"f:securityContext":{},"f:terminationGracePeriodSeconds":{}}}} {kubelet Update v1 2021-11-02 08:31:12 +0000 UTC FieldsV1 {"f:status":{"f:conditions":{"k:{\"type\":\"ContainersReady\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Initialized\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}},"k:{\"type\":\"Ready\"}":{".":{},"f:lastProbeTime":{},"f:lastTransitionTime":{},"f:status":{},"f:type":{}}},"f:containerStatuses":{},"f:hostIP":{},"f:phase":{},"f:podIP":{},"f:podIPs":{".":{},"k:{\"ip\":\"<IP_ADDRESS>\"}":{".":{},"f:ip":{}}},"f:startTime":{}}}}]},Spec:PodSpec{Volumes:[]Volume{Volume{Name:default-token-tsskh,VolumeSource:VolumeSource{HostPath:nil,EmptyDir:nil,GCEPersistentDisk:nil,AWSElasticBlockStore:nil,GitRepo:nil,Secret:&SecretVolumeSource{SecretName:default-token-tsskh,Items:[]KeyToPath{},DefaultMode:*420,Optional:nil,},NFS:nil,ISCSI:nil,Glusterfs:nil,PersistentVolumeClaim:nil,RBD:nil,FlexVolume:nil,Cinder:nil,CephFS:nil,Flocker:nil,DownwardAPI:nil,FC:nil,AzureFile:nil,ConfigMap:nil,VsphereVolume:nil,Quobyte:nil,AzureDisk:nil,PhotonPersistentDisk:nil,PortworxVolume:nil,ScaleIO:nil,Projected:nil,StorageOS:nil,CSI:nil,Ephemeral:nil,},},},Containers:[]Container{Container{Name:workload-tcp,Image:alpine:latest,Command:[sh -c nc -v -lk -p 1234 -e echo Hello],Args:[],WorkingDir:,Ports:[]ContainerPort{ContainerPort{Name:,HostPort:0,ContainerPort:1234,Protocol:TCP,HostIP:,},},Env:[]EnvVar{},Resources:ResourceRequirements{Limits:ResourceList{},Requests:ResourceList{},},VolumeMounts:[]VolumeMount{VolumeMount{Name:default-token-tsskh,ReadOnly:true,MountPath:/var/run/secrets/kubernetes.io/serviceaccount,SubPath:,MountPropagation:nil,SubPathExpr:,},},LivenessProbe:nil,ReadinessProbe:nil,Lifecycle:nil,TerminationMessagePath:/dev/termination-log,ImagePullPolicy:Always,SecurityContext:nil,Stdin:false,StdinOnce:false,TTY:false,EnvFrom:[]EnvFromSource{},TerminationMessagePolicy:File,VolumeDevices:[]VolumeDevice{},StartupProbe:nil,},},RestartPolicy:Always,TerminationGracePeriodSeconds:*30,ActiveDeadlineSeconds:nil,DNSPolicy:ClusterFirst,NodeSelector:map[string]string{},ServiceAccountName:default,DeprecatedServiceAccount:default,NodeName:ip-10-10-1-241.eu-west-3.compute.internal,HostNetwork:false,HostPID:false,HostIPC:false,SecurityContext:&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,FSGroupChangePolicy:nil,SeccompProfile:nil,},ImagePullSecrets:[]LocalObjectReference{},Hostname:,Subdomain:,Affinity:nil,SchedulerName:default-scheduler,InitContainers:[]Container{},AutomountServiceAccountToken:nil,Tolerations:[]Toleration{Toleration{Key:node.kubernetes.io/not-ready,Operator:Exists,Value:,Effect:NoExecute,TolerationSeconds:*300,},Toleration{Key:node.kubernetes.io/unreachable,Operator:Exists,Value:,Effect:NoExecute,TolerationSeconds:*300,},},HostAliases:[]HostAlias{},PriorityClassName:,Priority:*0,DNSConfig:nil,ShareProcessNamespace:nil,ReadinessGates:[]PodReadinessGate{},RuntimeClassName:nil,EnableServiceLinks:*true,PreemptionPolicy:*PreemptLowerPriority,Overhead:ResourceList{},TopologySpreadConstraints:[]TopologySpreadConstraint{},EphemeralContainers:[]EphemeralContainer{},SetHostnameAsFQDN:nil,},Status:PodStatus{Phase:Running,Conditions:[]PodCondition{PodCondition{Type:Initialized,Status:True,LastProbeTime:0001-01-01 00:00:00 +0000 UTC,LastTransitionTime:2021-11-02 08:31:09 +0000 UTC,Reason:,Message:,},PodCondition{Type:Ready,Status:True,LastProbeTime:0001-01-01 00:00:00 +0000 UTC,LastTransitionTime:2021-11-02 08:31:12 +0000 UTC,Reason:,Message:,},PodCondition{Type:ContainersReady,Status:True,LastProbeTime:0001-01-01 00:00:00 +0000 UTC,LastTransitionTime:2021-11-02 08:31:12 +0000 UTC,Reason:,Message:,},PodCondition{Type:PodScheduled,Status:True,LastProbeTime:0001-01-01 00:00:00 +0000 UTC,LastTransitionTime:2021-11-02 08:31:09 +0000 UTC,Reason:,Message:,},},Message:,Reason:,HostIP:<IP_ADDRESS>,PodIP:<IP_ADDRESS>,StartTime:2021-11-02 08:31:09 +0000 UTC,ContainerStatuses:[]ContainerStatus{ContainerStatus{Name:workload-tcp,State:ContainerState{Waiting:nil,Running:&ContainerStateRunning{StartedAt:2021-11-02 08:31:12 +0000 UTC,},Terminated:nil,},LastTerminationState:ContainerState{Waiting:nil,Running:nil,Terminated:nil,},Ready:true,RestartCount:0,Image:alpine:latest,ImageID:docker-pullable://alpine@sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a,ContainerID:docker://249c5569129977f2ef6df4fbddf8f6e08d22e00157c6d0e8b04e292e0ff366b9,Started:*true,},},QOSClass:BestEffort,InitContainerStatuses:[]ContainerStatus{},NominatedNodeName:,PodIPs:[]PodIP{PodIP{IP:<IP_ADDRESS>,},},EphemeralContainerStatuses:[]ContainerStatus{},},}
2021-11-02 08:54:26.373 [DEBUG][1] conversion.go 199: PodIPs field filled in ips=[]v1.PodIP{v1.PodIP{IP:"<IP_ADDRESS>"}}
2021-11-02 08:54:26.373 [DEBUG][1] workload_endpoint_default.go 55: Using prefix to create a WorkloadEndpoint veth name prefix="cali"
2021-11-02 08:54:26.373 [DEBUG][1] ipam.go 835: Allocated IP no longer in-use by pod handle="k8s-pod-network.26bd6eada351d35f498dcdb3282cef4fc3230c806c3e7a661f6e355c2657302a" ip="fd90:dc0:ffee:3f6b:153f:54ae:31cc:c042" node="ip-10-10-1-241.eu-west-3.compute.internal" pod="default/tcp-listener-6bbcdc589d-rdcj8"
2021-11-02 08:54:26.373 [INFO][1] ipam_allocation.go 70: Candidate IP leak handle="k8s-pod-network.26bd6eada351d35f498dcdb3282cef4fc3230c806c3e7a661f6e355c2657302a" ip="fd90:dc0:ffee:3f6b:153f:54ae:31cc:c042" node="ip-10-10-1-241.eu-west-3.compute.internal" pod="default/tcp-listener-6bbcdc589d-rdcj8"

There are no IP leak checks for IPv4 addresses, only for IPv6 address. And we can see that IPv6 address is marked as leak candidate because the IPv6 address couldn't be found in the pod's status (after converting pod to workload endpoint).

After that the handles and corresponding IP allocations are cleaned up.

I see the next problems here:

A pod handle is marked as a leak even if only one of the associated IP allocations is considered to be stale.
Even though it is very specific to our setup, but the GC logic currently doesn't detect if a pod is actually assigned with an IPv6 address when it wasn't reflected in the pod's status. If it is the only possible implementation for now, then probably it should be stated in the documentation that Calico >=3.20 works only with some specific versions of k8s (can't recall now when PodIPs were introduced to the pod's status in k8s).

The need for DualStack feature enabled in kubelet to have both IPv4 and IPv6 addresses enumerated in the pod's status is just my assumption for now. I will try to check it later sometime if there will be no other evidences or confirmations for that.

Ah yeah, that's a tricky one. It sees that the IPv6 address isn't actually on the pod, and marks it as a leak. Since the IPv4 address has the same handle, both are released. The logic in conversion.go prefers the pod.Status fields if present: https://github.com/projectcalico/libcalico-go/blob/master/lib/backend/k8s/conversion/conversion.go#L201:6
On option would be to update the IPAM garbage collector to skip pods that have a mismatched pod.Status.PodIPs and projectcalico.org/podIPs annotation - this would mean that garbage collection as a whole wouldn't work on your cluster, but is an additional safeguard against non-standard scenarios like this.
The other, more correct and likely more difficult to implement fix, would be to aggregate addresses across handles and only release if every IP allocated with that handle is determined to be a leak. With this change in your scenario, the "valid" IPv4 address would block release even though the GC thinks the IPv6 address is gone.
Thanks for the quick and detailed response, and nice job identifying the issue!

I see a lot of reactions to the original post - are you guys all experiencing the same issue using Dual-stack enabled in Calico but not in Kubernetes? Or is there a separate root cause?

Ah yeah, that's a tricky one. It sees that the IPv6 address isn't actually on the pod, and marks it as a leak. Since the IPv4 address has the same handle, both are released. The logic in conversion.go prefers the pod.Status fields if present: https://github.com/projectcalico/libcalico-go/blob/master/lib/backend/k8s/conversion/conversion.go#L201:6

Could there be any complications if getPodIPs() will collect IPs from all possible sources? I.e. if instead of picking only one set of IPs (podIPs, podIP or annotations) it returned a union of those sets?

I see a lot of reactions to the original post - are you guys all experiencing the same issue using Dual-stack enabled in Calico but not in Kubernetes? Or is there a separate root cause?

They are actually from the same organization as me :)

I believe this PR will fix your scenario: https://github.com/projectcalico/kube-controllers/pull/901
It updates the controller to only release an IP if all of the IPs with that handle are considered leaked.
We could consider also augmenting the controller to look at the annotations, but I think that's a bit less clearly the right thing because not all of the Calico code will have that logic and it's important that components like Felix only look at the Status fields, if they are set.
I'd probably also recommend that you enable dual-stack in k8s separately from this, since there may be other issues in the setup like this one. One that comes to mind is that IPv6 addresses probably won't be considered during policy calculation. Obviously if it's working for you you can keep it that way, though!

Merged a fix for this this morning, and I have back-ported it to v3.20 and v3.21, so it will be in the next patch releases. Keep an eye out and let me know if it works for you!

Thank you very much @caseydavenport for looking into this issue and for all the great work on the project!


Halo profiles

Pull Request Test Coverage Report for Build 2061

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.728%

Totals

Change from base Build 2057:
0.0%

Covered Lines:
539

Relevant Lines:
569

💛  - Coveralls

Pull Request Test Coverage Report for Build 2061

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.728%

Totals

Change from base Build 2057:
0.0%

Covered Lines:
539

Relevant Lines:
569

💛  - Coveralls

I'll be happy to review this once it's ready. Just let me know when!

The python tests are in there now but my results do not converge with benchmark data (from colossus) even though the relative tolerance is only set to 1e-3. The same tests pass in C. I believe this is due to 1. the different mean mass densities adopted in the two packages that we discussed earlier, and 2. some numerical issue with python, because no real calculation is done in the python wrapper. I haven't been able to locate the exact problem.

The probability that python has a numerical issue at 1-3 is very small. I'd double check the code.

If we can find packages other than colossus for benchmark that would be great.

Hi Kuan,
You can compare it with NumCosmo.

Hi Kuan,
You can compare it with NumCosmo.

I'll do that asap, thanks for reminding me!

@tmcclintock Can you please look through this?


No clipboard in Github action runner breaks T5

Since github action runners don't run xserver (nor is there a way to start one) tests that use the clipboard (currently only T5) break.
Maybe find a way to fix that? Don't use the clipboard, something like xdummy, maybe selenium has way to do that?

no longer relevant


MSID: 95427 Version: 1 DOI: 10.1101/2<IP_ADDRESS>6182

MSID: 95427
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>6182
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=95427
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>6182

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/95427v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>6182
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/95427/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

Error in emails/correspondence. Root cause is the authors PDF where two authors are incorrectly(?) identified as corresponding.

🤮 🤮 🤮 🤮


Can't load after syncing through BMBF.

Game version Modded 1.27
Tried all concurrent versions of BetterSongSearch
dlopen failed cannot locate symbol "ZN17RuntimeSongLoader3AP/19GetCustom
Levels PackEv" referenced by "/data/data/com.beatgames.beatsaber/file s/bBetterSongSearch.so"...

I had this issue with some versions too, I will try to reproduce it on my end. Do you have any other mods installed?

I need a list of mods you have, I can't reliably reproduce it


Integrate Reverb for use as buffer

Update Algorithms to use reverb tables
https://github.com/deepmind/reverb
A stretch goal could be to build pytorch integration for reverb

@Sharad24 I was testing out using two different styles of sampling as we had discussed -

Using inbuilt tf.data.Dataset support to get batched samples
Using Client.sample() method and then stacking to build batch

You can see the code here. Results for benchmarking
Existing ReplayBuffer: Push = 0.00012765422000011312 | Sample = 3.264390999975149e-05
With td dataset: Push = 0.001023654710000119 | Sample = 0.0015271164499998122
With regular reverb sampling: Push = 0.0009734939100002521 | Sample = 0.003991213190000053

This is averge time for the pushing to and sampling from the buffer.
Im guessing that the existing buffer is fastest since its a simple single machine test so the overhead of reverb server is there. But comparing between 1 and 2, for pushing 1 is faster and sampling 2 is faster. Probably since tf.data.Dataset has a lot of optimisations for creating batches whereas the overhead just makes it slow for pushing.
Maybe the sampling can be implmented better than what I am currently doing?

I think its ok, because we dont really aim to see a benefit for Reverb in the Single Agent setting, its more aimed towards Distributed Training.

What are the sizes, etc here?

While we're at it, it would be good to have an option for specifying if one wants to use the regular ReplayBuffer or Reverb. (i.e., in the case of distributed and single agent training)

What are the sizes, etc here?

size=100, batch_size=8. Ill try it with larger also

While we're at it, it would be good to have an option for specifying if one wants to use the regular ReplayBuffer or Reverb. (i.e., in the case of distributed and single agent training)

Yeah, that would be good. I'll add it.
Also lmk what you think of the comparison between 1 and 2. Since there isnt much difference between push times for both but a factor of 2 for sample times, I think we should go with tf.data.Dataset route. Thats unless there is a much better way to implemet sampling and batching for 2 than my current method


Configure google-fluentd correctly for ct-mirror

Previously, collection of logs was only correctly configured for ct-server.

There may well be a better way to determine what kind of node node_init.sh is running on than inspecting the Docker images. Any suggestions? The GCE documentation suggests setting custom metadata on the VM instance when it's created and reading that back in node_init.sh, so I could do that if you'd prefer it.


RefreshOnActivate in "Inventory Picks" (9316) and "Inventory Put-aways" (9315) pages

In other issues as https://github.com/microsoft/ALAppExtensions/issues/17516 I requested to add as standard the following property in the requested pages.
RefreshOnActivate = true;
This only can be done by standard because we cannot extend this property.
Thank you

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 13682.

Availability update: We will publish a fix for this issue in the next update for release 23.
Build ID to track: .


Allow setting consistency mode in Consul Namer and Dtab Store

As per https://www.consul.io/docs/agent/http.html, there are 3 consistency modes in Consul:

default
consistent
stale

It looks like that using default consistency mode with high rate of HTTP requests can lead to extra leader re-elections (https://groups.google.com/forum/#!msg/consul-tool/NrRRxem0Q_g/H9GFHRH3GQAJ)
The proposal is to add an extra option to allow tuning consistency mode for namer and dtab store.
I see 2 possible options:
1)
consistency: default/consistent/stale

allowStale: true/false

@Ashald if I get to vote I'd prefer option 1 and nice find on the leader election behavior was beginning to think I was seeing a consul bug.

@JustinVenus yeah, that's exactly how it's being implemented - please check out #666

Fixed by #666


Avoid exceptions disposing the dependency scope.

When the Dispose method of the StructureMapDependencyScope is called, an exception is thrown trying to access to System.Web.HttpContext.Current. Checking the value before using it will avoid this exception.

Would be great to see the merged as I've also encountered this issue and have manually patched for now...

But when i install from https://www.nuget.org/packages/StructureMap.MVC5/,  ArgumentNullException: is not handled

I'm still seeing this exception.


Remove subheading from workbasket add/edit items page.

TP2000-517 Remove subheading from edit page

Why

Since pages have been moved around and new prompts added to the workbasket add/edit page (it's now under a titled tab), the current subheading differs to other tabs and is confusing to screen readers. The subheading should therefore be removed.
What

Removed subheading from the workbasket add/edit page.

Checklist

Requires migrations? No
Requires dependency updates? No

Codecov Report

Merging #680 (22367d3) into master (bc1e019) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #680   +/-   ##
=======================================
  Coverage   93.88%   93.88%
=======================================
  Files         343      343
  Lines       22157    22157
  Branches     1689     1689
=======================================
  Hits        20802    20802
  Misses       1041     1041
  Partials      314      314

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Sign in Button is not Working someone Resolve this Issue

This Issue is Labelled under Hacktoberfest-accpeted , level 3 , gssoc-ext , etc.

I want to work on this issue pls assign me @CogitoKunal

Hii Kunal, can you assign this issue to me as I have worked on it and created the pull request.


RasterTile / mailbox fix

Shut down the mailbox on raster tiles as with GeometryTile to avoid processing messages after it's queued for destruction

I tried a few things, but I'm still getting a variety of strange Metal-related errors with no obvious connection to raster tiles whenever I use a raster style.

Particularly odd is:
-[MTLDebugRenderCommandEncoder endEncoding_private]:7432: failed assertion `End Encoding Validation
Writing to attachment 0 with protection options<PHONE_NUMBER>000000 missing bits set in command buffer protection options<PHONE_NUMBER>000002'


numpy.fromstring() is deprecated

As the DeprecatedWarning says please switch to using numpy.frombuffer

I only see that the sep argument (which isn't used in meshio) is deprecated; cf. https://docs.scipy.org/doc/numpy/reference/generated/numpy.fromstring.html. What numpy version are you using?

Ah wait, is the use without sep deprecated? Playing around with it now.

I get this output
/tmp/buildbot/18446/venv/lib/python3.5/site-packages/meshio/gmsh_io.py:222: DeprecationWarning: The binary mode of fromstring is deprecated, as it behaves surprisingly on unicode inputs. Use frombuffer instead
  data = numpy.fromstring(f.read(num_bytes), dtype=dtype)

same for line 290, we are using numpy 1.14.4 (or the most current, buildbot creates a new virtualenv every time)

Alright, fixed in master. Will be part of the next release. Thanks for the report!


Credentials not properly encoded in XE2

The problem is in this call to Base64EncodeStr function. In Delphi XE2 the encoded string is wrong so the authentication fails.
To test I replaced this call with EncdDecd.EncodeString and the problem was gone. I'm not sure this is the best way to fix the problem because EncdDecd unit is not part of the standard RTL and may not be available in all Delphi versions.
I tried to find a newer version of DCPcrypt, but looks like we already have the newest version: https://bitbucket.org/wpostma/dcpcrypt2010

This brings me to an idea:
Maybe this is the reason I cannot connect to my own C#/.NET webservice via SSL/HTTP(S) and HTTP Basic authentication with Delphi XE ! I always got HTTP error “403 / Forbidden”…
I ´ll try your idea…
Regards,
Patrick
Von: Erick Sasse<EMAIL_ADDRESS>Gesendet: Dienstag, 14. Juli 2015 04:53
An: fabriciocolombo/delphi-rest-client-api
Betreff: [delphi-rest-client-api] Credentials not properly encoded in XE2 (#49)
The problem is in this callhttps://github.com/fabriciocolombo/delphi-rest-client-api/blob/master/src/RestClient.pas#L285 to Base64EncodeStr function. In Delphi XE2 the encoded string is wrong so the authentication fails.
To test I replaced this call with EncdDecd.EncodeString and the problem was gone. I'm not sure this is the best way to fix the problem because EncdDecd unit is not part of the standard RTL and may not be available in all Delphi versions.
I tried to find a newer version of DCPcrypt, but looks like we already have the newest version: https://bitbucket.org/wpostma/dcpcrypt2010
—
Reply to this email directly or view it on GitHubhttps://github.com/fabriciocolombo/delphi-rest-client-api/issues/49.

confirmed: after exclude the Delphi XE "Base64EncodeStr" function and its replacement with the correct hardcoded string (for testing), it works fine - 403 error was gone!

Good catch @esasse.
The Base64EncodeStr is overloaded with an ansistring and unicode version, then the unicode version was called and cause the problem.
I replace DCPcrypt in favor to EncdDecd.

@fabriciocolombo was fast, thanks! :smile:
I was writing a comment with a workaround, so I'm going to post anyway, just in case it could be useful to someone.
You can encode the credentials and add it to the header instead of using the SetCredentials:
RestClient.Resource('http://example.com')
                   .Header('Authorization', EncodedCredentials)
                   .Get<TPerson>()

Yes, the authorization header is included only if not present.
https://github.com/fabriciocolombo/delphi-rest-client-api/blob/master/src/RestClient.pas#L283
Please let me know if it's working now @esasse  and @PKrause79

It's working now, thanks @fabriciocolombo!


is it wrong result

<% @frinds =<EMAIL_ADDRESS>@currentlon.lon], 500, :units => :km) %>
<% @frinds.each do |get|  %>

<% if get.lat.blank? || get.lon.blank? %>
<% else %>
1st coords & <%=get.lat%>,<%=get.lon%> &  2nd coords & <%= @currentlat.lat %>,<%= @currentlon.lon %> & result  <%= get.bearing_to([@currentlat.lat,@currentlon.lon],:units => :km) %>
<% end %>
1st coords & 30.8292,30.8189 & 2nd coords & 30.8292,30.8189 & result 90.0
1st coords & 30.8295,30.8188 & 2nd coords & 30.8292,30.8189 & result<PHONE_NUMBER>767135
1st coords & 30.8293,30.8184 & 2nd coords & 30.8292,30.8189 & result<PHONE_NUMBER>741604
1st coords & 30.8837,30.6652 & 2nd coords & 30.8292,30.8189 & result<PHONE_NUMBER>6847883
1st coords & 31.0156,32.6604 & 2nd coords & 30.8292,30.8189 & result<PHONE_NUMBER>020435

What is the Geocoder issue here?

I believe the question that he's asking is if the co ordinates and the results from bearing_to actually line up mathimatically

@metalsoft10 I don't quite understand the question, but if it is (as @TrangPham suggests) about bearing calculation accuracy, no, the precision isn't perfect. Geocoder uses some standard algorithms that are a balance of accuracy and simplicity. The coordinates in your example are extremely close together. Accuracy will be better if they're farther apart. Does that help?

Closing due to inactivity.


db.open is broken

What happens?
Tried all manner of operations to get db.open to work, and seems to fail.
Main error is:
Error: Opening the database failed with error: tried to read past the end

or
Uncaught (in promise) RuntimeError: memory access out of bounds

To Reproduce
        const response = await fetch(`http://localhost:8010/download-db`);
        const arrayBuffer = await response.arrayBuffer();
        await db.registerFileBuffer('tpch_0_01.db', new Uint8Array(arrayBuffer))
        //await db.open('tpch_0_01.db');
        db.open({ path: `http://localhost:8010/download-db` })

also tried
await conn.query(`ATTACH 'http://localhost:8010/download-db' (READ_ONLY)`)

also
await conn.query(`USE 'tpch_0_01.db'`)

Browser/Environment:
Firefox
Device:
m2
DuckDB-Wasm Version:
106 (0.9.2) db version also matched
DuckDB-Wasm Deployment:
https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>Full Name:
Andrew Grosser
Affiliation:
Sourcetable
Seems it should work :
https://github.com/duckdb/duckdb-wasm/discussions/1634

await conn.query(`ATTACH 'http://localhost:8010/filename.db' (READ_ONLY)`);

This + potentially USE 'filename' has to work, for sure in version matching duckdb 0.10.0 (any version published in the last two weeks), probably also before but not sure.

Thanks! Exactly doing this in the spatial example works!


Recent versions seems to have broken auth when POSTGRES_PASSWORD is set

I've tried 9.6 and 9.5 and alpine variants too.
Getting rid of the POSTGRES_PASSWORD fixes it so I'm generally ok, but this could trip other people up too... looks like it might be the issue at: https://github.com/MagicStack/asyncpg/issues/158
compose:
        postgres_sx:
                image: postgres
                environment:
                  - POSTGRES_PASSWORD=postgres

postgres_sx_1  | FATAL:  password authentication failed for user "postgres"
postgres_sx_1  | DETAIL:  Connection matched pg_hba.conf line 95: "host all all all md5"
postgres_sx_1  | FATAL:  password authentication failed for user "postgres"
postgres_sx_1  | DETAIL:  Connection matched pg_hba.conf line 95: "host all all all md5"
postgres_sx_1  | FATAL:  password authentication failed for user "postgres"
postgres_sx_1  | DETAIL:  Connection matched pg_hba.conf line 95: "host all all all md5"
services_sx_1  | { error: password authentication failed for user "postgres"
services_sx_1  |     at Connection.parseE (/app/services/sx/node_modules/pg-promise/node_modules/pg/lib/connection.js:539:11)
services_sx_1  |     at Connection.parseMessage (/app/services/sx/node_modules/pg-promise/node_modules/pg/lib/connection.js:366:17)
services_sx_1  |     at Socket.<anonymous> (/app/services/sx/node_modules/pg-promise/node_modules/pg/lib/connection.js:105:22)
services_sx_1  |     at emitOne (events.js:115:13)
services_sx_1  |     at Socket.emit (events.js:210:7)
services_sx_1  |     at addChunk (_stream_readable.js:250:12)
services_sx_1  |     at readableAddChunk (_stream_readable.js:237:11)
services_sx_1  |     at Socket.Readable.push (_stream_readable.js:195:10)
services_sx_1  |     at TCP.onread (net.js:586:20)

Could be related to https://github.com/docker-library/postgres/issues/203#issuecomment-255200501.

@dpnova which version of pg-promise are you using? Probably on of 5.x? Try 6.x, and if the problem is still there, it means the issue isn't with the driver, but elsewhere.

@yosifkit I had removed the volumes between each test
@vitaly-t it seems the libs I'm using pull in 5.x. I can try 6.. thanks.
In general it just seems odd that this started happening after I removed my local postgres images and pulled in the same postgres version but latest dockerhub image..

In general it just seems odd that this started happening after I removed my local postgres images and pulled in the same postgres version but latest dockerhub image..

In this case it is very unlikely that swapping the driver will make any difference. But you can still try.

The Postgres image itself works fine:
$ docker pull postgres:9.6
...
Digest: sha256:e92fe21f695d27be7050284229a1c8c63ac10d88cba58d779c243566e125aa34
$ docker run -d -e POSTGRES_PASSWORD=12345 --name=posty postgres:9.6
$ docker logs --tail=6 posty
PostgreSQL init process complete; ready for start up.

LOG:  database system was shut down at 2017-07-07 20:32:23 UTC
LOG:  MultiXact member wraparound protections are now enabled
LOG:  autovacuum launcher started
LOG:  database system is ready to accept connections
$ docker run -it --rm --link posty:postgres postgres:9.6 psql -h postgres -U postgres
Password for user postgres:
psql (9.6.3)
Type "help" for help.

postgres=#

Can you connect to your postgres container via psql?

It works fine without POSTGRES_PASSWORD set in docker compose env. For some
reason that's when it breaks. I'll try repro with regular docker.
On Sat, 8 Jul. 2017, 6:47 am yosifkit<EMAIL_ADDRESS>wrote:

The Postgres image itself works fine:
$ docker pull postgres:9.6...Digest: sha256:e92fe21f695d27be7050284229a1c8c63ac10d88cba58d779c243566e125aa34
$ docker run -d -e POSTGRES_PASSWORD=12345 --name=posty postgres:9.6
$ docker logs --tail=6 postyPostgreSQL init process complete; ready for start up.
LOG:  database system was shut down at 2017-07-07 20:32:23 UTCLOG:  MultiXact member wraparound protections are now enabledLOG:  autovacuum launcher startedLOG:  database system is ready to accept connections
$ docker run -it --rm --link posty:postgres postgres:9.6 psql -h postgres -U postgresPassword for user postgres: psql (9.6.3)Type "help" for help.
postgres=#
Can you connect to your postgres container via psql?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/docker-library/postgres/issues/308#issuecomment-313789088,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOCN5PDWuH-ibb3n-WnZwPpE_8UAIqOks5sLplagaJpZM4OPOEw
.

FYI, I distilled this minimalistic recipe that exhibits the problem, but still using docker compose. @dpnova, were you able to determine if the same happens with plain docker or not?

I've only seen this in docker. Sorry travelling overseas atm
pon, 24. jul 2017. 10.05 PM Emanuele Gaifas<EMAIL_ADDRESS>је
написао/ла:

FYI, I distilled this https://github.com/lelit/asyncpg-issue158
minimalistic recipe that exhibits the problem, but still using docker
compose. @dpnova https://github.com/dpnova, were you able to determine
if the same happens with plain docker or not?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/docker-library/postgres/issues/308#issuecomment-317538700,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOCN8U-DWSv22uZU1KxvI7f-XuNc49Oks5sRPkZgaJpZM4OPOEw
.

Sorry I mean in docker compose.
uto, 25. jul 2017. 08.45 AM David P. Novakovic<EMAIL_ADDRESS>је написао/ла:

I've only seen this in docker. Sorry travelling overseas atm
pon, 24. jul 2017. 10.05 PM Emanuele Gaifas<EMAIL_ADDRESS>је
написао/ла:

FYI, I distilled this https://github.com/lelit/asyncpg-issue158
minimalistic recipe that exhibits the problem, but still using docker
compose. @dpnova https://github.com/dpnova, were you able to determine
if the same happens with plain docker or not?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/docker-library/postgres/issues/308#issuecomment-317538700,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOCN8U-DWSv22uZU1KxvI7f-XuNc49Oks5sRPkZgaJpZM4OPOEw
.

I added an alternative recipe using plain docker and got the same problem.

The problem is still there in PG10b3: asyncpg folks could not replicate the problem with a local build of PostgreSQL.

As noted over at https://github.com/MagicStack/asyncpg/issues/158 the problem appeared around the same time the changes were made to the image build. I reckon https://github.com/docker-library/postgres/commit/d8abce4e82533aa2673da9ba9a5a8385589ed693 looks suspect

FYI, current asyncpg master does not manifest the problem anymore.

Hi just a quick update! I was mistaken that using POSTGRES_PASSWORD_FILE environment variable instead of POSTGRES_PASSWORD was a valid workaround. As you have mentioned the transition to pg10 did not happen. I am going to stick with v9.6.7 for now.

I was facing the same issue when deploying the PostgreSQL image on Kubernetes. The problem was really subtle, but was caused by a trailing newline character on my password environment variable. That's why when creating base64 secrets using the command line, one should always use echo -n:
$ echo 123 | base64
MTIzCg==
$ echo -n 123 | base64
MTIz

What makes this hard to spot, is that there's no visible difference when inspecting the container's environment variables. Here's an example using the password hunter2 with a trailing \n:
root@test-postgres-5b8884c9db-vgwcq:/# env | grep POSTGRES_PASSWORD
POSTGRES_PASSWORD=hunter2
root@test-postgres-5b8884c9db-vgwcq:/# PGPASSWORD=hunter2 psql -U myapp -h test-postgres
psql: FATAL:  password authentication failed for user "myapp"
root@test-postgres-5b8884c9db-vgwcq:/# [[ "$POSTGRES_PASSWORD" = "hunter2" ]]
root@test-postgres-5b8884c9db-vgwcq:/# echo $?
1
root@test-postgres-5b8884c9db-vgwcq:/# echo "$POSTGRES_PASSWORD" | md5sum
1235d50a49d1d58d7af22ad118827eac  -
root@test-postgres-5b8884c9db-vgwcq:/# echo "hunter2" | md5sum
6a0f0731d84afa4082031e3a72354991  -

And without it:
root@test-postgres-5b8884c9db-zs7m6:/# env | grep POSTGRES_PASSWORD
POSTGRES_PASSWORD=hunter2
root@test-postgres-5b8884c9db-zs7m6:/# PGPASSWORD=hunter2 psql -U myapp -h test-postgres
psql (9.6.8)
Type "help" for help.

myapp=# \q
root@test-postgres-5b8884c9db-zs7m6:/# [[ "$POSTGRES_PASSWORD" = "hunter2" ]]
root@test-postgres-5b8884c9db-zs7m6:/# echo $?
0
root@test-postgres-5b8884c9db-zs7m6:/# echo "$POSTGRES_PASSWORD" | md5sum
6a0f0731d84afa4082031e3a72354991  -
root@test-postgres-5b8884c9db-zs7m6:/# echo "hunter2" | md5sum
6a0f0731d84afa4082031e3a72354991  -

The fact that the PostgreSQL server in this image allows local connections without a password makes the debug of this issue even more confusing:
root@test-postgres-5b8884c9db-vgwcq:/# psql -U myapp
psql (9.6.8)
Type "help" for help.

myapp=# \q

That's why testing the connection using psql without -h isn't enough.

Since the original issue here appears solved, I'm going to close. :+1:


4.2.5. and 4.2.6 seems to have an issue with Enterprise.Library.Logging log provider: StackoverflowException occurs at AppPool idle time shutdown

I invested yet two days searching around and try to track down this StackoverFlowException.
We use a MVC Web App Wrapper to serve an Angular 7 SPA with .NET 4.6, and a separate WebAPI 2 project modelling the backend for Anglular REST data calls.
We base on Owin 4.0 to use auth. middleware, etc. and among others we used LibLog 4.2.6 (newer is not supported with that environment).
I commented out a lot of things I thought it was the source of the exception (no callstack, no useful info in Windows Eventlogs). At last I commented out this line of code:
app.SetLoggerFactory(new LibLogLoggerFactory());
EDIT: LibLogLoggerFactory is the code generated by the liblog NuGet package.
And the stackoverflowexception went away!
I reverted LibLog to v4.2.5 (version the IdentityServer v3 uses and I thought it should be stable), but same problem: Idle timeout of the AppPool happens and just shutdown the w3wp.exe process too.
Faulting application name: w3wp.exe, version: 8.5.9600.16384, time stamp: 0x5215df96 Faulting module name: ntdll.dll, version: 6.3.9600.19304, time stamp: 0x5c7f684f Exception code: 0xc0000008 Fault offset: 0x000000000009269a Faulting process id: 0x3260 Faulting application start time: 0x01d5236c2bf3bc6d Faulting application path: c:\windows\system32\inetsrv\w3wp.exe Faulting module path: C:\Windows\SYSTEM32\ntdll.dll Report Id: a688d86c-8f60-11e9-8490-a088696de88f Faulting package full name:  Faulting package-relative application ID:

Hi @netsrotr, sorry to hear you are having problems. This is the first time I've heard of a problem of this type in the several years this project has been around. I literally have no idea how to reproduce this; it could be any multitude of things to be honest.
I'm focusing my support on the 5.x line (which doesn't support EntLib logging as it is obsolete). However if you could supply a minimal project that clearly reproduces the issue as a github repository that I can clone, then I can take a look.

Yes, I know it is obsolete old techn., we still have to use/support. You can close the issue, I was happy way too early as the problem continue and still exists, it is not repro. 100%, that opened case was just the 1% it did not occured (for any other reason). But thanks for your response and sorry about that.
Profiling now and hope I can get some ideas that way by catching the last possibly recursive call(s) causing that SOE...

Thanks for getting back to me so quickly. I understand that you have to support and I understand there are may libs using LibLog thus am happy to look at 4.x issues critical issues. If it turns out to be LibLog, please re-open (with a repro) and I'l take a look.


v 2.3.6458.21374 no longer sync

v. 2.3.6458.21374 does add new blocks but won't download blocks to catch up with the total?  what do i do?  if i need to install a new version, how to i ensure it will restore?  or do i have to start from scratch?

Please consider using a boostrap file from here https://github.com/CityOfZion/awesome-neo#blockchain-bootstrap-files

thanks. I am running net v. 2.3.6458.21374, however truly i have never known whether it's the neo-gui or the neo-cli (and what's the difference).  i see that both are 2.7.6 now.  how do i know which file to download (there are several files in the bootstrap section) and precisely what to to do with the file once downloaded.  it seems reading the tutorial that i would unzip and save to the neo/chain directory?  but then what?  will neo see it or do i need to open it ...it's not at all clear to me.  Sorry and thanks!

Hello @jaydeeatechs , is this problem still happen? Did you try to run it using the last version?

Hi  @jaydeeatechs ，we're planning to close this issue due to inactivity.
If you still have problems, please reopen this issue or create a new one.
@lock9 can you help to close this ,thanks!

Hi Shine, i hope you and your family are safe and well.
Do you know how to bootstrap while assuring the keys are not lost in the process? I was too concerned i might mess up and so did nothing. If you have a published procedure, could you send it? Do you need my wallet version # to do so?
Thanks you. Take care.
Sent via mobile

On Jul 15, 2019, at 10:29 PM, Shine Li<EMAIL_ADDRESS>wrote:

Hello @jaydeeatechs , is this problem still happen? Did you try to run it using the last version?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


icon-social size

Hi,
Thanks for sharing this fantastic blog.
I want to change the icon-social size，from 3rem to 2rem，like this:
.icon-social {   width: 2rem;   height: 2rem; }
so it works at homepage, but in the single post page,  icon-social size remains 3rem.
I don't know how to change it.

Did you tried using customCSS option?

Wait, I guess you didn't know this theme have custom CSS option. You can open your site config.toml and on params add this line into it:
[params]
    customCSS = ["/css/icon.css"]

Then, make new file on static/css/icon.css, and write your custom CSS into it:
.icon-social {
    width: 2rem;
    height: 2rem;
}

Viola, it should override the default icon's size.

oh, I find the reason.
I make new file "custom.css" in static folder, and I use this:
`	# If false, use minified CSS (ui.min.css)
debugCSS = false
# Custom CSS
customCSS = ['custom.css']

`
so it does work in homepage , bu not in other pages.
I change the "debugCSS = true",so it works.
thank you.

It should works even without the debugCSS option. Actually, the debugCSS option is gone on newer version of the theme.


Add CurrentBestLearning

This pull request :

[x] Adds currentBestLearning.
[x] Tests the algorithm on the restaurant dataset.

@norvig Please have a look. I have used really simple generalisation and specialisation functions for this algorithm. They can be readily changed by tuning the parameters of the algorithm.

@norvig I have resolved the conflicts. Please have a look.


Question: Custom filestructure with one .resx file per screen

Hi!
Thanks for creating this awesome project. :)
I am trying to figure out how its possible to have another filestructure than the original AppResource.[lang].resx and instead have one .resx file per screen.
The file structure I am looking for would be something like this:
Resources
    - Localization
        - StartView
            - StartView.da-DK.resx
            - LoginView.en-US.resx
            - ...
        - LoginView
            - LoginView.da-DK.resx
            - LoginView.en-US.resx
            - ...

Would this be possible? and if so how? Do I have to create a CustomResource manager? @SirJohnK
I tried adding multiple multiple resources as seen below, but I couldn't get it to work:
settings.AddResource(Resources.Localization.StartView.StartView.ResourceManager);
settings.AddResource(Resources.Localization.QrScanView.QrScanView.ResourceManager);
settings.AddResource(Resources.Localization.ModalAbout.ModalAbout.ResourceManager);

and then using it in a file like this (after successfully implementing your guide from here on how to use ContentView
DeviceIDText = new(() => resourceManager["deviceid"]);

It seems that it is not able to find the translated text of deviceid - and I suspect its related to my AddedResources?

@SirJohnK Awesome! Thank you so much. :)
It works really great. I think that this, a long with your guide for contentview, would be great for the readme!
If I get time, I can try to make a PR with the information explained
Last question, would it be possible to add some kind of key to identify what file the resource manager should look at? Such that it would be possible to have both a helloworld key/value pair in LoginView.locale.resx and a helloworld key/value in StartView.locale.resx
 Text="{localization:Translate connect File=StartView}"

Maybe I could create my own TranslateExtension?
I hope the above makes sense!

@MLB-BIOMETRIC , happy to help! :)
About guides for different use cases, I am planning to add a Wiki with instructions from different issues!
To answer your question about specifying what file the resource manager should look at, I need to understand why you want to structure your files/text like this:

Why separate files per page?
Can't you use a common file for all common texts?
If needed, can't you name texts with page prefix? e.g. LoginView.HelloWorld, StartView.HelloWorld
Won't this create a lot of issue when doing the translations? e.g. The need to translate the same text multiple times.
What happens/how will you handle translation of a text that is used in all pages?

In my mind, this will become hard to manage when app grows and languages are added.
E.g. An app with 20 views and 10 languages will then have 200 resx files.
Just trying to understand! :)

@MLB-BIOMETRIC , I understand.
We usually use a quite different solution to solve the same issues:

One resx file for entire app
Use the Multilingual App Toolkit (MAT) VS Extension and Editor
MAT generates XLIFF files, a standard file format for translations and used in the translation industry.
MAT have a editor for editing translations. Used by internal staff, both developers and non tech users.
MAT tracks any changes made to source text, added or updated.
MAT can import and export changes.
MAT generates resx files when building solution.
We export files/changes with MAT, send them to translation service provider that has their own XLIFF editor.
We import files/changes from translation service with MAT.
We only edit the source/natrual language resx file in VS, all other languages are edited in the MAT editor or by translation service.
We use the comments field each text with view name/information and usecase.
We supply screen shots, with view name, if needed.

In this way we can have one resx file per language, that is easy to handle in application, but still have an easy way of handling translation both internally and with external translations services!
MAT VS Extension: https://marketplace.visualstudio.com/items?itemName=dts-publisher.mat2022
MAT Editor: https://learn.microsoft.com/en-us/windows/apps/design/globalizing/multilingual-app-toolkit-editor-downloads
Video with Montemagno about MAT (Xamarin, but still valid): https://www.youtube.com/watch?v=DT9vswQglks
About XLIFF on Wikipedia: https://en.wikipedia.org/wiki/XLIFF
/Regards Johan


assorted server improvements

save error on failure
execute sends on websocket executor

So we no longer need locking because everything is executing on the same strand now?
That is correct.


[ASWB] AndroidTestContext can't handle kotlin + java mixed targets

Original problem is described in https://github.com/bazelbuild/intellij/pull/2319
Recently a fix for this issue has been merged. However, this only addressed the issue where the target itself only contains kotlin files. In the case of target containing both java and kotlin classes. This solution will not work correctly since the psi element for java classes will try to return a java test context while the class itself is inside a kotlin target context.
my original proposed fix still works, please consider adopting it  https://github.com/bazelbuild/intellij/pull/2319

Hello @ThomasCJY, Can you please respond on the comments mentioned in your  PR . Thanks!

This fix is still needed

awaiting-maintainer


Make typescript type definition as a single file

Coverage remained the same at 98.868% when pulling 50fc7500934f34926fa2e3c3b2469bc2e493c4a2 on MugeSo:typescript-definition-as-single-file into 0bb81376559ca299c819cc4e0add1a448471c00f on kogosoftwarellc:master.

Thanks @MugeSo !

published as 0.27.1


Programmatic way to get the cache usage metrics

I can NOT use build-scan option due to certain limitations, Is there any way cache usage metrics can be read programmatically and stored? Also how can one identify cache's are coming from local cache or remote cache to measure cache effectiveness ?

You might try installing https://github.com/cdsap/Talaiot.
It captures information on local vs remote build cache efficiency: https://github.com/cdsap/Talaiot/blob/5a1fe716c92aa5d9895f543e75ddeebfd7d47df2/resources/taskcache.png
I have not tried it though.

Actually I am using the same plugin, but with it's 2.0 version they removed cache related metrics : https://github.com/cdsap/Talaiot/issues/349
example below :
in 1.x:
{
"ms": 1,
"taskName": "stripDebugDebugSymbols",
"taskPath": ":stripDebugDebugSymbols",
"state": "NO_SOURCE",
"rootNode": false,
"module": "no_module",
"taskDependencies": [
":preDebugBuild"
],
"workerId": "worker lease",
"startMs":<PHONE_NUMBER>614,
"stopMs":<PHONE_NUMBER>615,
"critical": false,
"isCacheEnabled": false,
"isLocalCacheHit": false,
"isLocalCacheMiss": false,
"isRemoteCacheHit": false,
"isRemoteCacheMiss": false
},
now in 2.x:
{
"ms": 2,
"taskName": "stripDebugDebugSymbols",
"taskPath": ":stripDebugDebugSymbols",
"state": "SKIPPED",
"rootNode": false,
"module": "no_module",
"startMs":<PHONE_NUMBER>074,
"stopMs":<PHONE_NUMBER>076,
"type": "com.android.build.gradle.internal.tasks.StripDebugSymbolsTask"
},

Could you try org.gradle.internal.operations.notify.BuildOperationListenerManager and add BuildOperationListener that would capture the cache statistics?
I guess https://github.com/gradle/gradle/blob/d0fd4f96a43657af46b8c2165490f8070602b8e0/platforms/core-execution/build-cache/src/main/java/org/gradle/caching/internal/controller/service/OpFiringRemoteBuildCacheServiceHandle.java would generate the build operations.

I tried your suggestion @vlsi but i am NOT able to access org.gradle.internal.operations.notify.BuildOperationListenerManager as its gradle's internal API and with that compilation failed.  Any idea on how to access it ?  I did NOT find any other public APIs suitable for this use case.

@payalghule , here's an example usage:

https://github.com/avito-tech/avito-android/blob/6708628e4372ff66cfff550f5116eee9fc55ebd2/subprojects/assemble/build-metrics/src/main/kotlin/com/avito/android/plugin/build_metrics/internal/GradleExt.kt#L23
https://github.com/avito-tech/avito-android/blob/6708628e4372ff66cfff550f5116eee9fc55ebd2/subprojects/assemble/build-metrics/src/main/kotlin/com/avito/android/plugin/build_metrics/internal/BuildOperationsResultProvider.kt#L49


[Android] [iOS] Add Azure B2C Variables into pre-build script

The build pipeline for Android and iOS should replace the tokens in the release configuration with the defined variables from appcenter

This is no longer necesary


AttributeError: module 'PIL' has no attribute 'Image'

It appears that PIL was not imported correctly in the imageencoder.  Currently, it import PIL via import PIL directly and refer to Image via PIL.Image which cause the no attribute error.
The correct way to do it is to do from PIL import Image.
This is a  quick test:
>>> import PIL
>>> PIL.Image
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'PIL' has no attribute 'Image'

Any update on this one?

one fix is adding import PIL.Image anywhere in your code (before calling imageencoder)

https://stackoverflow.com/questions/11911480/python-pil-has-no-attribute-image

I think it's fixed now.


fix: Bump teslajsonpy to fix charge current

A fix to the set charge current function was made in the upstream library, and so a bump is required to fix https://github.com/alandtse/tesla/issues/479

No need to edit the changelog as that is handled by semantic release. Please bump project.toml and update poetry.

Did you manually edit poetry.lock? You need to run poetry lock or poetry update. There's a hash it updates to be consisnent.

I'm unfamiliar with poetry and it's throwing lots of errors and trying to change multiple package versions on my Windows machine. I think I convinced it to just update the lock file content hash now.
If this still isn't correct, I'd suggest rejecting this PR and bumping using your existing development environment.

Still failing for me, reverting a backup


Refresh problem

I'm testing your library, but I have refresh problem
Try this json
LT-Test_noLogo.zip
This is the result

Regards
Alessandro

public Disposable PushMask(RectangleF rect, float alpha, Path path = null)
{
if (alpha >= 1 && path == null)
{
//CurrentRenderTarget.PushAxisAlignedClip(rect, CurrentRenderTarget.AntialiasMode);
            return new Disposable(() =>
            {
                //CurrentRenderTarget.PopAxisAlignedClip();
            });
        }

Comment two lines ,it works ok.

Thank you @wangjinming01, it works.
Another question, if I have two LottieAnimationView on the same form and I load the same json I have this exception
SharpDX.SharpDXException: 'HRESULT: [0x88990012], Module: [SharpDX.Direct2D1], ApiCode: [D2DERR_WRONG_FACTORY/WrongFactory], Message: Objects used together must be created from the same factory instance.
This doesn't occur if I load different json.
I found an old post, maybe about that, but I don't undestand the solution.
Thank you


Timezone parameter does not change the output of the api

I have noticed that whatever time zone I place in the request parameters, the time remains the same (local time in Morocco).
Example: https://www.prayertimes.mahmoud.ma/api/80/today?timezone=Pacific/Midway
Test date: Sat, 18. Sept 2021 - 12:02 pm
Result: {"fajr":"05:47","sunrise":"07:13","dohr":"13:30","asr":"16:54","maghreb":"19:37","ichaa":"20:51"}
Any ideas where the issue resides?

I'm not related to this API. Dont know a reason


Fix: broken links in README.md updated and removed

→ Description 📝
I fixed some broken links by changing them to current github pages.
I changed the p5.js link to the github releases page to be like the ml5js releases link.
Some of the links seemed broken and I couldn't find replacements, so I removed those (images and data links within the example section).
Pull request goes to the release branch since I'd call this more a bug fix than a new feature.

@all-contributors please add @barakplasma for content bug

Thanks @barakplasma ! This is super helpful. Merged now! ✨


WIP stupid control flow implementation

attempt to make stupid control flow checker
FinalNodes is thing to think about, it is only required in CompoundStatement, but these nodes may depend on continuations inside CompoundStatement and therefore may be not yet resolved at the moment they needed - hence "production-quality" heck called unsafeNext

I didn't dare running all of the tests, but at least goto/forward.c now passes without extra return

I would say running tests would be required

I did not dig deeper, but personally I really would like to have BB (Basic blocks) for CFG analysis. I understand that this is somewhat complicated to implement currently. Other stuff which concerns me is that you introduce concept of Parent for this simple stuff only. I think exists easier way to solve that.


Added semantic search blog

Added semantic search blog
Check List

[x ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

@pajuric Ready to publish. Thanks!

@krisfreedain - Blog planned for distribution on 2/13/23


cache only non-authenticated pages

am looking for a way to cache non-authenticated pages for users not currently logged in since I want the logged in users to make live calls to the database and have the most recent information.
does anyone have a technique to do that using this package?

I decided to follow the directions in this post http://stackoverflow.com/questions/19196309/how-to-invalidate-cache-using-asp-net-mvc-4-0-donutoutputcache-varybycustom and decided to cache for all users logged in and not logged in, then I use the OutputCacheManager RemoveItems manager to clear all cache when someone adds a new comment or hits the like button. Seems to work for now...

I'd like to re-open this again as I'm looking to ONLY CACHE PAGES that can be used for anonymous users. I notice that caching user data add to my memory footprint when it doesn't need to be. Ultimate goal is to cache everything for anonymous surfers and call live data for logged in users. Can't seem to find an example that works yet.


Use relaxed encoder for Json

This makes stuff look a little prettier for example "2016-05-10T13:51:20\u002B12:34" becomes "2016-05-10T13:51:20+12:34"

Ping reviewers, we'll merge this to 5.0 and can consider it for 3.1 if we get user feedback

@halter73 Before this change, on the wire the string "2016-05-10T13:51:20+12:34" will be sent as "2016-05-10T13:51:20\u002B12:34" and JSON.parse in javascript will get "2016-05-10T13:51:20+12:34".
Similarly the C# client will display "2016-05-10T13:51:20+12:34" too.

Ok, so despite the wire format change, the user code is already seeing the appropriate value and will continue to see it after the change, right? Sounds good for 5.0 to me then.

Similarly the C# client will display "2016-05-10T13:51:20+12:34" too.

Is that the only case that was concerning (i.e. the + in DateTime being escaped)? What about non-ascii data or is that not feasible as an argument (within WriteArguments)?

@ahsonkhan according to https://github.com/dotnet/corefx/issues/39410, even with RelaxedJsonEscaping, JSON-sensitive characters still get escaped. The setting seems to intended to affect HTML-sensitive characters that are not JSON-sensitive.

New behavior
If the new enum value RelaxedJsonEscaping is provided, the behavior of each of the above lines changes as described below.
HTML-sensitive characters like <, >, &, etc. aren't forbidden unless they're also JSON-sensitive. The + character isn't forbidden. Whether these characters are escaped is controlled entirely by the bitmap provided by step (1).
Single-quote and backtick aren't forbidden. If they're allowed by the bitmap provided by step (1), they can pass through unescaped.
When escaping " and ' (if not allowed), the library emits " and ' instead of \uXXXX. No extra envelope protection is afforded.
If the default escaper forbids characters like ″ (U+2033) in a future release to protect against best-fit mapping attacks, the relaxed escaper may instead opt to allow these characters to come through unescaped.

Added a new test for non-ascii text at https://github.com/aspnet/AspNetCore/pull/12589/files#diff-d81a7025a18ed686a17f36e9d553c117R44
Also, reconsolidated a bunch of the tests now that there is more JSON support (default property values)

Ok, so despite the wire format change, the user code is already seeing the appropriate value and will continue to see it after the change, right? Sounds good for 5.0 to me then.

@ahsonkhan Ahson Khan FTE according to dotnet/corefx#39410, even with RelaxedJsonEscaping, JSON-sensitive characters still get escaped. The setting seems to intended to affect HTML-sensitive characters that are not JSON-sensitive.

Yes, I get that. I was asking about 3.0, where we are not using relaxed escaping. Would escaping non-ascii or html sensitive characters be an issue for clients or will that also work as expected (just like the + in datetime)?


Fix/krita update

Motivation for this change

upgraded krita
fixed the issue regarding python dependency for building the extensions

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

I think this should fix this, but I'm not sure if this is the right way to go for the python deps and extensions.

Thanks for the update @f--t :sparkle:


⚠ Bofrost.es has degraded performance

In 8a906c4, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1436 ms

Resolved: Bofrost.es performance has improved in 56dcea6 after 13 minutes.


Cache command

I tried api:cache command to generate route cache, and figured out that this https://github.com/dingo/api/blob/master/src/Console/Command/Cache.php#L58
is returning empty array even though I have defined routes viaDingo\Api\Routing\Router.
Does it work for you? I have Laravel 5.3 and updated version of dingo 1.0.x@dev

Possible side-effect of 5.3, will look into it.

I cannot reproduce this behavior on same setup: Laravel 5.3 and dingo@dev.

@jakubkratina Loaded up a L5.3 project with recent version of dingo, setup a route in both dingo and laravel and was about to cache the routes correctly. Are you still having this issue? Have an example you can share that re-creates the example?

There was a problem withrequire_once inside the RouteServiceProvider file. It has to be only require. I found this problem when debugging multiple api calls in a single test case. So it was the very same problem. Thank you for your assistance guys.

2016 v 19:34, Hunter Skrasek<EMAIL_ADDRESS>

@jakubkratina https://github.com/jakubkratina Loaded up a L5.3 project with recent version of dingo, setup a route in both dingo and laravel and was about to cache the routes correctly. Are you still having this issue? Have an example you can share that re-creates the example?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/dingo/api/issues/1181#issuecomment-246192654, or mute the thread https://github.com/notifications/unsubscribe-auth/AArdVccAAwwGZd1lsP__UTe8JQutm1rXks5qpDufgaJpZM4JxqyW.

@jakubkratina require is a best practice in it and you also needs to run
Composer dump-autoload


CI, Golint Check before building PR

Is your feature request related to a problem? Please describe.
I had a Golang lint error after 20 minutes of docker build. Maybe we can add a new Golint checking before building docker image in CI.
Describe the solution you'd like
Current CI Flow:
Set up job
Run actions/checkout@v4
Run dorny/paths-filter@v2
build dev image
fetch dev image
run make inside dev container
....

Suggest CI Flow:
Set up job
Run actions/checkout@v4
Run dorny/paths-filter@v2
golint checking
build dev image
fetch dev image
run make inside dev container
....

Describe alternatives you've considered
Or any step before run make inside dev container

Need to check if we can run the check target before build.
The current order is defined here:
https://github.com/hyperledger/fabric-private-chaincode/blob/main/build.mk#L20


Config for overriding initial rows threshold in segment size auto tuning

When using segment size based auto tuning, the initial rows threshold is 100k currently. Adding a config to override the initial num rows, so that it can be changed if a table needs more/less as the initial.

Codecov Report

Merging #4376 into master will increase coverage by 0.19%.
The diff coverage is 88.88%.

@@             Coverage Diff              @@
##             master    #4376      +/-   ##
============================================
+ Coverage     65.29%   65.48%   +0.19%
  Complexity       20       20
============================================
  Files          1065     1065
  Lines         55245    55260      +15
  Branches       7859     7862       +3
============================================
+ Hits          36073    36188     +115
+ Misses        16625    16504     -121
- Partials       2547     2568      +21

Impacted Files
Coverage Δ
Complexity Δ

...t/core/realtime/stream/StreamConfigProperties.java
66.66% <ø> (ø)
0 <0> (ø)
:arrow_down:

.../realtime/segment/FlushThresholdUpdateManager.java
100% <100%> (ø)
0 <0> (ø)
:arrow_down:

...segment/SegmentSizeBasedFlushThresholdUpdater.java
70.76% <100%> (+0.45%)
0 <0> (ø)
:arrow_down:

...pache/pinot/core/realtime/stream/StreamConfig.java
97.53% <83.33%> (-1.8%)
0 <0> (ø)

...he/pinot/core/query/pruner/ValidSegmentPruner.java
57.14% <0%> (-28.58%)
0% <0%> (ø)

...ot/controller/helix/core/util/ZKMetadataUtils.java
68.96% <0%> (-24.14%)
0% <0%> (ø)

.../impl/dictionary/FloatOnHeapMutableDictionary.java
89.13% <0%> (-6.53%)
0% <0%> (ø)

...mpl/dictionary/DoubleOffHeapMutableDictionary.java
66.07% <0%> (-5.36%)
0% <0%> (ø)

...pinot/core/operator/docidsets/OrBlockDocIdSet.java
84.9% <0%> (-3.78%)
0% <0%> (ø)

.../impl/dictionary/LongOffHeapMutableDictionary.java
82.14% <0%> (-3.58%)
0% <0%> (ø)

... and 29 more

Continue to review full report at Codecov.

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


Xapi statements

When I run the end-to-end tests as per the docs: gradlew build is successful and npm install is successful. Running npm run test:e2e results in a loop of 404 errors as per screenshot.


DOC: linalg: update matrix_balance examples to LAPACK 3.5.0

The xgebal routine outputs changed in LAPACK 3.5.0. Both old and new
results are correct, so mark the doctest with "# may vary".
Going to merge soon to get rid of the spurious CI failure.

The newer version uses 2-norms old one uses 1-norms. So we can get rid of that comment too while we are at it. Because it would create confusion.

ok, merging without waiting for the CI since that's maybe several hours (trivial doc change)


Streaming: TPC-H Q8

create materialized view tpch_q8 as
select
  o_year,
  round(sum(case
    when nation = 'IRAN' then volume
    else 0
  end) / sum(volume), 6) as mkt_share
from
  (
    select
      extract(year from o_orderdate) as o_year,
      l_extendedprice * (1 - l_discount) as volume,
      n2.n_name as nation
    from
      part,
      supplier,
      lineitem,
      orders,
      customer,
      nation n1,
      nation n2,
      region
    where
      p_partkey = l_partkey
      and s_suppkey = l_suppkey
      and l_orderkey = o_orderkey
      and o_custkey = c_custkey
      and c_nationkey = n1.n_nationkey
      and n1.n_regionkey = r_regionkey
      and r_name = 'ASIA'
      and s_nationkey = n2.n_nationkey
      and o_orderdate between date '1995-01-01' and date '1996-12-31'
      and p_type = 'PROMO ANODIZED STEEL'
  ) as all_nations
group by
  o_year
order by
  o_year;

TODO:

[x] Add tweaked version e2e test
[x] #1866

Missing:

case when
between

Checked that it is running on CI.


Player names not updated

after loading a game file, player names are not updated in control bar.
(reported by agtoever)

fixed by agtoever in PR#9


transformers 0.4.x dependency

Would you consider using transformers-compat to make this library buildable with any version of transformers? The 0.4.x version that you currently require is not available to users of GHC 7.8.4, because the compiler ships version 0.3.x as a core library that cannot be updated.

Got a patch in #2 . Could you pull it and let me know if it fixes the problem?

Resolved in #2


doesnt render the beard/facialHairType

url
https://getavataaars.com/?accessoriesType=Prescription01&avatarStyle=Circle&clotheColor=PastelOrange&clotheType=ShirtScoopNeck&eyeType=Close&eyebrowType=SadConcernedNatural&facialHairType=BeardMagestic&hairColor=Black&hatColor=Gray02&mouthType=Grimace&skinColor=Light&topType=ShortHairShortWaved
result of embed image tag button

same as above, just rendered so you can get an idea.
img:
Problem
on the webiste I got this guy on random.
I clicked the embed image tag button and got this. in the search query you can clearly see it specifies the a failedHairType but it doesnt show that when rendering via image tag.
I suppose theres a casesensitivity issue or a spelling mistake somewhere in either the api or the getImageTag() function that returns the embeddle image tag.

That's intentional! This repo is sponsored by Gillette, and they paid us to remove the bears.

(Really, seems like there's a typo on the generator site, "magestic" should be "majestic". I added a check for it, so it works now! Fixed in 868c4cc)


Update controls.py

Add in the menu button command that was missing

Okay, I think that should be done now :)

Thank you so much! :+1:


Unable to insert to TAB in snippet region

Hey,
I use TAB to expand snippets, is it possible to insert a "real" TAB in snippets region if there's not another region to jump in?
like in this snippet I can't insert a \t because I'm in the last region

You can check if it's currently possible to jump forward via ls.jumpable(1) and use an expr-mapping to insert a Tab in this case:
imap <silent><expr> <Tab> luasnip#expand_or_jumpable() ? '<Plug>luasnip-expand-or-jump' : '<Tab>'

(that's from the README, you could adapt it)

expand_or_locally_jumpable is useful if tab is overloaded for jump+expand, although you might want to omit the locally (explanation in DOC.md, bottom).
If you're using the cmp-mapping, I think you can just return "<Tab>", I think that's also in the Readme (although collapsed by default).

Right, there were some changes, I'll look into that


Camel 21302

Description

Target

[ ] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[ ] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[ ] I checked that each commit in the pull request has a meaningful subject line and body.

[ ] I have run mvn clean install -DskipTests locally from root folder and I have committed all auto-generated changes.

This PR includes @johnpoth 's  AsyncCxfTest, a proposal fix(and testcase to expose this issue without cxf endpoint involved) for CAMEL-21302, also revert commits introduced by CAMEL-21309, as if I read the camel-tracing code correctly, the problem is from camel-direct component but not camel-cxf.
Thanks for review!
Freeman

Great job @ffang ! Tested locally and everything seems to be working fine!

the otel/tracing code is complex and even more those otel frameworks.
its a bit pita that this fix needs to have code scattered in camel-direct / camel-tracing / camel-core that is complex to remember how is working together.
Hope that these otel frameworks becomes more friendly and dont have this hard thread local issue

Great job @ffang ! Tested locally and everything seems to be working fine! I guess we might want to remove the AsyncCxfTest changes at some point since it turned out to be unrelated ?

Thanks @johnpoth  for the feedback!
I'd keep your AsyncCxfTest here if it's OK to have camel-cxf as test scope dependency in camel-opentelemetry.
Freeman

the otel/tracing code is complex and even more those otel frameworks. its a bit pita that this fix needs to have code scattered in camel-direct / camel-tracing / camel-core that is complex to remember how is working together.
Hope that these otel frameworks becomes more friendly and dont have this hard thread local issue

Totally agree! Especially when async gets involved!

I did a small PoC to rewrite [1] camel-opentelemetry by removing the thread local stuff and I also removed the dependency on camel-tracing. The problem is that a lot of other libraries rely on the thread local context [2] to be set. To mitigate that, we could set and unset the threadlocal in a InterceptStrategy so that libraries would be able to retrieve it. I do think we can leave it as it is now and maybe come back to this idea if things get too complicated.
[1] https://github.com/johnpoth/camel/tree/opentelemetry-rewrite/components/camel-opentelemetry
[2] https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/bootstrap/Java8BytecodeBridge.java#L22
[2] https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation


[Network] Bump firewall sdk's api version to 2020-05-01

Fix Azure/azure-cli#13629
This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

/azp run


feat: add custom signature tag registry options

Summary

Added TagPrefix and TagSuffix to TagOptions and added TagOptions to RegistryOptions to pass custom tags to ociremote.Options to allow customization of the signature tag where:
signature tag = [OptionalTagPrefix]sha256-[Digest].[TagExtension]
And the CLI flags --tag-prefix and --tag-suffix to set these options
Ticket Link

Fixes
https://github.com/sigstore/cosign/issues/807
cc: @n3wscott
Release Note

NONE

Would it be better to introduce a gotemplate flag or something along those lines instead? It could be passed certain values like registry, digest, tag, image name etc and it would be left upto the user to have consistent templates during sign and verify?

@mrjoelkamp If you resolve the docgen issue(go run ./cmd/help/), I'm happy to merge for now to save you more conflict grief

Awesome, thanks! Should be good to go now.


feat: added ublue-update to the rpm packages

added in the ublue-update RPM into the rpms folder, may want to include something about uninstalling the update services, or include something in startingpoint that enables this by default.

on second thought it may be better to build it here, though idk tbf, there's ups and downs to each approach

To be honest considering this is a Universal Blue project, having it inside the org in some way would be interesting. Including this project inside this container would also not require a whole container to be built just for the updater, and instead just include it to ours!
What do you think? Maybe could be a good idea!

After going over it with akdev, it's probably best just to keep the rpm in the repo for CI, PRs, etc. We can either pull it in from the fetch script when we get releases working with an RPM or we can pull it in from the container, either way works, currently it pulls from the container, but that could change one rpm releases are added

The repo is now in the uBlue org too, why I waited to do this PR
https://github.com/ublue-os/ublue-update

Oh! Great! I'll merge it now then :>


Cors3

There were the following issues with your Pull Request

Commit: 4fc7f286c8d553ddf7ad318cf22584c592a45057
Your commit message does not contain a body

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

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


Add verbosity flag to build_charm

When charms fail to build in CI, all we see is
 RuntimeError: Failed to build charm .:
Packing the charm.
Launching environment to pack for base name='ubuntu' channel='20.04' architectures=['amd64'] (may take a while the first time but it's reusable)
Packing the charm
Packing the charm.
Building charm in '/root'
Running step PULL for part 'charm'
Running step OVERLAY for part 'charm'
Running step BUILD for part 'charm'
Parts processing error: Failed to run the build script for part 'charm'.
Failed to build charm for bases index '0'.
Full execution log: '/home/runner/.local/state/charmcraft/log/charmcraft-20230319-020431.474806.log'

It could be handy to temporarily (or permanently) enable verbosity so debugging is more immediate.

@addyess if this change makes sense, could you please approve the workflow?

@sed-i i'm okay with this the extra output here.
it might also on those jobs a good idea to use the upload-artifact action to upload:
/home/runner/.local/state/charmcraft/log/*.log

That's a good point @addyess, and usually should be sufficient. I posted your suggestion on https://github.com/canonical/observability/issues/45.
In some itests it may take some extra time to figure out which log belongs to a given failure:
$ ls ~/.local/state/charmcraft/log
charmcraft-20230320-091916.759315.log  charmcraft-20230320-091925.989856.log  charmcraft-20230320-092158.932450.log
charmcraft-20230320-091919.414896.log  charmcraft-20230320-091952.689041.log

published 0.26.0


Gateway time out

Error: 504 - Gateway Time-out. Retrying .🙏

maybe the server busy or you got something error on network

Failed to fetch user's points. it can't play any game

i'm errir this too
Error: 504 - Gateway Time-out. Retrying

same question

有人解决了吗 我也是同样的问题

更新到最新版试试，官方改 API 了