Karpenter is not deleting instances after scale down of Pods

Description
Observed Behavior: when user scale down the numer of pods then one pod is running on new node and drain and cordon of new node with just one pod is not happening.
Expected Behavior: when some workload on new is less or only one pod is running on node then it should move that pod to another node which can handle that much of load and should remove the new node which had only single pod running.
Reproduction Steps (Please include YAML):
Versions:

Chart Version: v0.29.0
Kubernetes Version (kubectl version): v1.27.1-eks

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Can you provide:

pod specs
output of kubectl describe node the-node-name for the involved nodes
the Karpenter controller logs

Karpenter c

please find below requried information:
k describe pod/karpenter-65d5c5c786-b45kw
Name:                 karpenter-65d5c5c786-b45kw
Namespace:            karpenter
Priority:<PHONE_NUMBER>
Priority Class Name:  system-cluster-critical
Service Account:      karpenter
Node:                 ip-10-xxx-5-68.eu-test-1.compute.internal/10.xxx.5.68
Start Time:           Mon, 14 Aug 2023 13:19:31 +0100
Labels:               app.kubernetes.io/instance=karpenter
app.kubernetes.io/name=karpenter
pod-template-hash=65d5c5c786
Annotations:          checksum/settings: 4422487afdf0289837cda9bcedcxxxa5b07a301212918ba157cd5475d0498bb3
kubectl.kubernetes.io/restartedAt: 2023-08-11T16:38:33+01:00
Status:               Running
IP:                   10.xxx.5.56
IPs:
IP:           10.xxx.5.56
Controlled By:  ReplicaSet/karpenter-65d5c5c786
Containers:
controller:
Container ID:   containerd://e4394f1997ef787c813b53c91aca760cac40afde926e8b59b13e0ae9d96be8c5
Image:          public.ecr.aws/karpenter/controller:v0.29.0@sha256:3009f10487d9338f77c325adee3c208513cd06c7f191653327ef3a44006bf9c8
Image ID:       public.ecr.aws/karpenter/controller@sha256:3009f10487d9338f77c325adee3c208513cd06c7f191653327ef3a44006bf9c8
Ports:          8000/TCP, 8081/TCP, 8443/TCP
Host Ports:     0/TCP, 0/TCP, 0/TCP
State:          Running
Started:      Mon, 14 Aug 2023 13:19:47 +0100
Ready:          True
Restart Count:  0
Liveness:       http-get http://:http/healthz delay=30s timeout=30s period=10s #success=1 #failure=3
Readiness:      http-get http://:http/readyz delay=0s timeout=30s period=10s #success=1 #failure=3
Environment:
KUBERNETES_MIN_VERSION:       1.19.0-0
KARPENTER_SERVICE:            karpenter
WEBHOOK_PORT:                 8443
METRICS_PORT:                 8000
HEALTH_PROBE_PORT:            8081
SYSTEM_NAMESPACE:             karpenter (v1:metadata.namespace)
MEMORY_LIMIT:                 node allocatable (limits.memory)
AWS_STS_REGIONAL_ENDPOINTS:   regional
AWS_DEFAULT_REGION:           eu-test-1
AWS_REGION:                   eu-test-1
AWS_ROLE_ARN:                 arn:aws:iam::xxxxxxxxxxxx:role/KarpenterIRSA-eks-202308xxx5
AWS_WEB_IDENTITY_TOKEN_FILE:  /var/run/secrets/eks.amazonaws.com/serviceaccount/token
Mounts:
/var/run/secrets/eks.amazonaws.com/serviceaccount from aws-iam-token (ro)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-xjtth (ro)
Conditions:
Type              Status
Initialized       True
Ready             True
ContainersReady   True
PodScheduled      True
Volumes:
aws-iam-token:
Type:                    Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds:  86400
kube-api-access-xjtth:
Type:                     Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds:   3607
ConfigMapName:            kube-root-ca.crt
ConfigMapOptional:
DownwardAPI:              true
QoS Class:                    BestEffort
Node-Selectors:               kubernetes.io/os=linux
Tolerations:                  CriticalAddonsOnly op=Exists
node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Topology Spread Constraints:  topology.kubernetes.io/zone:ScheduleAnyway when max skew 1 is exceeded for selector app.kubernetes.io/instance=karpenter,app.kubernetes.io/name=karpenter
Events:

k describe no ip-10-xxx-5-68.eu-test-1.compute.internal
Name:               ip-10-xxx-5-68.eu-test-1.compute.internal
Roles:
Labels:             beta.kubernetes.io/arch=amd64
beta.kubernetes.io/instance-type=t3a.xlarge
beta.kubernetes.io/os=linux
failure-domain.beta.kubernetes.io/region=eu-test-1
failure-domain.beta.kubernetes.io/zone=eu-test-1c
k8s.io/cloud-provider-aws=797019a6c020d05c9dc3241f0b57b7a1
kubernetes.io/arch=amd64
kubernetes.io/hostname=ip-10-xxx-5-68.eu-test-1.compute.internal
kubernetes.io/os=linux
node.kubernetes.io/instance-type=t3a.xlarge
topology.ebs.csi.aws.com/zone=eu-test-1c
topology.kubernetes.io/region=eu-test-1
topology.kubernetes.io/zone=eu-test-1c
Annotations:        alpha.kubernetes.io/provided-node-ip: 10.xxx.5.68
csi.volume.kubernetes.io/nodeid: {"ebs.csi.aws.com":"i-2f85b1ac08db6"}
node.alpha.kubernetes.io/ttl: 0
volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Mon, 14 Aug 2023 13:16:30 +0100
Taints:
Unschedulable:      false
Lease:
HolderIdentity:  ip-10-xxx-5-68.eu-test-1.compute.internal
AcquireTime:
RenewTime:       Tue, 15 Aug 2023 12:12:17 +0100
Conditions:
Type             Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message

MemoryPressure   False   Tue, 15 Aug 2023 12:07:54 +0100   Mon, 14 Aug 2023 13:16:29 +0100   KubeletHasSufficientMemory   kubelet has sufficient memory available
DiskPressure     False   Tue, 15 Aug 2023 12:07:54 +0100   Mon, 14 Aug 2023 13:16:29 +0100   KubeletHasNoDiskPressure     kubelet has no disk pressure
PIDPressure      False   Tue, 15 Aug 2023 12:07:54 +0100   Mon, 14 Aug 2023 13:16:29 +0100   KubeletHasSufficientPID      kubelet has sufficient PID available
Ready            True    Tue, 15 Aug 2023 12:07:54 +0100   Mon, 14 Aug 2023 13:16:43 +0100   KubeletReady                 kubelet is posting ready status
Addresses:
InternalIP:   10.xxx.5.68
InternalDNS:  ip-10-xxx-5-68.eu-test-1.compute.internal
Hostname:     ip-10-xxx-5-68.eu-test-1.compute.internal
Capacity:
cpu:                4
ephemeral-storage:  20959212Ki
hugepages-1Gi:      0
hugepages-2Mi:      0
memory:             16226788Ki
pods:               58
Allocatable:
cpu:                3920m
ephemeral-storage:<PHONE_NUMBER>4
hugepages-1Gi:      0
hugepages-2Mi:      0
memory:             15209956Ki
pods:               58
System Info:
Machine ID:                 ec2f6771efba25bc75ef116e82262f38
System UUID:                ec2f6771-efba-25bc-75ef-116e82262f38
Boot ID:                    3023ac2c-b06b-4c0d-a1be-eda37c860e05
Kernel Version:             5.10.178-162.673.amzn2.x86_64
OS Image:                   Amazon Linux 2
Operating System:           linux
Architecture:               amd64
Container Runtime Version:  containerd://1.6.19
Kubelet Version:            v1.27.1-eks-2f008fe
Kube-Proxy Version:         v1.27.1-eks-2f008fe
ProviderID:                   aws:///eu-test-1c/i-2f85b1ac08db6
Non-terminated Pods:          (29 in total)
Namespace                   Name                                               CPU Requests  CPU Limits  Memory Requests  Memory Limits  Age

cert-manager                cert-manager-964c76795-v86qr                       0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
cert-manager                cert-manager-cainjector-b86ffd6cd-2z4jq            0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
cert-manager                cert-manager-webhook-5f85f5b7c9-jp89c              0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
default                     details-v1-7b67fd5877-pzzff                        0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
default                     productpage-v1-7cc98bb9c5-wfbdl                    0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
default                     ratings-v1-5f77f7f669-q7hvq                        0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
default                     reviews-v1-56fd4696d6-z69p6                        0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
default                     reviews-v2-77989b4fb8-q8k2k                        0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
default                     reviews-v3-84d5f9d978-jgrms                        0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
echo                        echo-v1-555d75d654-gwn25                           0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
fluentbit                   aws-for-fluent-bit-5h8m8                           50m (1%)      0 (0%)      50Mi (0%)        250Mi (1%)     22h
gloo-system                 discovery-57d95494f9-7hfbm                         0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
gloo-system                 gateway-proxy-564df5b464-6xb6w                     0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
gloo-system                 gloo-977789d87-9vrjt                               500m (12%)    0 (0%)      256Mi (1%)       0 (0%)         22h
httpbin                     httpbin-698cc5f69-bmgck                            0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
karpenter                   karpenter-65d5c5c786-b45kw                         0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
kube-system                 aws-load-balancer-controller-546f54b844-7w2h5      0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
kube-system                 aws-load-balancer-controller-546f54b844-hrd4x      0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
kube-system                 aws-node-m6mr2                                     25m (0%)      0 (0%)      0 (0%)           0 (0%)         22h
kube-system                 coredns-6b4f66d5fb-gf7vv                           100m (2%)     0 (0%)      70Mi (0%)        170Mi (1%)     22h
kube-system                 coredns-6b4f66d5fb-p5nwv                           100m (2%)     0 (0%)      70Mi (0%)        170Mi (1%)     22h
kube-system                 ebs-csi-controller-5d4fdfffc7-7mzwn                60m (1%)      600m (15%)  240Mi (1%)       1536Mi (10%)   22h
kube-system                 ebs-csi-controller-5d4fdfffc7-h9ndc                60m (1%)      600m (15%)  240Mi (1%)       1536Mi (10%)   22h
kube-system                 ebs-csi-node-jlzzp                                 30m (0%)      300m (7%)   120Mi (0%)       768Mi (5%)     22h
kube-system                 external-dns-79c76c6fbc-qs6rg                      10m (0%)      50m (1%)    50Mi (0%)        50Mi (0%)      22h
kube-system                 kube-proxy-l2vrw                                   100m (2%)     0 (0%)      0 (0%)           0 (0%)         22h
metrics-server              metrics-server-6d699889f4-mcm79                    0 (0%)        0 (0%)      0 (0%)           0 (0%)         22h
nginx-ingress               nginx-ingress-nginx-controller-6667cc9b8b-84fx4    100m (2%)     0 (0%)      90Mi (0%)        0 (0%)         22h
nginx-ingress               nginx-ingress-nginx-controller-6667cc9b8b-cklg5    100m (2%)     0 (0%)      90Mi (0%)        0 (0%)         22h
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource           Requests     Limits

cpu                1235m (31%)  1550m (39%)
memory             1276Mi (8%)  4480Mi (30%)
ephemeral-storage  0 (0%)       0 (0%)
hugepages-1Gi      0 (0%)       0 (0%)
hugepages-2Mi      0 (0%)       0 (0%)
Events:

controller pod logs:
2023-08-15T10:33:39.625Z        DEBUG   controller.deprovisioning       discovered instance types       {"commit": "61cc8f7-dirty", "count": 670}
2023-08-15T10:38:41.489Z        DEBUG   controller.deprovisioning       discovered instance types       {"commit": "61cc8f7-dirty", "count": 672}
2023-08-15T10:43:43.468Z        DEBUG   controller.deprovisioning       discovered instance types       {"commit": "61cc8f7-dirty", "count": 671}
2023-08-15T10:48:45.492Z        DEBUG   controller.deprovisioning       discovered instance types       {"commit": "61cc8f7-dirty", "count": 680}
2023-08-15T11:09:36.003Z        INFO    controller.provisioner  found provisionable pod(s)      {"commit": "61cc8f7-dirty", "pods": 21}
2023-08-15T11:09:36.003Z        INFO    controller.provisioner  computed new machine(s) to fit pod(s)   {"commit": "61cc8f7-dirty", "machines": 1, "pods": 21}
2023-08-15T11:09:36.098Z        INFO    controller.provisioner  created machine {"commit": "61cc8f7-dirty", "provisioner": "default", "requests": {"cpu":"205m","memory":"170Mi","pods":"25"}, "instance-types": "c3.large, c3.xlarge, c4.large, c4.xlarge, c5.2xlarge and 95 other(s)"}
2023-08-15T11:09:36.348Z        DEBUG   controller.machine.lifecycle    discovered subnets      {"commit": "61cc8f7-dirty", "machine": "default-4ccsn", "provisioner": "default", "subnets": ["subnet-0b41afc07635 (eu-test-1c)", "subnet-f78bd967ff2 (eu-test-1b)", "subnet-5a11d59357 (eu-test-1a)", "subnet-09452b2a5f93 (eu-test-1b)", "subnet-55039d28900 (eu-test-1a)", "subnet-0d29b178ffc1 (eu-test-1c)"]}
2023-08-15T11:09:37.027Z        DEBUG   controller.machine.lifecycle    created launch template {"commit": "61cc8f7-dirty", "machine": "default-4ccsn", "provisioner": "default", "launch-template-name": "karpenter.k8s.aws/17079xxx166853205527", "id": "lt-0bfcffbed50f73c21"}
2023-08-15T11:09:37.222Z        DEBUG   controller.machine.lifecycle    created launch template {"commit": "61cc8f7-dirty", "machine": "default-4ccsn", "provisioner": "default", "launch-template-name": "karpenter.k8s.aws/16272564820493801953", "id": "lt-0488467989a81c729"}
2023-08-15T11:09:39.359Z        INFO    controller.machine.lifecycle    launched machine        {"commit": "61cc8f7-dirty", "machine": "default-4ccsn", "provisioner": "default", "provider-id": "aws:///eu-test-1a/i-9a2ccaced847", "instance-type": "c5.large", "zone": "eu-test-1a", "capacity-type": "spot", "allocatable": {"cpu":"1930m","ephemeral-storage":"17Gi","memory":"3114Mi","pods":"29"}}
2023-08-15T11:10:03.031Z        DEBUG   controller.machine.lifecycle    registered machine      {"commit": "61cc8f7-dirty", "machine": "default-4ccsn", "provisioner": "default", "provider-id": "aws:///eu-test-1a/i-9a2ccaced847", "node": "ip-10-xxx-3-119.eu-test-1.compute.internal"}
2023-08-15T11:10:15.465Z        DEBUG   controller.machine.lifecycle    initialized machine     {"commit": "61cc8f7-dirty", "machine": "default-4ccsn", "provisioner": "default", "provider-id": "aws:///eu-test-1a/i-9a2ccaced847", "node": "ip-10-xxx-3-119.eu-test-1.compute.internal"}
2023-08-15T11:13:03.513Z        DEBUG   controller.awsnodetemplate      discovered subnets      {"commit": "61cc8f7-dirty", "awsnodetemplate": "default", "subnets": ["subnet-0b41afc07635 (eu-test-1c)", "subnet-f78bd967ff2 (eu-test-1b)", "subnet-5a11d59357 (eu-test-1a)", "subnet-09452b2a5f93 (eu-test-1b)", "subnet-55039d28900 (eu-test-1a)", "subnet-0d29b178ffc1 (eu-test-1c)"]}
2023-08-15T11:19:50.684Z        DEBUG   controller      deleted launch template {"commit": "61cc8f7-dirty", "id": "lt-0bfcffbed50f73c21", "name": "karpenter.k8s.aws/17079111166853205527"}
2023-08-15T11:19:50.782Z        DEBUG   controller      deleted launch template {"commit": "61cc8f7-dirty", "id": "lt-0488467989a81c729", "name": "karpenter.k8s.aws/16272564820493801953"}

seems node was terminated by spot instance termination policy after 7 hours, below are the logs:
k get provisioners -o yaml
apiVersion: v1
items:

apiVersion: karpenter.sh/v1alpha5
kind: Provisioner
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"karpenter.sh/v1alpha5","kind":"Provisioner","metadata":{"annotations":{},"name":"default"},"spec":{"limits":{"resources":{"cpu":1000}},"providerRef":{"name":"default"},"requirements":[{"key":"karpenter.sh/capacity-type","operator":"In","values":["spot"]}],"ttlSecondsAfterEmpty":30}}
creationTimestamp: "2023-08-11T15:16:57Z"
generation: 1
name: default
resourceVersion: "43296334"
uid: 5f44f202-591e-481a-8303-869749b342fe
spec:
limits:
resources:
cpu: 1k
providerRef:
name: default
requirements:

key: karpenter.sh/capacity-type
operator: In
values:

spot

key: kubernetes.io/os
operator: In
values:

linux

key: kubernetes.io/arch
operator: In
values:

amd64

key: karpenter.k8s.aws/instance-category
operator: In
values:

c
m
r

key: karpenter.k8s.aws/instance-generation
operator: Gt
values:

"2"
ttlSecondsAfterEmpty: 30
status: {}
kind: List
metadata:
resourceVersion: ""

kubectl get awsnodetemplates -o yaml
apiVersion: v1
items:

apiVersion: karpenter.k8s.aws/v1alpha1
kind: AWSNodeTemplate
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"karpenter.k8s.aws/v1alpha1","kind":"AWSNodeTemplate","metadata":{"annotations":{},"name":"default"},"spec":{"securityGroupSelector":{"kubernetes.io/cluster/eks-test":"owned"},"subnetSelector":{"kubernetes.io/cluster/eks-test":"shared"},"tags":{"karpenter.sh/discovery":"eks-test"}}}
creationTimestamp: "2023-08-11T15:23:25Z"
generation: 1
name: default
resourceVersion: "43567879"
uid: 43ecaeee-2222-4be1-a27f-88374fd2425b
spec:
securityGroupSelector:
kubernetes.io/cluster/eks-test: owned
subnetSelector:
kubernetes.io/cluster/eks-test: shared
tags:
karpenter.sh/discovery: eks-test
kind: List
metadata:
resourceVersion: ""

@premsgr6 i think you do not have set any of .spec.consolidation.enabled or .spec.ttlSecondsAfterEmpty in your provisioner spec, see this documentation
Automated deprovisioning is configured through the ProvisionerSpec .ttlSecondsAfterEmpty, .ttlSecondsUntilExpired and .consolidation.enabled fields. If these are not configured, Karpenter will not set default values for them and will not terminate nodes for that purpose.

@premsgr6 i think you do not have set any of .spec.consolidation.enabled or .spec.ttlSecondsAfterEmpty in your provisioner spec, see this documentation
Automated deprovisioning is configured through the ProvisionerSpec .ttlSecondsAfterEmpty, .ttlSecondsUntilExpired and .consolidation.enabled fields. If these are not configured, Karpenter will not set default values for them and will not terminate nodes for that purpose.

.ttlSecondsAfterEmpty is configured for default provisioner:

Is the provisioner you pasted above a different one? Because it looks like that one does not have ttlSsecondsAfterEmpty? Or did it just get dropped from the copy/paste?

ttlSecondsAfterEmpty will only terminate the node if there are 0 pods running on the node (other than daemonsets). Do you know if the only pod running on the node was a daemonset or not?
Are you able to reproduce this issue?

I am also facing similar kind of issue, is there a way to move/migrate least load on new node to existing node and remove the new node. e.g. if existing nodes are capable to run enough load  while the karpenter provisioned new node has only one pod left apart from deamonsets, is it possible for karpenter to move that one pod to existing nodes and remove the karpenter provisioned node.

Tracking through this issue, it seems like consolidation wasn't enabled in the Provisioner, which would explain why the node wasn't deprovisioning when the node was almost empty but wasn't completely empty. I'm going to close this since it looks like the remediation for the behavior is to enable consolidation.


Resource for AARP Community Connections site

Please let me know if PRs are preferred or if you want _resource requests to come thru the form.

Please use the form so that we have single source of truth.

I have added this resource via form and it should get integrated within ~1 day.


Look at my GitHub Pages-deployed static site: https://expo-gh-pages.github.io
If you directly visit https://expo-gh-pages.github.io/Links it will show you a "Page not found".
However, if you directly visit your https://contentful.github.io/gallery-app-react/gallery/54O5P32wmcY0wiAY0ewA2e it's not showing a "Page not found".
May I know where can I locate that static page's file on this repository?
And how did you deploy that site on GitHub Pages?
Many thanks !!

you can check the bundled app here the trick here is to create another 404.html file that has the same content as your index.html page so when GitHub does not find the page it fallbacks to that one

@Khaledgarbaya Yes, I located your bundle app and cloned my "index.html" as "404.html" a hour ago: https://github.com/expo-gh-pages/expo-gh-pages.github.io/blob/master/404.html
I wonder if that's the community standard approach or this one https://github.com/rafrex/spa-github-pages or else..

I think there are different ways to work around that I find the 404 trick easier


[TUBEMQ-197] Support TubeMQ connector of source for Apache Flink

Add module of 'tubemq-connectors' for project, it will contains all types of connector for TubeMQ, like Flink, Spark, etc.
Support TubeMQ connector of source for Apache Flink.

Jira link with: https://issues.apache.org/jira/browse/TUBEMQ-197

@gosonzhang

@duli559  Thanks for you contribution, LGTM.


timezone data 2024b changed the format

<EMAIL_ADDRESS>besides changing some data for old timestamps it also changed the format which e.g. required changes in gcc
details here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116657

The issue with gcc appears to have been it not handling %z in the Zone FORMAT field of the Time Zone Database data files. %z was first used in the tzdata main form release in version 2024b, but has been allowed syntax for some time.
Since that's a change to the data files (and not the compiled zoneinfo files), it could only affect the Ruby modules generated from tzdata and distributed in the tzinfo-data gem.
Support for %z was added to tzinfo-data's module generation 9 years ago. See tzinfo/tzinfo-data@f39d02fa93de4bb9d2f924cfc57f0e0045a4ecda.
The unit tests for tzinfo-data include a comparison between tzinfo's behaviour and the output from the zdump tool (see https://github.com/tzinfo/tzinfo-data/blob/v1.2024.2/test/tc_definitions.rb). The v1.2024.2 release of tzinfo-data (based on 2024b) passed all the tests.
If you've found a problem where tzinfo is not producing the correct output, please could you provide the details?

Thank you for double checking. since we saw it breaking in a few places (gcc, postgresql testsuite) i thought i would bring it up here as well :)


Fix | Fixed PreparedStatement exception handling

Fixes #995, reverts #664.
When there is an exception in a result set, it should only be parsed when the cursor is moved to that result set. This PR also makes Statement and PreparedStatement behavior consistent with each other.

Codecov Report

Merging #1003 into dev will decrease coverage by 0.05%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #1003      +/-   ##
============================================
- Coverage     50.19%   50.13%   -0.06%
+ Complexity     2885     2881       -4
============================================
  Files           120      120
  Lines         27989    27984       -5
  Branches       4677     4675       -2
============================================
- Hits          14050    14031      -19
- Misses        11684    11696      +12
- Partials       2255     2257       +2

Flag
Coverage Δ
Complexity Δ

#JDBC42
49.68% <ø> (-0.09%)
2840 <ø> (-6)

#JDBC43
50.05% <ø> (-0.12%)
2874 <ø> (-10)

Impacted Files
Coverage Δ
Complexity Δ

...m/microsoft/sqlserver/jdbc/SQLServerResultSet.java
43.75% <ø> (-0.3%)
317 <0> (-3)

...om/microsoft/sqlserver/jdbc/ReaderInputStream.java
43.95% <0%> (-3.3%)
15% <0%> (ø)

...rc/main/java/com/microsoft/sqlserver/jdbc/DDC.java
46.86% <0%> (-0.44%)
111% <0%> (-1%)

...ncurrentlinkedhashmap/ConcurrentLinkedHashMap.java
38.36% <0%> (-0.22%)
42% <0%> (-1%)

...in/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
55.55% <0%> (-0.17%)
0% <0%> (ø)

...c/main/java/com/microsoft/sqlserver/jdbc/Util.java
62.93% <0%> (+0.43%)
92% <0%> (+1%)
:arrow_up:

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 e432aa1...aa047ab. Read the comment docs.

Codecov Report

Merging #1003 into dev will decrease coverage by 0.05%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #1003      +/-   ##
============================================
- Coverage     50.19%   50.13%   -0.06%
+ Complexity     2885     2881       -4
============================================
  Files           120      120
  Lines         27989    27984       -5
  Branches       4677     4675       -2
============================================
- Hits          14050    14031      -19
- Misses        11684    11696      +12
- Partials       2255     2257       +2

Flag
Coverage Δ
Complexity Δ

#JDBC42
49.68% <ø> (-0.09%)
2840 <ø> (-6)

#JDBC43
50.05% <ø> (-0.12%)
2874 <ø> (-10)

Impacted Files
Coverage Δ
Complexity Δ

...m/microsoft/sqlserver/jdbc/SQLServerResultSet.java
43.75% <ø> (-0.3%)
317 <0> (-3)

...om/microsoft/sqlserver/jdbc/ReaderInputStream.java
43.95% <0%> (-3.3%)
15% <0%> (ø)

...rc/main/java/com/microsoft/sqlserver/jdbc/DDC.java
46.86% <0%> (-0.44%)
111% <0%> (-1%)

...ncurrentlinkedhashmap/ConcurrentLinkedHashMap.java
38.36% <0%> (-0.22%)
42% <0%> (-1%)

...in/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
55.55% <0%> (-0.17%)
0% <0%> (ø)

...c/main/java/com/microsoft/sqlserver/jdbc/Util.java
62.93% <0%> (+0.43%)
92% <0%> (+1%)
:arrow_up:

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 e432aa1...aa047ab. Read the comment docs.


(or suggestion) 1. the opacity of the views and bookmark button did not change, 2. maybe dim down the ...

(or suggestion) 1. the opacity of the views and bookmark button did not change, 2. maybe dim down the opacity of everything except the top bar and menu (like all the white space) and 3. maybe make the menu pop up in the middle of the screen instead of on the left

what do you mean?


SCM - multi-line commit message not shown in the graph hover

Steps to Reproduce:

Create a commit with a multi-line commit message
Open the "Source Control Graph" view and hover over the commit
Only the first line of the commit message is shown

not sure if this is the expected behavior, but newlines aren't being shown on hover. All compressed into a single line. Otherwise working properly.
commit text:
line 1
line 2
line 3

source control graph:

Opening for now - I would expect them to be multi-line. I'd imagine that lots of people would use a newline for the purpose of creating a break in the text that would otherwise not make sense if it was just a space.


Goodreads command

The command !goodreads (alias !gr) should return a link to the KOA good reads page.

hello !
I would like to work on this issue if possible :)

Sure, have fun with it! 🚀

Yes @LemonHex - that would be awesome! Thanks for helping us out

Hi @LemonHex - any progress on this issue? 👋

Hi, really sorry for my inactivity. Have been out of town without a PC, I can get this issue done once I get back or if it’s more convenient for you, feel free to assign it to someone else. Again my apologies 😊

@LemonHex No problem, you can re-assign yourself if you decide to come back to work on it 😄

I would like to work on this if possible :)


Add spellchecker

https://pypi.org/project/jupyterlab-spellchecker/#description

Cool. Do you mind giving me write access or merging the pull request since only those with write access can merge pull requests?
Thanks!


change background color of transactions

Changed the background color as requested - see screenshot below:

@NJacksonDev appreciated


Can't reproduce unittest error.

I can't reproduce this error.  I've tried on a fresh install
https://github.com/byuccl/bfasst/actions/runs/7235847371/job/19713756024?pr=385
I suspect this is another case of interaction between the tools in the build directory since the unittest runs them all back-to-back.

@KeenanRileyFaulkner Unittest is failing in the CI, but I can't reproduce.  Can you reproduce the issue?

Given that the thing that failed is actually running VivadoBitAnalysis, I'm guessing that it failed due to private key/gh secret stuff, which would be difficult to reproduce locally. I don't know if it's an issue with not even trying to install the third party libraries, or if it is an issue with failure to authenticate

Good catch.  It did fail to clone the repo.  https://github.com/byuccl/bfasst/actions/runs/7235847371/job/19713756024?pr=385#step:5:5292
I'm not sure why it didn't error and stop there.


Add WACUP

WACUP is a project that aims to improve the overall Winamp experience by providing features and bugfixes to issues pertaining to Winamp 5.666.
More information can be found at https://getwacup.com/

Sorry, not that useful. Closed.

Can you state a reason as to why it's not that useful?

Considering you have Winamp in the list, and WACUP has more features and is still maintained and bugs fixed, why opt for the lesser of the 2 with no future and has bugs that will never be fixed ?
WACUP comes with support for the most common streaming media sites. It supports more formats inc. Opus, FLAC, APE.
It even supports discord and twitter notifications.
Please explain why Winamp is more useful ?

@rafamoreira You should reconsider. Winamp is in the past, WACUP is the future. We can go into this in detail if you like. It's worth considering.

It's been almost 2 weeks since it got denied for no real reason, and I guess that we shouldn't expect a response from @rahulkapoor90, despite being active in this repository, having commited and merged a pull request 3 days ago.
It's sad that when trying to engage into the open source community (which is managed by only one person) by trying to commit something useful, it gets shut down with no real explanation.

Hi Guys,
I haven’t forgot about this thing. Apologies, from my side  as i have been really busy with work. I really want to support your contribution and will definitely check this tool by tonight and get back with response. Cheers!
On 5 Mar 2020, 7:32 PM +1000, Gordon Freeman<EMAIL_ADDRESS>wrote:

It's been almost 2 weeks since it got denied for no real reason, and I guess that we shouldn't expect a response from @rahulkapoor90, despite being active in this repository, having commited and merged a pull request 3 days ago.
It's sad that when trying to engage into the open source community (which is managed by only one person) by trying to commit something useful, it gets shut down with no real explanation.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I've actually just completed testing the product extensively. It's definitely maintained and good addition to this repository. I've added. thanks @The1Freeman 👍

Thank you so much!
I'm happy we were able to solve this after all :)

Onwards and upwards


status quo: Alan hates writing a Stream

Rendered

Updated with more code and made some sentences clearer.
(I was pleasantly surprised that the code was marginally less gross, since now the compiler lets me move even inside a match arm like State::File(ref mut file) => { .. }, since it can see I don't touch file again. That didn't used to be the case :D)


Error: Could not find haxelib "linc_luajit", does it need to be installed?

Describe your bug here.
this error appears when i try to build the game
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
no

Yes, here the command to install linc_luajit
haxelib git linc_luajit https://github.com/superpowers04/linc_luajit


Review use of ModelExplorer in validation/modelbinding code

There's some branches of the ModelBinding and Validation code that use ModelExplorer to access properties and 'walk' the model.
The issue with this is that ModelExplorer is based on the runtime type of the model and will access sub-properties based on the runtime type (not the declared type).
Is this the right thing to do for validation?

Need to come up with a scenario and test it in MVC 5.

Seems related to #2494

Verified in the code that we're never using ModelExplorer.Properties - we always use ModelMetadata.Properties.
The goal of this item is to refactor without a behavior change. Moving to beta7 as discussed.

0d6edf240ac9fcb3f691319f4a7a63a1fa411b99


PHOENIX-6534 Upgrades from pre 4.10 versions are broken

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
9m 30s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

+1 :green_heart:
mvninstall
24m 27s
master passed

+0
hbaserecompile
31m 36s
HBase recompiled.

+1 :green_heart:
compile
1m  7s
master passed

+1 :green_heart:
checkstyle
1m 21s
master passed

+1 :green_heart:
javadoc
0m 53s
master passed

+0 :ok:
spotbugs
3m 27s
phoenix-core in master has 972 extant spotbugs warnings.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
18m 52s
the patch passed

+0
hbaserecompile
30m 50s
HBase recompiled.

+1 :green_heart:
compile
1m 21s
the patch passed

+1 :green_heart:
javac
1m 21s
the patch passed

-1 :x:
checkstyle
1m 35s
phoenix-core: The patch generated 1 new + 1394 unchanged - 0 fixed = 1395 total (was 1394)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
javadoc
1m  5s
the patch passed

+1 :green_heart:
spotbugs
4m 16s
the patch passed

_ Other Tests _

-1 :x:
unit
158m 46s
phoenix-core in the patch failed.

+1 :green_heart:
asflicense
0m 59s
The patch does not generate ASF License warnings.

247m 28s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1293/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/phoenix/pull/1293

Optional Tests
dupname asflicense javac javadoc unit spotbugs hbaserebuild hbaseanti checkstyle compile

uname
Linux fa7c0bab6ff3 4.15.0-153-generic #160-Ubuntu SMP Thu Jul 29 06:54:29 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev/phoenix-personality.sh

git revision
master / 67cef07

Default Java
Private Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08

checkstyle
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1293/1/artifact/yetus-general-check/output/diff-checkstyle-phoenix-core.txt

unit
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1293/1/artifact/yetus-general-check/output/patch-unit-phoenix-core.txt

Test Results
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1293/1/testReport/

Max. process+thread count
5936 (vs. ulimit of 30000)

modules
C: phoenix-core U: phoenix-core

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1293/1/console

versions
git=2.7.4 maven=3.3.9 spotbugs=4.1.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


Editor does not reflect content change after atomic block deletion

I want to report a bug.
I have a customized atomic block in draft js editor. To add and delete the customized block, I build the following two functions(addAtomicBlock and deleteAtomicBlock). addAtomicBlock works fine. The newly-added block appears after addAtomicBlock is called.
However, when deleteAtomicBlock is called, Draft editor does not re-render to make the deleted block disappear. I have to refresh the page, essential read the updated content from backend by calling createWithContent to make the deleted block disappear.
The editorState is kept locally in the component. No Redux or other caching mechanism is used. Can anyone help take a look? Thanks a lot.
onChange = (editorState) => {
	const currentContent = this.state.editorState.getCurrentContent()
	const newContent = editorState.getCurrentContent()
	if (!equal(currentContent, newContent)) {
		this.saveContent(newContent)
	}
	this.setState({editorState: editorState})
}

addAtomicBlock = (entityType, data) => {
	const editorState = this.state.editorState
	const contentState = editorState.getCurrentContent();
	const contentStateWithEntity = contentState.createEntity(
		entityType,
		'IMMUTABLE',
		data
	);
	const entityKey = contentStateWithEntity.getLastCreatedEntityKey();
	const newEditorState = AtomicBlockUtils.insertAtomicBlock(
		editorState,
		entityKey,
		' '
	);
	this.onChange(newEditorState)
	return newEditorState
}

deleteAtomicBlock = (blockKey) => {
	const editorState = this.state.editorState
	const contentState = editorState.getCurrentContent()
	const blockKeyBefore = contentState.getKeyBefore(blockKey)
	const blockKeyAfter = contentState.getKeyAfter(blockKey)
	const selectionState = editorState.getSelection()

	// Start Updating Content State
	const selectAtomic = selectionState.merge(
		{anchorKey: blockKeyBefore, anchorOffset: contentState.getBlockForKey(blockKeyBefore).getLength(), focusKey: blockKey, focusOffset: contentState.getBlockForKey(blockKey).getLength()}
	)
	const contentStateAfterRemoval = Modifier.removeRange(
		contentState,
		selectAtomic,
		'forward'
	)
	const selectAfter = selectAtomic.merge(
		{anchorKey: blockKeyAfter, anchorOffset: 0, focusKey: blockKeyAfter, focusOffset: 0}
	)
	const contentWithSeletAfter = contentStateAfterRemoval.merge(
		{selectionAfter: selectAfter}
	)
	const newState = EditorState.push(
		this.state.editorState,
		contentWithSeletAfter,
		'remove-range'
	)

	this.onChange(newState)
}

I am using Draft js 0.10.4, React 16.2.0 Chrome Version 63.0.3239.108.

have you solved this ?

Looks like this issue still here. There are 2 issues with Modifier.removeRange function.

With forward selection, it fail to merge block type into the cleared block. So, If you have atomic block right below selection to delete, it will not preseve atomic type
Same happening with block data. It just discard it


Quota association validation

added parent and sub-quotas association validation.
fixed Review and submit crash if no sub-quotas added.

 [DIT] Create quota ui fixes


MVPoly/monomials: improve generation of random generation

Cherry-picked from https://github.com/o1-labs/proof-systems/pull/2702/

Note that the failing test caught by the CI is removed in https://github.com/o1-labs/proof-systems/pull/2871. The CI should be less flaky after !2871 is merged. Restarting the CI.

As the CI is annoyingly failing, I will rebase on top of https://github.com/o1-labs/proof-systems/pull/2871 and change the target branch of 2871 to maser.


Self-hosting

This is a tracking issue for running purescm on purescm. Self-hosting purescm is useful because it's a nice use case for purescm and provides a better user experience. We don't have to shell out to scheme anymore and can leverage native threads for compilation among other things.
The steps to accomplish this are:

[ ] Add support for incremental compilation. Working on purescm-on-purescm will otherwise be very painful, as running the test suite would do a full rebuild twice. Once for purescm itself and then once for the test suite. Incremental compilation should be possible by still using backend-optimizer's API, we just lose ALL the inlining and have to implement some of those by hand.
[ ] Replace Aff usage with Effect. We don't rely on parallelism so this should be quite straight forward.
[ ] Remove all Node.* dependencies. This is basically just reading and writing files and doing file globbing. All non-portable stuff should now be in FFI.
[ ] Add backend-optimizer to the purescm package-set. backend-optimizer itself probably works, but there are a few dependencies that need FFI definitions, like ansi.
[ ] Implement all FFI in scheme. After this we support both node and purescm backends in purescm.
[ ] Replace scheme shell calls with function calls. This is basically just the bundling phase and we can actually compile each scheme file individually to catch more bugs at compile time (Chez has it's own checks when compiling AoT). Currently we only compile scheme files as part of bundling.
[ ] Refactor FFI stuff to ChezLib

I had a shot at implementing IO in the last months. It's all sync so it blocks all the time, and that is not desirable, which transforms it into a thread-coordination problem, and I don't like where that is going.
Currently sitting on it pondering options, I think our best shots are either using Swish (which gives us erlang-style async, and includes nice things like an http server), or directly binding to libuv

I had a shot at implementing IO in the last months. It's all sync so it blocks all the time, and that is not desirable, which transforms it into a thread-coordination problem, and I don't like where that is going.

Do you think we need to tackle async IO before self-hosting? I don't see it blocking this.

Do you think we need to tackle async IO before self-hosting? I don't see it blocking this.

Yeah I hope it's not a big block. Just noting that the builtin IO facilities are underwhelming and I didn't get them to work reliably yet, hence why I started looking for something easier to integrate.


Can't load rules with A/N protocol

There were error(s) loading the rules: /tmp/rules.debug:409: unknown protocol a - The line in question reads [409]: block in quick on re0_vlan99 reply-to ( re0_vlan99 <IP_ADDRESS> ) inet proto a/n from {any} to {any} label "9fb69f05dcc290de9015939ac2bf4d2d"
Probably doesn't like the slash in 'a/n'
OPNsense 23.7.4
FreeBSD 13.2-RELEASE-p3
OpenSSL 1.1.1v 1 Aug 2023
11th Gen Intel(R) Core(TM) i3-1115G4 @ 3.00GHz
Some Realtek NIC

Quoting the string probably works. But please don’t quote the protocol numbers if they are passed to the config.

Don't see a mechanism in the GUI for quoting rule protocol.

That’s good, because I never said “GUI”.

Never said not GUI either.  ;)  But GUI has the A/N protocol available for rules and it fails to load when applying.  Seems that if it's going to be available for specifying in the GUI that it should be made to work or be removed.

Never said not[sic] GUI either. ;)

Don't see a mechanism in the GUI for quoting rule protocol.

Talking about what you said/didn't say.  Not what I said.  But that's just pettiness that can go around in circles off the rails indefinitely.
Meanwhile back on the rails...
Setting the A/N protocol in the GUI is broken.
Will it be fixed?  Guess time will tell.

I just tested it too in the GUI with a protocol A/N rule and it resulted in the same error:
2023-09-25T08:54:00	Error	firewall	There were error(s) loading the rules: /tmp/rules.debug:472: unknown protocol a - The line in question reads [472]: pass in quick on hn5 inet proto a/n from {any} to {any} keep state label "c3154db8bf416dc89514303dc66ec964"
Looking at the IANA protocol numbers, it looks like it's the only protocol with "/" in its keyword.
I'm not even sure who uses this protocol though, if it would be a decently popular one it might have been found earlier. Just giving my two cents here.

Go to /tmp/rules.debug and try to quote the value like "a/n" and try to reload:
# pfctl -f /tmp/rules.debug

If this works a fix is pretty trivial. I've already outlined the required changes but they seem to get lost in "pettiness". ;)

@NOYB I'm going to ban you now because working with you is too tedious. You've had too many screwups.


Linear region declaring all structs

Looks like we declare all immutable structs into the linear region. Perhaps only do that for exported ones?

Search for https://github.com/ValeLang/Vale/issues/479 in codebase to see where.


Feat: Add address balance to address pages

Description of change

Add address balance to address pages

Closes https://github.com/iotaledger/explorer/issues/1073
Type of change

Enhancement (a non-breaking change which adds functionality)

Should work like this, but didn't have a chance to fully test it as Chronicle is dead at the moment.


mxnet r: how to initialize new training session with results from previous session

Dumb noob question, but after reading through tutorials and documentation and trying for several hours, I can't figure out how to initialize weights to the results of a previous training session. I'd like to be able to check every 50 rounds or so how the model is fitting my test set, and update learning rate, momentum, etc. accordingly. I've tried setting mx.model.FeedForward.create(..., arg.params=old_model$arg.params) but it doesn't seem to work.
Thanks in advance!

I'm closing my own issue. I got it to work in the following way:
model <- mx.model.FeedForward.create(...)
layer_weights <- model$arg.params
model <- mx.model.FeedForward.create(..., arg.params=layer_weights)


bug: Aliasing issues for Radial progress

What version of daisyUI are you using?
2.51.5
Describe your issue
I'm seeing 'radial progress' is visibly aliased on both Chrome and Firefox (on both Ubuntu and Windows 11) at 100% zoom, but no issues noticed with other components though.

What browsers are you seeing the problem on?
Chrome, Firefox
Reproduction URL (optional)
No response

I'm having the same problem, especially when rendering the radials in small size (10-15px). I'm using a reverse radial as a notification duration indicator, so it starts at 100 and goes to 0 in the same time the notification stays open.  Any suggestions?
https://github.com/saadeghi/daisyui/assets/27052451/e1d3b104-12ef-46e1-b4c8-239e4a681dbe

I am also having this issue and I'm trying to understand why. It seems like I see some screenshots from other folks of which their implementation does not have this aliasing issue.
If I understand correctly though, this is likely to do with the way that the progress bar is constructed. It uses conic and radial gradients to create the circle. It seems especially apparent on high-resolution displays, but when using gradients like this there are very often jagged edges.
I think a better solution would probably be outside of the scope of DaisyUI considering that one would probably need to implement an SVG for the best result. But also, I've seen some approaches work with gradients. It would be nice to see this resolved.

Not sure how much this would help but +1


Migrate to Ktor 2

It's out, it's new, it's shiny, let's migrate to it!

Doesn't it support ktor 2.0? showing error for 2.0.1

Koa does not support Ktor 2 unfortunately. The migration should be easy enough (mostly around the plugins), I just haven't had time to have a look at it yet unfortunately.

According to your documentation its an awesome implementation. Please update for ktor 2.0 . At this moment no one support ktor 2.0 for open API. I have seen other two which is more or less popular to the community. But your Koa is simple and easy to implement.

Should be fixed by #7

Fixed by #7, big thanks to @ALP011216 for implementing this! 🎉 You should be able to get the new version via JitPack as per usual


Schema ignored when applying migrations during runtime for the first time

Expected/desired behavior: "Members" table is created in "mySchema"
Actual behavior: "Members" table is created in "public" (the default schema)
using System;
using System.Linq;
using Microsoft.EntityFrameworkCore;

namespace Test
{
    class MyContext : DbContext
    {
        readonly string connectionString;

        readonly string schema;

        readonly bool isParameterless;

        public MyContext()
        {
            connectionString = @"Server = <IP_ADDRESS>; Port = 5432; Database = empty; User Id = postgres; Password = 123;";

            isParameterless = true;
        }

        public MyContext(string connectionString, string schema)
        {
            this.connectionString = connectionString;

            this.schema = schema;
        }

        public DbSet<Member> Members { get; set; }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            if (!isParameterless)
                modelBuilder.Model.SetDefaultSchema(schema);
        }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseNpgsql(connectionString);
        }
    }

    class Member
    {
        public string id { get; set; }
    }

    class Programs
    {
        static void Main(string[] args)
        {
            var context = new MyContext(@"Server = <IP_ADDRESS>; Port = 5432; Database = test; User Id = postgres; Password = 123;", schema: "mySchema");

            context.Database.EnsureDeleted();

            Console.WriteLine(context.Model.GetDefaultSchema()); // "mySchema"

            Console.WriteLine(context.Model.FindEntityType(typeof(Member)).GetSchema()); // "mySchema"

            context.Database.Migrate();

            Console.WriteLine(context.Model.GetDefaultSchema()); // "mySchema"

            Console.WriteLine(context.Model.FindEntityType(typeof(Member)).GetSchema()); // "mySchema"

            context.Members.FromSqlRaw(@"SELECT * FROM public.""Members""").ToList(); // no exception

            context.Members.FromSqlRaw(@"SELECT * FROM  ""mySchema"".""Members""").ToList(); // Npgsql.PostgresException: '42P01: relation "mySchema.Members" does not exist'

            context.Database.ExecuteSqlRaw(@"CREATE TABLE public.test()"); // no exception

            context.Database.ExecuteSqlRaw(@"CREATE TABLE ""mySchema"".test()"); // Npgsql.PostgresException: '3F000: schema "mySchema" does not exist'
        }
    }
}

Migrations were generated for this code using the following command:
dotnet ef migrations add init -v
Further technical details
EF Core version: 3.1.0
Database provider: Npgsql.EntityFrameworkCore.PostgreSQL (3.1.0)
Target framework: NET Core 3.0
Edit:
I thought my SO question got buried but I got a response.

@mintf Stack Overflow answer seems correct. /cc @roji

@ajcvickers
I have updated the issue to clear any misunderstanding. Please have another look.

@mintf When context.Database.Migrate(); is called it will run the already-generated migrations. It will not generate new migrations if the model is now different. The migration included in the repro project was generated from the model created using the context default constructor. This model does not have the default schema set, and hence the migration does not have the default schema set.
See #9965 for the idea of parameterizing the model on schema, which may be what you are looking for. Also, context.Database.EnsureCreated(); can be used to create the database based on the current model, ignoring generated migrations.

@ajcvickers
Thanks for explaining!
I think this is what I'll try next:
migrations not applied: include the schema in the connection string (as an argument to Postgres's Search Path parameter) and pass it to MigrationsHistoryTable()  to force the migration in the schema
migrations applied: use ModelCacheKeyFactory and HasDefaultSchema()


STY: improve QC of unprocessed data

enh: add QC criteria inspired from the Teves 2023 paper
fix: rename qaqc-criteria.md to qaqc-criteria-unprocessed.md

@celprov - what is the status of this?

I revised the text of the QC on unprocessed data. I don't remember why I left it, in work in progress.
I will have a look at this PR, #385, and work on separating QA vs exclusion criteria on fMRIPrep report in one block soonish.

Working on this, please do not merge yet :)


Build projects in wamr-test-suites with multiple cores

Build several projects in wamr-test-suites with multiple cores to reduce
the compilation time.

LGTM


webhook fires a 404 after a test from gitlab instance

Hi,
I've looked at closed issue #77 but am none the wiser.
As I'm new to this it's probably me doing stuff wrong.
webhook -hooks webhook/gitlab.json -port 50100 -verbose
[webhook] 2017/02/27 23:32:26 version 2.6.0 starting
[webhook] 2017/02/27 23:32:26 setting up os signal watcher
[webhook] 2017/02/27 23:32:26 attempting to load hooks from webhook/gitlab.json
[webhook] 2017/02/27 23:32:26 os signal watcher ready
[webhook] 2017/02/27 23:32:26 found 1 hook(s) in file
[webhook] 2017/02/27 23:32:26   loaded: webhook
[webhook] 2017/02/27 23:32:26 serving hooks on http://<IP_ADDRESS>:50100/hooks/{id}

after each test fired by gitlab

[webhook] 2017/02/27 23:32:30 2017-02-27T23:32:30+01:00 | 404 |          35.705µs | example.com:50100 | POST /hooks/gitlab.json

config:
[
  {
    "id": "redeploy-webhook",
    "execute-command": "/home/user/test.sh", #set to my user and file exists
    "command-working-directory": "/home/go/go",
#go is installed in a non default directory as gitlab requires a different method of installing
    "pass-arguments-to-command":
    [
      {
        "source": "payload",
        "name": "user_name" #this is set to my gitlab username
      }
    ],
    "response-message": "Executing redeploy script",
    "trigger-rule":
    {
      "match":
      {
        "type": "value",
        "value": "secret_token_test", #actual test token
        "parameter":
        {
          "source": "header",
          "name": "X-Gitlab-Token"
        }
      }
    }
  }
]

Any help on this would be appreciated.

Thanks in advance,

M

Logs indicate that your hook id is webhook.  I failed to realize that I should call the id instead of the actual json file.
Thanks for helping me out on this one. I'm now going to try figuring out how to run this webhook of yours as a service on startup ;)
Thanks!

For the people who are interested I have the service files here:
For Ubuntu 16.04 LTS
/lib/systemd/system/webhook.service
[Unit]
Description=Webhook service
Wants=network.target

[Service]
WorkingDirectory=/home/mathijs/go/bin
User=root
ExecStart=/home/your/username/startwebhook.sh
ExecStop=/home/your/username/stopwebhook.sh
ExecReload=/home/your/username/restartwebhook.sh
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

in /home/your/username create files.
touch startwebhook.sh
touch stopwebhook.sh
touch restartwebhook.sh

Now edit files:
startwebhook.sh
#!/bin/bash
/path/to/webhook -hooks path/to/webhook/jsonfile -nopanic

stopwebhook.sh
#!/bin/bash
pkill webhook

restartwebhook.sh
#!/bin/bash
pkill webhook && /path/to/webhook -hooks path/to/webhook/jsonfile -nopanic

:+1:


Feature Request: Annotation Font Size Control

I have some students working in Voyager who have asked if it is possible to adjust the font size in the annotations.

Hi @h-tooch ,
Currently there is not a way to directly change the font size in the Voyager UI, but the annotations are responsive to browser accessibility features like 'zoom' and will change size in that way.


fn: timeouts and container exists should stop slot queuing

in theory it may be possible for an exited container to
requeue a slot, close this gap by always setting fatal error
for a slot if a container has exited.
when a client request times out or cancelled (client
disconnect, etc.) the slot should not be allowed to be
requeued and container should terminate to avoid accidental
mixing of previous response into next.

In this case, timeout/runner tests did not actually catch the more serious; second issue, since there was no cross check to see if response-request actually did match.
This is hard to detect for client containers as well as fn agent and the safest option to keep processing sane and isolated between requests is to terminate the container.
First issue is client http request cancellations, (connection close/rst), will be missed by the client container.
For regular timeouts, client code could manage this by tracking deadline, but this is hard as the container is frozen as soon as the client has timed out. And also timing/scheduler could impact the order of events, since fn agent can't always reliably guarantee that fn agent will always expire deadline after container notices that it's expired and takes action against it. Even if container tracks deadline successfully, it cannot emit a proper response since fn agent will also hit deadline soon after and might not have the chance to read the response. In addition, immediately after deadline expiry fn agent will consider the container ready for the next request, which adds additional burden on client containers since the timeout/deadline expiry may require logging to external service (or other additional processing.)
The issue also complicates billing & tracking of processing, and 1-1 relationship between client connection context to container execution is easier than other feasible options (such as letting the current request finish/run in the container, which would exceed the allowed timeout.)

aside: it seems worth the time investment to rejig the slot acquisition and associated timings to be more easy to reason about their correctness. at present we're patching races. it may take a lot of scribbles and blood, but imo worth it.


fix ResourceControlQueue::updateStatistics declaration

What problem does this PR solve?
Issue Number: close #xxx
Problem Summary:
What is changed and how it works?
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/approve

/merge

/run-unit-test

/run-unit-test

/merge

/run-integration-test
/run-unit-test

/run-integration-test


1.1.0 requires a peer of<EMAIL_ADDRESS>

Hi,
I keep getting
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
even though the latest repo shows this updated. Triggering a new NPM install doesn't do anything

Hi @sonicviz I will publish a new version this week

@sonicviz I just published a new version. Could you check if your problem persist ?

I managed to get the project working without upgrading meteor and therefore running into the issue.
But if you've published it and resolved the version dependency it should work fine I think.


add explicit to collection info

fix #408

Codecov Report
Base: 85.47% // Head: 85.53% // Increases project coverage by +0.05% :tada:

Coverage data is based on head (1135d98) compared to base (249d94c).
Patch coverage: 95.00% of modified lines in pull request are covered.

Additional details and impacted files
@@                        Coverage Diff                         @@
##           yubrew/add-airdrop-price-query     #416      +/-   ##
==================================================================
+ Coverage                           85.47%   85.53%   +0.05%
==================================================================
  Files                                  33       33
  Lines                                2947     2966      +19
==================================================================
+ Hits                                 2519     2537      +18
- Misses                                428      429       +1

Impacted Files
Coverage Δ

contracts/sg721-base/src/msg.rs
44.44% <ø> (ø)

contracts/sg721-metadata-onchain/src/lib.rs
72.91% <ø> (ø)

packages/sg2/src/tests.rs
100.00% <ø> (ø)

packages/sg721/src/lib.rs
100.00% <ø> (ø)

contracts/sg721-base/src/contract.rs
68.33% <80.00%> (+0.33%)
:arrow_up:

contracts/sg721-base/src/integration_tests.rs
100.00% <100.00%> (ø)

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Simplify spark version mngmt

cc @andypetrella
let's wait & pray for 8 travis builds now :)
P.S. advice to look only at the two last commits ;)

now it's working fine with 1.4.1+. will :rocket:


Add hide mouse class to the container if inactive

Current PR add mouse module to shower.
Only for full mode:
If mouse is not moved for timeout (default 5000ms) then mouse-hidden (configurable in options) class is added to the shower container.
And on every mouse move timer is reset and this class is being removed.
Fixes https://github.com/shower/shower/issues/377

So I made it work by replacing on with addEventListener.
But there’s a quirk:

Open slides in list mode: nothing happens so far
Enter full screen mode, stop moving cursor: you’ll get the poinless class name.
Exit full screen mode (Esc): the poinless class name will go away
Do nothing for 5s and you’ll get the poinless class name (in list mode)

Meaning that the timer should stop counting once I get back from full screen mode back to list mode.
It should be similar to the next.js module, something like if (shower.isListMode) return;

Thank you! I’ll release it shortly :)
It would be also great to write some tests for this module. So if you’ll have some time it would be awesome.


CounterStrikeSource GSLT

Counter Strike Source needs to also start the GSLT token you can install the in the Counter Strike Source scripts ??
MfG
Rusty

What ?
Can you reformulate ?

Do you mean that GSLT is now available on Counter Strike: Source?
Is is optional or required?

Counter Strike: Source is now required of GSLT

Thanks. WIll need to update the script :)

Thanks sorry for my bad english come also Germany

Done :). Thanks


Make arguments for configuration files using cli flags

Requesting further comments, or details to follow.
Posting here a message I've received:  "Why not pass the zcashd and lightwalletd binaries to --regtest as arguments? Force a user to figure out where to get those binaries from..."
Sounds fairly reasonable to me. I could probably easily also include default values that fail if they don't find something.

Adding defaults is not something to take lightly.  I know experienced programmers who vehemently opine that there should be no such thing as defaults.
In any event, let's NOT add defaults to any initial implementation.

10-4.

From another conversation:  "enabling zingo-cli to launch zcashd and lightwalletd (properly confiured) in regtest mode would help."

I think the right pattern might be:
The User has to move the zcashd and lightwalletd binaries into regest in standard locations.   Then when zingo-cli --regtest is invoked it simply looks in the standard spot.   No need for new arguments.

I think this done with #26 !


Timeout error when setting a parameter

When I try to set a parameter (for example RC1_TRIM) in my python script I receive the following message after a 2 second delay:
timeout setting RC1_TRIM to 1500.000000
However, when I check the value in MAVProxy the value has been set correctly. I found that this message is generated by mavset() in mavparm.py in pymavlink, so perhaps it is a bug there. For now I have commented out these lines (24-35) in mavparm.py to avoid having to wait 2 seconds for each parameter set.

Hi, I'm having the same issue at the moment. Did you have any luck solving it?
I am trying to limit the throttle (using v.parameter['THR_MAX'] = 0). This gives the same timeout error as you've written, although it does actually change THR_MAX to 0. However, future identical commands do not work (e.g. setting THR_MAX back to 100) - the code just hangs when you ask it to make the change.

@mrpollo I am assigning this to you. I detected the same problem when attempting to get parameter-change notification in #78

I investigated the issue. I'm almost positive this is caused by race conditions caused by threading. Spin-waiting on two separate threads for parameter confirmation causes a lot of "BAD DATA" messages to pop out nondeterministically.
A fix for this is targeted for the next major DKPY release, which should fix our threading situation.

Once this is fixed, test_12.py should be improved with the relevant asserts.

This is fixed in DKPY2 - tested on 2.0.0b5


fix: modal scrolling on small devices

Prompt Modal was not scrolling on small devices and the button was hidden. And Some elements were on top of the modal. Also, the left modal was not showing on small devices. Fixed some of the minor UI bugs.
Before

After

Close #353

@SyedMuzamilM ${side}-0 is bad. tailwind jit does not support template literals
Don’t use props to build class names dynamically


refactor(parseXML): change to use the library to parse XML

Description

Changes to use the library to parse XML.
Related Issue

Closes #57
Motivation and Context

How Has This Been Tested?

OS: Windows 10 Home
Version: 21H1
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@mitosagi If you have time, could you check this PR?

I'll check it out.

Thank you for reviewing!!
If you have any suggestions on how to improve this, please let me know.


Refactor Notification to not rely on caption prop for rendering

Since Notification relies on the caption prop to render one of the notification variants: Toast or Inline notifications.
But because of the work in #107, we need to provide a defaultProp for caption for il8n.
This will result in caption always resolving as true... basically, the current Notifcation logic needs a refactor so that it's not relying on caption prop for rendering

Deprecating Notification
Adding two distinct notification components:

ToastNotification
InlineNotification


The agent was unable to contact any other agent located on a manager node

Hello, i'm trying to read log of a container that is on a worker node and i got this issue.
2020/06/05 16:05:42 [ERROR] [http,docker,proxy] [request: /tasks/lajwjrysvy97q46ughpn5sd4g] [message: unable to redirect request to a manager node: no manager node found]
2020/06/05 16:05:42 http error: The agent was unable to contact any other agent located on a manager node (err=Unable to find an agent on any manager node) (code=500)

My cluster is deployed like this :

version: '3.8'

services:
  portainer:
    command: -H tcp://tasks.portainer-agent:9001 --tlsskipverify
    image: portainer/portainer
    depends_on:
      - portainer-agent
    deploy:
      # portainer file database doesn't support ha
      # https://github.com/portainer/portainer/issues/523
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      labels:
        - traefik.constraint-service=infra-public
        - traefik.enable=true
        - traefik.http.routers.portainer.rule=Host(`portainer.example.com`)
        - traefik.http.services.portainer.loadbalancer.server.port=9000
    volumes:
      - /mnt/ha/portainer:/data
    networks:
      - docker-socket
      - infra-public

networks:
  docker-socket:
    external: true
  infra-public:
    external: true

and the portainer agent
version: '3.8'

services:
  portainer-agent:
    image: portainer/agent
    environment:
      AGENT_CLUSTER_ADDR: tasks.portainer-agent
      CAP_HOST_MANAGEMENT: 1
    volumes:
      - /:/host
      - /var/lib/docker/volumes:/var/lib/docker/volumes
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - docker-socket
    deploy:
      mode: global
      placement:
        constraints: [node.platform.os == linux]

  dockersocket:
    image: alpine/socat
    command: tcp-listen:2375,fork,reuseaddr unix-connect:/var/run/docker.sock
    deploy:
      mode: global
      placement:
        constraints:
          - node.platform.os == linux
          - node.role == manager
    networks:
      - docker-socket
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

networks:
  docker-socket:
    external: true

Hi @oliverlj
Could you share the logs of the agent containers with us? I believe that this issue is caused by a network issue between the agents, causing one of the agent (probably one on a worker) to not be able to reach out to the rest of the cluster.

sure
fz-manager-1
2020/06/05 14:20:20 [INFO] memberlist: Suspect fz-load-balancer-1-ebbb38b591b2 has failed, no acks received
2020/06/05 14:20:24 [INFO] memberlist: Suspect fz-load-balancer-1-ebbb38b591b2 has failed, no acks received
2020/06/05 14:20:24 [INFO] memberlist: Marking fz-load-balancer-1-ebbb38b591b2 as failed, suspect timeout reached (2 peer confirmations)
2020/06/05 14:20:24 [INFO] serf: EventMemberFailed: fz-load-balancer-1-ebbb38b591b2 <IP_ADDRESS>
2020/06/05 14:21:05 [INFO] serf: EventMemberJoin: fz-load-balancer-2-e35978347e7f <IP_ADDRESS>
2020/06/05 14:21:05 [INFO] serf: EventMemberJoin: fz-load-balancer-1-eae66171fee8 <IP_ADDRESS>
2020/06/05 14:21:35 [INFO] serf: EventMemberReap: fz-load-balancer-1-ebbb38b591b2
2020/06/05 14:51:11 [INFO] memberlist: Suspect fz-load-balancer-2-e35978347e7f has failed, no acks received
2020/06/05 14:51:12 [INFO] memberlist: Marking fz-load-balancer-2-e35978347e7f as failed, suspect timeout reached (2 peer confirmations)
2020/06/05 14:51:12 [INFO] serf: EventMemberFailed: fz-load-balancer-2-e35978347e7f <IP_ADDRESS>
2020/06/05 14:51:30 [INFO] serf: attempting reconnect to fz-load-balancer-2-e35978347e7f <IP_ADDRESS>:7946
2020/06/05 14:51:50 [INFO] serf: attempting reconnect to fz-load-balancer-2-e35978347e7f <IP_ADDRESS>:7946
2020/06/05 14:52:20 [INFO] serf: EventMemberReap: fz-load-balancer-2-e35978347e7f

fz-manager-2
2020/06/05 12:10:07 [INFO] [http] [server_addr: <IP_ADDRESS>] [server_port: 9001] [secured: true] [api_version: 1.6.0] [message: Starting Agent API server]

2020/06/05 12:10:09 [INFO] memberlist: Suspect fz-load-balancer-1-2bda68c5a469 has failed, no acks received

2020/06/05 12:10:12 [INFO] memberlist: Suspect fz-load-balancer-1-2bda68c5a469 has failed, no acks received

2020/06/05 12:10:12 [INFO] memberlist: Marking fz-load-balancer-1-2bda68c5a469 as failed, suspect timeout reached (2 peer confirmations)

2020/06/05 12:10:12 [INFO] serf: EventMemberFailed: fz-load-balancer-1-2bda68c5a469 <IP_ADDRESS>

2020/06/05 12:10:12 [INFO] serf: EventMemberJoin: fz-load-balancer-1-ebbb38b591b2 <IP_ADDRESS>

2020/06/05 12:10:16 [INFO] serf: attempting reconnect to fz-load-balancer-1-2bda68c5a469 <IP_ADDRESS>:7946

2020/06/05 12:10:46 [INFO] serf: attempting reconnect to fz-load-balancer-1-2bda68c5a469 <IP_ADDRESS>:7946

2020/06/05 12:11:21 [INFO] serf: EventMemberReap: fz-load-balancer-1-2bda68c5a469

2020/06/05 14:20:22 [INFO] memberlist: Suspect fz-load-balancer-1-ebbb38b591b2 has failed, no acks received

2020/06/05 14:20:24 [INFO] memberlist: Marking fz-load-balancer-1-ebbb38b591b2 as failed, suspect timeout reached (2 peer confirmations)

2020/06/05 14:20:24 [INFO] serf: EventMemberFailed: fz-load-balancer-1-ebbb38b591b2 <IP_ADDRESS>

2020/06/05 14:21:05 [INFO] serf: EventMemberJoin: fz-load-balancer-2-e35978347e7f <IP_ADDRESS>

2020/06/05 14:21:05 [INFO] serf: EventMemberJoin: fz-load-balancer-1-eae66171fee8 <IP_ADDRESS>

2020/06/05 14:21:26 [INFO] serf: attempting reconnect to fz-load-balancer-1-ebbb38b591b2 <IP_ADDRESS>:7946

2020/06/05 14:21:36 [INFO] serf: EventMemberReap: fz-load-balancer-1-ebbb38b591b2

2020/06/05 14:51:12 [INFO] memberlist: Suspect fz-load-balancer-2-e35978347e7f has failed, no acks received

2020/06/05 14:51:12 [INFO] serf: EventMemberFailed: fz-load-balancer-2-e35978347e7f <IP_ADDRESS>

2020/06/05 14:51:16 [INFO] memberlist: Suspect fz-load-balancer-2-e35978347e7f has failed, no acks received

2020/06/05 14:51:26 [INFO] serf: attempting reconnect to fz-load-balancer-2-e35978347e7f <IP_ADDRESS>:7946

2020/06/05 14:51:46 [INFO] serf: attempting reconnect to fz-load-balancer-2-e35978347e7f <IP_ADDRESS>:7946

2020/06/05 14:52:06 [INFO] serf: attempting reconnect to fz-load-balancer-2-e35978347e7f <IP_ADDRESS>:7946

2020/06/05 14:52:21 [INFO] serf: EventMemberReap: fz-load-balancer-2-e35978347e7f

2020/06/05 15:56:51 http: TLS handshake error from <IP_ADDRESS>:59312: EOF

fz-maanger-3
2020/06/05 12:09:56 [INFO] [http] [server_addr: <IP_ADDRESS>] [server_port: 9001] [secured: true] [api_version: 1.6.0] [message: Starting Agent API server]

2020/06/05 12:09:58 [INFO] memberlist: Suspect fz-manager-2-d6badc5c5e70 has failed, no acks received

2020/06/05 12:10:02 [INFO] memberlist: Marking fz-manager-2-d6badc5c5e70 as failed, suspect timeout reached (2 peer confirmations)

2020/06/05 12:10:02 [INFO] serf: EventMemberFailed: fz-manager-2-d6badc5c5e70 <IP_ADDRESS>

2020/06/05 12:10:03 [INFO] memberlist: Suspect fz-manager-2-d6badc5c5e70 has failed, no acks received

2020/06/05 12:10:06 [INFO] serf: EventMemberJoin: fz-manager-2-25bf89e0ad3c <IP_ADDRESS>

2020/06/05 12:10:08 [INFO] memberlist: Suspect fz-load-balancer-1-2bda68c5a469 has failed, no acks received

2020/06/05 12:10:11 [INFO] memberlist: Suspect fz-load-balancer-1-2bda68c5a469 has failed, no acks received

2020/06/05 12:10:12 [INFO] memberlist: Marking fz-load-balancer-1-2bda68c5a469 as failed, suspect timeout reached (2 peer confirmations)

2020/06/05 12:10:12 [INFO] serf: EventMemberFailed: fz-load-balancer-1-2bda68c5a469 <IP_ADDRESS>

2020/06/05 12:10:12 [INFO] serf: EventMemberJoin: fz-load-balancer-1-ebbb38b591b2 <IP_ADDRESS>

2020/06/05 12:10:16 [INFO] serf: attempting reconnect to fz-load-balancer-1-2bda68c5a469 <IP_ADDRESS>:7946

2020/06/05 12:10:36 [INFO] serf: attempting reconnect to fz-manager-2-d6badc5c5e70 <IP_ADDRESS>:7946

2020/06/05 12:10:56 [INFO] serf: attempting reconnect to fz-load-balancer-1-2bda68c5a469 <IP_ADDRESS>:7946

2020/06/05 12:11:11 [INFO] serf: EventMemberReap: fz-manager-2-d6badc5c5e70

2020/06/05 12:11:26 [INFO] serf: EventMemberReap: fz-load-balancer-1-2bda68c5a469

2020/06/05 14:20:22 [INFO] memberlist: Suspect fz-load-balancer-1-ebbb38b591b2 has failed, no acks received

2020/06/05 14:20:25 [INFO] memberlist: Marking fz-load-balancer-1-ebbb38b591b2 as failed, suspect timeout reached (2 peer confirmations)

2020/06/05 14:20:25 [INFO] serf: EventMemberFailed: fz-load-balancer-1-ebbb38b591b2 <IP_ADDRESS>

2020/06/05 14:20:25 [INFO] memberlist: Suspect fz-load-balancer-1-ebbb38b591b2 has failed, no acks received

2020/06/05 14:20:46 [INFO] serf: attempting reconnect to fz-load-balancer-1-ebbb38b591b2 <IP_ADDRESS>:7946

2020/06/05 14:20:59 [INFO] serf: attempting reconnect to fz-load-balancer-1-ebbb38b591b2 <IP_ADDRESS>:7946

2020/06/05 14:21:05 [INFO] serf: EventMemberJoin: fz-load-balancer-2-e35978347e7f <IP_ADDRESS>

2020/06/05 14:21:05 [INFO] serf: EventMemberJoin: fz-load-balancer-1-eae66171fee8 <IP_ADDRESS>

2020/06/05 14:21:23 [INFO] serf: attempting reconnect to fz-load-balancer-1-ebbb38b591b2 <IP_ADDRESS>:7946

2020/06/05 14:21:26 [INFO] serf: EventMemberReap: fz-load-balancer-1-ebbb38b591b2

2020/06/05 14:51:08 [INFO] memberlist: Suspect fz-load-balancer-2-e35978347e7f has failed, no acks received

2020/06/05 14:51:12 [INFO] memberlist: Suspect fz-load-balancer-2-e35978347e7f has failed, no acks received

2020/06/05 14:51:12 [INFO] memberlist: Marking fz-load-balancer-2-e35978347e7f as failed, suspect timeout reached (2 peer confirmations)

2020/06/05 14:51:12 [INFO] serf: EventMemberFailed: fz-load-balancer-2-e35978347e7f <IP_ADDRESS>

2020/06/05 14:51:56 [INFO] serf: attempting reconnect to fz-load-balancer-2-e35978347e7f <IP_ADDRESS>:7946

2020/06/05 14:52:16 [INFO] serf: attempting reconnect to fz-load-balancer-2-e35978347e7f <IP_ADDRESS>:7946

2020/06/05 14:52:26 [INFO] serf: EventMemberReap: fz-load-balancer-2-e35978347e7f

fz-load-balancer-1
2020/06/05 14:21:05 [INFO] [http] [server_addr: <IP_ADDRESS>] [server_port: 9001] [secured: true] [api_version: 1.6.0] [message: Starting Agent API server]

2020/06/05 14:51:09 [INFO] memberlist: Suspect fz-load-balancer-2-e35978347e7f has failed, no acks received

2020/06/05 14:51:12 [INFO] serf: EventMemberFailed: fz-load-balancer-2-e35978347e7f <IP_ADDRESS>

2020/06/05 14:51:35 [INFO] serf: attempting reconnect to fz-load-balancer-2-e35978347e7f <IP_ADDRESS>:7946

2020/06/05 14:52:15 [INFO] serf: attempting reconnect to fz-load-balancer-2-e35978347e7f <IP_ADDRESS>:7946

2020/06/05 14:52:20 [INFO] serf: EventMemberReap: fz-load-balancer-2-e35978347e7f

fz-load-balancer-2
2020/06/05 19:46:58 [ERROR] [http,docker,proxy] [request: /tasks?filters=%7B%7D] [message: unable to redirect request to a manager node: no manager node found]
2020/06/05 19:46:58 http error: The agent was unable to contact any other agent located on a manager node (err=Unable to find an agent on any manager node) (code=500)
2020/06/05 19:47:01 [ERROR] [http,docker,proxy] [request: /services?filters=%7B%7D] [message: unable to redirect request to a manager node: no manager node found]
2020/06/05 19:47:01 http error: The agent was unable to contact any other agent located on a manager node (err=Unable to find an agent on any manager node) (code=500)

This mostly sounds like an issue with networking in the Swarm overlay network. Usually can be resolved by forcing a restart of the agent service.

I will try to find out on docker daemon logs

My firewall blocked request on <IP_ADDRESS>/16 of swarm network docker_gwbridge. I think this was the issue. No issue since I have allowed the range

Thanks for the feedback @oliverlj
Closing this issue for now feel free to comment if you're still having the problem and we'll reopen it.

We had the exact same issue but in our case ensuring that the availability of all the nodes in the swarm was 'Active' (not 'Paused') did the trick:
docker node ls
docker docker node update --availability active <node-id>


[Event Request] UpdateUserChecklistStatus from codeunit 1996 "Checklist Banner"

The ability to disable/enable the new CheckList Banner on logging in or opening the role center... maybe this function needs to be added to the "System Action Triggers" codeunit instead.
[IntegrationEvent(false, false)]
procedure UpdateUserChecklistStatus(UserName: Text; NewStatus: Enum "Checklist Status")
begin
end;

Availability update: We will publish a fix for this issue in the next update for release 19.


Function queries

(moved from https://code.google.com/p/solrnet/issues/detail?id=58 )
Function queries can be used in SolrNet now, but only stringly-typed.
Model function queries ( http://wiki.apache.org/solr/FunctionQuery )

Current issue has been closed as part of cleanup process, which is tracked in https://github.com/SolrNet/SolrNet/issues/338.
Please reopen if needed, hopefully helping bringing up to date with current code.


vagrant: Enable IPv6 and IP forwarding, set NFS options

Proposed Changes

This PR brings two improvements to Vagrantfile:

Enabling IPv6 and IP forwarding for all families, to make using dual-stack possible.
Setting NFS options, necessary to make NFS under vagrant-libvirt work.

Types of Changes

minor changes in Vagrantfile
Verification

VMs should have the following sysctls:
net.ipv4.ip_forward = 1
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.all.forwarding = 1

And setting up Vagrant with the following options should work (it doesn't outside this PR):
export MOUNT_TYPE=nfs
vagrant up

Linked Issues

User-Facing Change

NONE

Further Comments

@dereknola ping


Tfdataset using map instead of from_generator

The using tf.Dataset.map to map across netcdf filenames, open them, and convert to tensors allows for use of interleave, which can parallelize data input, and allows for reshuffling the file order with every epoch (not possible w/ generator currently).
From our memory leak investigation, shuffling across samples incurs a severe input-pipeline performance cost, but is required to randomize our from_generator input pipeline.  Based on tensorflow profileing~60% of the time is spent waiting for inputs when sample shuffling is used vs. 30% when no sample shuffling is performed for i/o bound model training.  (Tested with 100 files over 10 epochs)
Using map, we might be able to remove the need for sample shuffling since interleave will mix samples from shuffled file ordering.  Using a draft PR to test that offline performance is not significantly reduced with production-like workflow.

The map operation is quite a bit slower in this context.  Perhaps something in the transformation from xarray -> tensor map takes extra time here?  Regardless, closing for now

wandb


update ROTP version

I was really annoyed by constant warnings Digest::Digest is deprecated; use Digest. It was fixed already in the  ROTP gem, so I thought - why can't we use that.
soo.. here's my PR - tests are the same as before updating the gem.
I've tried also with 'rotp   => '~> 2.0.0', but it breaks one of the tests.

Hi @lubieniebieski - thanks for this, I've bumped it up to 1.6 - I hope this addresses this issue.
Cheers.


Numba 0.48 requirement

Issue description
The numba package has been introduced into SF, however, no version is pinned in requirements.txt.

Expected behavior: (What you expect to happen)
Can import Strawberry Fields well.

Actual behavior: (What actually happens)
An error is raised related to numba.

Reproduces how often: (What percentage of the time does it reproduce?)
Each time SF is being used.

System information: (post the output of import stawberryfields as sf; sf.about())

Python 3.7
StrawberryFields==0.13.0.dev0 (latest master)
numba==0.43.1

Source code and tracebacks
ImportError while loading conftest '/xanadu/strawberryfields/tests/conftest.py'.
tests/conftest.py:21: in <module>
    import strawberryfields as sf
strawberryfields/__init__.py:26: in <module>
    from .engine import Engine, LocalEngine, StarshipEngine
strawberryfields/engine.py:26: in <module>
    from .backends import load_backend
strawberryfields/backends/__init__.py:82: in <module>
    from .fockbackend import FockBackend
strawberryfields/backends/fockbackend/__init__.py:16: in <module>
    from .backend import FockBackend
strawberryfields/backends/fockbackend/backend.py:24: in <module>
    from .circuit import Circuit
strawberryfields/backends/fockbackend/circuit.py:27: in <module>
    from numba.typed import List
E   ImportError: cannot import name 'List' from 'numba.typed' (/anaconda3/lib/python3.7/site-packages/numba/typed/__init__.py)

If numba is not installed, then a simple numba import error is emitted.

Since numba is a hard requirement of SF, we should also add it to setup.py (no version pinning needed here for now)

Closing this as https://github.com/XanaduAI/strawberryfields/pull/305 got merged.


[SPARK-11100][SQL] HiveThriftServer not registering with Zookeeper

https://issues.apache.org/jira/browse/SPARK-11100

Can one of the admins verify this patch?

with this patch, can we launch multiple thrift server instances and enable client to submit application without sensing particular thrift server addresses instead of zookeeper port?

Yes,jdbc url like this:
jdbc:hive2://zk1,zk2,zk3/default;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=sparkhiveserver2
see:https://issues.apache.org/jira/browse/HIVE-8376

Yeah I think it is a nice feature which can bring HA into spark Thrift Server. Have you testet it yet?

Yes,My test is OK.

@liancheng can you help to review this PR? Thanks very much!

Jenkins, this is ok to test.
@xiaowangyu can you describe your test setup briefly?
@liancheng if you have time please review.

Test this issue:
1.Add property to hive-site.xml
hive.server2.support.dynamic.service.discovery=true
hive.server2.zookeeper.namespace=sparkhiveserver2
hive.zookeeper.quorum=zk1,zk2,zk3

2.Start up sparkthriftserver
3.In the zookeeper path /sparkhiveserver2 will see:
serverUri=x.x.x.x:10000;version=1.2.1.spark;sequence=0000000026

4.Connect sparkthriftserver by beeline command:
!connect jdbc:hive2://zk1,zk2,zk3/default;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=sparkhiveserver2

ok to test

Test build #47849 has started for PR 9113 at commit 43769ea.

Test build #47849 has finished for PR 9113 at commit 43769ea.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/47849/
Test PASSed.

Merged build finished. Test PASSed.

Will this be in Spark 1.6.1?
Thanks

+1 to this feature, may need to add this doc http://spark.apache.org/docs/latest/sql-programming-guide.html#running-the-thrift-jdbcodbc-server

good job!

Any one can merge this patch?

@xiaowangyu
1.Can you tell me how to work? Thrift server is easy to dump because of too many beelines. If beeline can choose less-load thrift server.

@viper-kun
It is use zookeeper to choose the active thrift server when you connect by beeline or jdbc.
It only happen on the connect time. after connected, if the thrift server is down. the connection should be reconnect by client!

@xiaowangyu  What I means is how to choose which active thrift server.It chooses random or by thrift server load.

@viper-kun It's random!
You can check the code from hive:
https://github.com/apache/hive/blob/release-1.2.1/jdbc/src/java/org/apache/hive/jdbc/ZooKeeperHiveClientHelper.java#L53-L93

@xiaowangyu the thrift server has gone through a lot of changes lately, and we are not sure whether we'd want to keep the existing thrift server at all because it has a huge amount of technical debt. More so, I'm not sure if the zookeeper approach chosen by Hive is that great, since it is pretty difficult to operate in practice so I'm not sure if this would become the long-term solution. For now, I'd recommend you patching your own version of Spark to get this functionality.

@rxin
Thanks! I get it.
BTW,any component will take the place of the thrift server?

We have currently inlined the Hive thrift server into the code base, but the long-term replacement is to be determined. I don't think anybody has thought a lot about it yet.
Do you mind closing this pull request for now? Thanks.

@rxin  Is there any design about replacement?

@viper-kun no - as I said, "I don't think anybody has thought a lot about it yet."

Thanks! I close it.


activeDirectoryRealm.principalSuffix isn't honoured

While using shiro for auth in my project I noticed that, activeDirectoryRealm.principalSuffix is not honoured for authentication, however, for getRoleNamesForUser it does append the same.
Looking at the tcpdump, it appears activeDirectoryRealm.principalSuffix isn't honoured. As a result, the bind request searches for user_name, rather than<EMAIL_ADDRESS>Also note that if I try to login as username<EMAIL_ADDRESS>I do authenticate as I'm found in the directory server

I see this working now, not sure why it was not working earlier. Closing this.


[Feature Request] allow exporting virtual environments

It would be great if uv provided a way to export virtual environments to some formats like .tar.gz.
This is useful when preparing environments for PySpark.
venv-pack is a tool which does exactly that, but it's painfully slow. I'm sure uv could do the same task in a fraction of what it takes for venv-pack :crab:

That's exactly the use case that made me contribute uv venv --relocatable :-) all that is missing is the archival/compression which in your case is a simple tar czf of the finished venv.

Hey, getting back to this...
It doesn't seem like the --relocatable  flag is working as expected.
❯ uv venv --relocatable
Using CPython 3.11.9
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate
❯ cd ./.venv/bin
❯ ls -lh
total 44K
-rw-r--r-- 1 dan dan 3.7K Oct  2 13:42 activate
-rw-r--r-- 1 dan dan 2.2K Oct  2 13:42 activate.bat
-rw-r--r-- 1 dan dan 2.6K Oct  2 13:42 activate.csh
-rw-r--r-- 1 dan dan 4.2K Oct  2 13:42 activate.fish
-rw-r--r-- 1 dan dan 3.8K Oct  2 13:42 activate.nu
-rw-r--r-- 1 dan dan 2.8K Oct  2 13:42 activate.ps1
-rw-r--r-- 1 dan dan 2.4K Oct  2 13:42 activate_this.py
-rw-r--r-- 1 dan dan 1.7K Oct  2 13:42 deactivate.bat
-rw-r--r-- 1 dan dan 1.2K Oct  2 13:42 pydoc.bat
lrwxrwxrwx 1 dan dan   79 Oct  2 13:42 python -> /home/dan/.local/share/uv/python/cpython-3.11.9-linux-x86_64-gnu/bin/python3.11
lrwxrwxrwx 1 dan dan    6 Oct  2 13:42 python3 -> python
lrwxrwxrwx 1 dan dan    6 Oct  2 13:42 python3.11 -> python

Looks like the python executable is a symlink (which is not exactly relocatable).
Is there anything I'm missing here?

I think relocatable currently covers this use case: you rename the project folder, like if project1 is now project1.1. I don't think it does more. Without --relocatable, even that breaks (absolute paths in .venv/bin/ stubs break, like for example the executable 'app' installed by uv init --package app.)

Yeah we don't support bundling the interpreter in the environment yet, but want to.

Yes, that's right, this was not part of the initial use case that drove me to add --relocatable -- I was happy to take the base interpreter installation for granted.
This works very well for distribution formats like RPM or DEB (where you can register a dependency on a base Python package) but not at all end-user/desktop installs (whereby a system-wide Python installation is not expected or even desirable).
Some more thoughts on how one could solve the end-user-redistributability use case from first principles:
On terminology/semantics: by the time you bundle an interpreter with the virtual environment it's arguably no longer 'virtual'. Rather what you have is a fully fledged Python installation (could indeed be one coming from uv python install), that you are augmenting with further packages installed at system-site-packages-level.
So, this is mostly already achievable using stock uv functionality -- it's uv python install followed by uv pip install --system. The only problem here is the relocatable entrypoints. Currently the only user-facing way to generate relocatable entrypoint scripts is by using uv venv --relocatable... but in this case there is no venv at all! So there is no way to propagate the relocatable: true argument all the way down to the wheel installer.
A few options seem to naturally come out of this:

uv package command that does a fully opinionated one-stop-shop thing.

Pros: simplest UX.
Cons: this would probably be strongly-coupled to uv python install, which is currently really enterprise-unfriendly (in a lot of regulated enterprises, downloading arbitrary Python binaries direct from GitHub is a fireable offence)

uv pip install --system could imply relocatable: true.

Pros: this lines up with Python binary distributions already being relocatable -- if python{,.exe} is relocatable then it makes a lot of sense its sibling/dependent scripts to also be relocatable.
Cons: is this an implicit behaviour we are comfortable with? Relocatable entrypoints do have a few corner cases e.g. #6489 which means that there is a minor loss of compatibility.

Add --relocatable param to uv pip install

Pros: low level control
Cons: fragmented UX?

Thanks for brainstorming this @paveldikov. I think this would be a killer feature especially for offline environment deployments. I expect --relocatable allow one to move a venv anywhere on the file system and still function, is that correct? Symlinks are somewhat tricky on Windows since they can require elevation to make them (unlike hardlinks) which isn't usually available in enterprise environments, so hopefully --relocatable doesn't depend on symlinks for the Windows implementation.
I think --with-python and --with-uv would be awesome options to add to venv creation since these flags would let someone move the venv onto another computer that might not have python or uv installed at all.
Maybe there could also be another flag so that one can target additional platforms that the venv should function in. By default, it targets the current platform, but it would be nice to create a venv that also grabs the wheels necessary for a different platform so that the venv could be moved there and still function. I think it would be a powerful feature, but I don't know what the API would look like, maybe --platforms=current,win_amd64,win32,macosx_10_12_x86_64,... with --platforms=current being the implied default?

Cons: this would probably be strongly-coupled to uv python install, which is currently really enterprise-unfriendly (in a lot of regulated enterprises, downloading arbitrary Python binaries direct from GitHub is a fireable offence)

I think it would be cool if uv just bundled the latest python interpreter inside the respective uv platform binary for bootstrapping purposes, but not sure how the Astral team would feel about this or if it makes sense without having the rest of the standard library.

Deliberately ignore the 'virtual' semantics and implement a mode of uv venv that actually completely clones the interpreter in its entirety.

I think this option makes the most sense to me.

downloading arbitrary Python binaries direct from GitHub is a fireable offence

For what it's worth, we're maintaining those binaries — they're not arbitrary. How's uv being installed? Isn't that a binary from GitHub? Note there's a UV_PYTHON_INSTALL_MIRROR which allows you to download from an internal mirror of the binaries.

I also think we can only create environments with a bundled Python interpreter if the interpreter itself is relocatable, i.e., it would need to be one of our managed Python interpreters not an arbitrary system interpreter.

downloading arbitrary Python binaries direct from GitHub is a fireable offence

For what it's worth, we're maintaining those binaries — they're not arbitrary. How's uv being installed? Isn't that a binary from GitHub? Note there's a UV_PYTHON_INSTALL_MIRROR which allows you to download from an internal mirror of the binaries.

Oh, by arbitrary I meant 'unapproved' -- no slight intended, it's just that it doesn't fall under a use case that is known and expressly permitted.
It is quite common for enterprises to deploy scanning proxies of various kinds (cf. #5260) -- downloading direct from github.com or pypi.org is considered a breach of policy as you'd be bypassing said proxy. In fact in most cases you wouldn't even have direct connectivity to github.com or pypi.org as these would be blocked at firewall level.
Actually I was not aware of UV_PYTHON_INSTALL_MIRROR -- I am curious, is this also exposed in uv.toml? It does actually make a significant difference -- enterprises could use it to benefit from uv python in a way that still falls under existing/well-understood control implementations.


(GH-1843) Load analytics config from user-level config directory

This updates the analytics client to load its configuration from
~/.puppetlabs/etc/bolt/analytics.yaml by default instead of
~/.puppetlabs/bolt/analytics.yaml.
By default, Bolt will first look for the config file at the new
location and load it if it exists. If it does not exist, Bolt will fall
back to the old location and load it if it exists. If it does not exist
at either location, Bolt will write the config file to the new location.
If a user has a config file at both the old and new locations, it will
display a helpful warning that the old location is deprecated.
Closes #1843
!feature

Analytics configuration loaded from user-level config directory (#1843)
Analytics configuration is now written to and loaded from
~/.puppetlabs/etc/bolt/analytics.yaml by default. Bolt will fall
back to loading analytics config from
~/.puppetlabs/bolt/analytics.yaml when the file does not exist in
the user-level config directory.

We create the analytics.yaml file in the first place. Should we therefore try to migrate to the new file path if it doesn't already exist?

I was thinking about that earlier and think it would be a slightly more elegant solution. We then wouldn't need to go through the whole dance of warning about the deprecated file before removing support for it entirely..

@nicklewis Updated it to move an existing analytics file to the new location and then always load from the new location. If this is the direction we want to go I'll squash the commits.

CLA signed by all contributors.