DCGM-exporter  pods stuck in Running State, Not getting Ready without GPU allocation.

Ask your question
Hi Team,
I am using the dcgm-exporter, installed as a Helm Chart.
I am using the default values.
I have other Milvus component pods : query node and index node successfully scheduled and in READY state running on GPU pods.
Logging onto pod and running nvidia-smi command is successful.
But the dcgm-exporter daemon set pods are stuck in error state :
`
➜  VectorDBBench git:(main) ✗ kubectl get pods
NAME                                       READY   STATUS    RESTARTS   AGE
dcgm-exporter-btsln                        0/1     Running   0          46s
dcgm-exporter-c8gpg                        0/1     Running   0          46s
dcgm-exporter-f9jd7                        0/1     Running   0          46s
dcgm-exporter-xhs2v                        0/1     Running   0          46s
dcgm-exporter-z4pz4                        0/1     Running   0          46s
dcgm-exporter-zh854                        0/1     Running   0          46s
vectordbbench-deployment-cf7974db6-r5scd   1/1     Running   0          41h
➜  VectorDBBench git:(main) ✗
➜  VectorDBBench git:(main) ✗ kubectl logs dcgm-exporter-btsln
2024/09/03 10:31:11 maxprocs: Leaving GOMAXPROCS=8: CPU quota undefined
time="2024-09-03T10:31:11Z" level=info msg="Starting dcgm-exporter"
time="2024-09-03T10:31:11Z" level=info msg="DCGM successfully initialized!"
time="2024-09-03T10:31:12Z" level=info msg="Not collecting DCP metrics: This request is serviced by a module of DCGM that is not currently loaded"
time="2024-09-03T10:31:12Z" level=info msg="Falling back to metric file '/etc/dcgm-exporter/dcp-metrics-included.csv'"
time="2024-09-03T10:31:12Z" level=warning msg="Skipping line 19 ('DCGM_FI_PROF_GR_ENGINE_ACTIVE'): metric not enabled"
time="2024-09-03T10:31:12Z" level=warning msg="Skipping line 20 ('DCGM_FI_PROF_PIPE_TENSOR_ACTIVE'): metric not enabled"
time="2024-09-03T10:31:12Z" level=warning msg="Skipping line 21 ('DCGM_FI_PROF_DRAM_ACTIVE'): metric not enabled"
time="2024-09-03T10:31:12Z" level=warning msg="Skipping line 22 ('DCGM_FI_PROF_PCIE_TX_BYTES'): metric not enabled"
time="2024-09-03T10:31:12Z" level=warning msg="Skipping line 23 ('DCGM_FI_PROF_PCIE_RX_BYTES'): metric not enabled"
time="2024-09-03T10:31:12Z" level=info msg="Initializing system entities of type: GPU"
time="2024-09-03T10:31:12Z" level=info msg="Not collecting GPU metrics; Error getting devices count: Cannot perform the requested operation because NVML doesn't exist on this system."
time="2024-09-03T10:31:12Z" level=info msg="Not collecting NvSwitch metrics; no fields to watch for device type: 3"
time="2024-09-03T10:31:12Z" level=info msg="Not collecting NvLink metrics; no fields to watch for device type: 6"
time="2024-09-03T10:31:12Z" level=info msg="Not collecting CPU metrics; no fields to watch for device type: 7"
time="2024-09-03T10:31:12Z" level=info msg="Not collecting CPU Core metrics; no fields to watch for device type: 8"
time="2024-09-03T10:31:12Z" level=info msg="Kubernetes metrics collection enabled!"
time="2024-09-03T10:31:12Z" level=info msg="Pipeline starting"
time="2024-09-03T10:31:12Z" level=info msg="Starting webserver"
time="2024-09-03T10:31:12Z" level=info msg="Listening on" address="[::]:9400"
time="2024-09-03T10:31:12Z" level=info msg="TLS is disabled." address="[::]:9400" http2=false
`
But on assigning the GPU as a resource to it, getting deployed successfully :
`
➜  VectorDBBench git:(main) ✗ cat custom_values.yaml
resources:
limits:
nvidia.com/gpu: "1"
➜  VectorDBBench git:(main) ✗
➜  VectorDBBench git:(main) ✗ kubectl get pods
NAME                                       READY   STATUS    RESTARTS   AGE
dcgm-exporter-8ds87                        1/1     Running   0          4m16s
dcgm-exporter-8qd48                        1/1     Running   0          4m16s
dcgm-exporter-d9hq7                        1/1     Running   0          4m16s
dcgm-exporter-hsbbq                        1/1     Running   0          4m16s
dcgm-exporter-t49tt                        1/1     Running   0          4m16s
dcgm-exporter-xq57b                        1/1     Running   0          4m16s
vectordbbench-deployment-cf7974db6-r5scd   1/1     Running   0          41h
➜  VectorDBBench git:(main) ✗
➜  VectorDBBench git:(main) ✗ kubectl logs dcgm-exporter-8ds87
2024/09/03 10:03:35 maxprocs: Leaving GOMAXPROCS=8: CPU quota undefined
time="2024-09-03T10:03:35Z" level=info msg="Starting dcgm-exporter"
time="2024-09-03T10:03:35Z" level=info msg="DCGM successfully initialized!"
time="2024-09-03T10:03:35Z" level=info msg="Collecting DCP Metrics"
time="2024-09-03T10:03:35Z" level=info msg="Falling back to metric file '/etc/dcgm-exporter/dcp-metrics-included.csv'"
time="2024-09-03T10:03:35Z" level=info msg="Initializing system entities of type: GPU"
time="2024-09-03T10:03:35Z" level=info msg="Not collecting NvSwitch metrics; no fields to watch for device type: 3"
time="2024-09-03T10:03:35Z" level=info msg="Not collecting NvLink metrics; no fields to watch for device type: 6"
time="2024-09-03T10:03:35Z" level=info msg="Not collecting CPU metrics; no fields to watch for device type: 7"
time="2024-09-03T10:03:35Z" level=info msg="Not collecting CPU Core metrics; no fields to watch for device type: 8"
time="2024-09-03T10:03:35Z" level=info msg="Kubernetes metrics collection enabled!"
time="2024-09-03T10:03:35Z" level=info msg="Pipeline starting"
time="2024-09-03T10:03:35Z" level=info msg="Starting webserver"
time="2024-09-03T10:03:35Z" level=info msg="Listening on" address="[::]:9400"
time="2024-09-03T10:03:35Z" level=info msg="TLS is disabled." address="[::]:9400" http2=false
➜  VectorDBBench git:(main) ✗
`
But this is blocking other services from using GPU and dedicating it to the exporter.
Thanks,
Rohit Mothe

@rohitreddy1698 , Please enable the debug mode in the DCGM-exporter by setting the environment variable: "DCGM_EXPORTER_DEBUG = true", then please share logs with us.

@nvvfedorov, Hi Sure. Here are the logs post setting the DEBUG variable to true.
➜  VectorDBBench git:(main) ✗ cat default_values.yaml
image:
  repository: <mirror-docker-repo>/nvidia/k8s/dcgm-exporter

arguments:
  - "-f"
  - /etc/dcgm-exporter/dcp-metrics-included.csv
  - "-d"
  - f

extraEnv:
- name: "DCGM_EXPORTER_DEBUG"
  value: "true"

tolerations:
  - key: nvidia.com/gpu
    operator: Exists
    effect: NoSchedule

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: cloud.google.com/gke-accelerator
          operator: In
          values:
          - nvidia-tesla-t4

priorityClassName: dcgm-exporter # new priority class because system-node-critical was full

➜  VectorDBBench git:(main) ✗ helm install --generate-name gpu-helm-charts/dcgm-exporter -f default_values.yaml
NAME: dcgm-exporter-1725446363
LAST DEPLOYED: Wed Sep  4 16:09:25 2024
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods -n default -l "app.kubernetes.io/name=dcgm-exporter,app.kubernetes.io/instance=dcgm-exporter-1725446363" -o jsonpath="{.items[0].metadata.name}")
  kubectl -n default port-forward $POD_NAME 8080:9400 &
  echo "Visit http://<IP_ADDRESS>:8080/metrics to use your application"
➜  VectorDBBench git:(main) ✗

➜  VectorDBBench git:(main) ✗ kubectl get pods -o wide
NAME                                        READY   STATUS             RESTARTS        AGE     IP             NODE                                                  NOMINATED NODE   READINESS GATES
dcgm-exporter-1725446363-6xmd2              0/1     CrashLoopBackOff   6 (2m4s ago)    10m     <IP_ADDRESS>   gke-isds-genai-milvu-isds-genai-milvu-b74de53a-4xzj   <none>           <none>
dcgm-exporter-1725446363-8nzfd              0/1     CrashLoopBackOff   6 (2m14s ago)   10m     <IP_ADDRESS>    gke-isds-genai-milvu-isds-genai-milvu-309eed12-wwn5   <none>           <none>
dcgm-exporter-1725446363-96r99              0/1     CrashLoopBackOff   6 (2m4s ago)    10m     <IP_ADDRESS>     gke-isds-genai-milvu-isds-genai-milvu-309eed12-v5gd   <none>           <none>
dcgm-exporter-1725446363-k7rf6              0/1     CrashLoopBackOff   6 (2m9s ago)    10m     <IP_ADDRESS>    gke-isds-genai-milvu-isds-genai-milvu-b74de53a-vmsl   <none>           <none>
dcgm-exporter-1725446363-kfh9n              0/1     CrashLoopBackOff   7 (79s ago)     10m     <IP_ADDRESS>    gke-isds-genai-milvu-isds-genai-milvu-b74de53a-ntsq   <none>           <none>
dcgm-exporter-1725446363-pnvf9              0/1     CrashLoopBackOff   6 (2m19s ago)   10m     <IP_ADDRESS>    gke-isds-genai-milvu-isds-genai-milvu-309eed12-mnzb   <none>           <none>
vectordbbench-deployment-86c7d569b4-pb5r7   1/1     Running            0               5h20m   <IP_ADDRESS>    gke-isds-genai-milvu-isds-genai-milvu-4f7d36a6-7768   <none>           <none>
➜  VectorDBBench git:(main) ✗

➜  VectorDBBench git:(main) ✗ kubectl get nodes -o jsonpath="{range .items[*]}{.metadata.name}: {.status.allocatable}{'\n'}{end}"
gke-isds-genai-milvu-isds-genai-milvu-309eed12-mnzb: {"cpu":"7910m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"48418288Ki","nvidia.com/gpu":"2","pods":"110"}
gke-isds-genai-milvu-isds-genai-milvu-309eed12-v5gd: {"cpu":"7910m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"48418288Ki","nvidia.com/gpu":"2","pods":"110"}
gke-isds-genai-milvu-isds-genai-milvu-309eed12-wwn5: {"cpu":"7910m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"48418288Ki","nvidia.com/gpu":"2","pods":"110"}
gke-isds-genai-milvu-isds-genai-milvu-3fb32019-05h3: {"cpu":"7910m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"60048872Ki","pods":"110"}
gke-isds-genai-milvu-isds-genai-milvu-3fb32019-05jh: {"cpu":"7910m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"60048872Ki","pods":"110"}
gke-isds-genai-milvu-isds-genai-milvu-4f7d36a6-7768: {"cpu":"7910m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"60048872Ki","pods":"110"}
gke-isds-genai-milvu-isds-genai-milvu-4f7d36a6-s9f9: {"cpu":"7910m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"60048872Ki","pods":"110"}
gke-isds-genai-milvu-isds-genai-milvu-b74de53a-4xzj: {"cpu":"7910m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"48418288Ki","nvidia.com/gpu":"2","pods":"110"}
gke-isds-genai-milvu-isds-genai-milvu-b74de53a-ntsq: {"cpu":"7910m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"48418288Ki","nvidia.com/gpu":"2","pods":"110"}
gke-isds-genai-milvu-isds-genai-milvu-b74de53a-vmsl: {"cpu":"7910m","ephemeral-storage":"47060071478","hugepages-1Gi":"0","hugepages-2Mi":"0","memory":"48418288Ki","nvidia.com/gpu":"2","pods":"110"}

The logs from the dcgm-exporter pods :
➜  VectorDBBench git:(main) ✗ kubectl logs dcgm-exporter-1725446363-6xmd2
2024/09/04 10:43:17 maxprocs: Leaving GOMAXPROCS=8: CPU quota undefined
time="2024-09-04T10:43:17Z" level=info msg="Starting dcgm-exporter"
time="2024-09-04T10:43:17Z" level=debug msg="Debug output is enabled"
time="2024-09-04T10:43:17Z" level=debug msg="Command line: /usr/bin/dcgm-exporter -f /etc/dcgm-exporter/dcp-metrics-included.csv -d f"
time="2024-09-04T10:43:17Z" level=debug msg="Loaded configuration" dump="&{CollectorsFile:/etc/dcgm-exporter/dcp-metrics-included.csv Address::9400 CollectInterval:30000 Kubernetes:true KubernetesGPUIdType:uid CollectDCP:true UseOldNamespace:false UseRemoteHE:false RemoteHEInfo:localhost:5555 GPUDevices:{Flex:true MajorRange:[] MinorRange:[]} SwitchDevices:{Flex:true MajorRange:[] MinorRange:[]} CPUDevices:{Flex:true MajorRange:[] MinorRange:[]} NoHostname:false UseFakeGPUs:false ConfigMapData:none MetricGroups:[] WebSystemdSocket:false WebConfigFile: XIDCountWindowSize:300000 ReplaceBlanksInModelName:false Debug:true ClockEventsCountWindowSize:300000 EnableDCGMLog:false DCGMLogLevel:NONE PodResourcesKubeletSocket:/var/lib/kubelet/pod-resources/kubelet.sock HPCJobMappingDir: NvidiaResourceNames:[]}"
time="2024-09-04T10:43:17Z" level=info msg="DCGM successfully initialized!"
time="2024-09-04T10:43:17Z" level=info msg="Not collecting DCP metrics: This request is serviced by a module of DCGM that is not currently loaded"
time="2024-09-04T10:43:17Z" level=info msg="Falling back to metric file '/etc/dcgm-exporter/dcp-metrics-included.csv'"
time="2024-09-04T10:43:17Z" level=warning msg="Skipping line 20 ('DCGM_FI_PROF_GR_ENGINE_ACTIVE'): metric not enabled"
time="2024-09-04T10:43:17Z" level=warning msg="Skipping line 21 ('DCGM_FI_PROF_PIPE_TENSOR_ACTIVE'): metric not enabled"
time="2024-09-04T10:43:17Z" level=warning msg="Skipping line 22 ('DCGM_FI_PROF_DRAM_ACTIVE'): metric not enabled"
time="2024-09-04T10:43:17Z" level=warning msg="Skipping line 23 ('DCGM_FI_PROF_PCIE_TX_BYTES'): metric not enabled"
time="2024-09-04T10:43:17Z" level=warning msg="Skipping line 24 ('DCGM_FI_PROF_PCIE_RX_BYTES'): metric not enabled"
time="2024-09-04T10:43:17Z" level=info msg="Initializing system entities of type: GPU"
time="2024-09-04T10:43:17Z" level=info msg="Not collecting GPU metrics; Error getting devices count: Cannot perform the requested operation because NVML doesn't exist on this system."
time="2024-09-04T10:43:17Z" level=info msg="Not collecting NvSwitch metrics; no fields to watch for device type: 3"
time="2024-09-04T10:43:17Z" level=info msg="Not collecting NvLink metrics; no fields to watch for device type: 6"
time="2024-09-04T10:43:17Z" level=info msg="Not collecting CPU metrics; no fields to watch for device type: 7"
time="2024-09-04T10:43:17Z" level=info msg="Not collecting CPU Core metrics; no fields to watch for device type: 8"
time="2024-09-04T10:43:17Z" level=debug msg="Counters are initialized" dump="[{FieldID:100 FieldName:DCGM_FI_DEV_SM_CLOCK PromType:gauge Help:SM clock frequency (in MHz).} {FieldID:101 FieldName:DCGM_FI_DEV_MEM_CLOCK PromType:gauge Help:Memory clock frequency (in MHz).} {FieldID:140 FieldName:DCGM_FI_DEV_MEMORY_TEMP PromType:gauge Help:Memory temperature (in C).} {FieldID:150 FieldName:DCGM_FI_DEV_GPU_TEMP PromType:gauge Help:GPU temperature (in C).} {FieldID:155 FieldName:DCGM_FI_DEV_POWER_USAGE PromType:gauge Help:Power draw (in W).} {FieldID:156 FieldName:DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION PromType:counter Help:Total energy consumption since boot (in mJ).} {FieldID:202 FieldName:DCGM_FI_DEV_PCIE_REPLAY_COUNTER PromType:counter Help:Total number of PCIe retries.} {FieldID:203 FieldName:DCGM_FI_DEV_GPU_UTIL PromType:gauge Help:GPU utilization (in %).} {FieldID:204 FieldName:DCGM_FI_DEV_MEM_COPY_UTIL PromType:gauge Help:Memory utilization (in %).} {FieldID:206 FieldName:DCGM_FI_DEV_ENC_UTIL PromType:gauge Help:Encoder utilization (in %).} {FieldID:207 FieldName:DCGM_FI_DEV_DEC_UTIL PromType:gauge Help:Decoder utilization (in %).} {FieldID:230 FieldName:DCGM_FI_DEV_XID_ERRORS PromType:gauge Help:Value of the last XID error encountered.} {FieldID:251 FieldName:DCGM_FI_DEV_FB_FREE PromType:gauge Help:Framebuffer memory free (in MiB).} {FieldID:252 FieldName:DCGM_FI_DEV_FB_USED PromType:gauge Help:Framebuffer memory used (in MiB).} {FieldID:449 FieldName:DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL PromType:counter Help:Total number of NVLink bandwidth counters for all lanes.} {FieldID:526 FieldName:DCGM_FI_DEV_VGPU_LICENSE_STATUS PromType:gauge Help:vGPU License status} {FieldID:393 FieldName:DCGM_FI_DEV_UNCORRECTABLE_REMAPPED_ROWS PromType:counter Help:Number of remapped rows for uncorrectable errors} {FieldID:394 FieldName:DCGM_FI_DEV_CORRECTABLE_REMAPPED_ROWS PromType:counter Help:Number of remapped rows for correctable errors} {FieldID:395 FieldName:DCGM_FI_DEV_ROW_REMAP_FAILURE PromType:gauge Help:Whether remapping of rows has failed} {FieldID:1 FieldName:DCGM_FI_DRIVER_VERSION PromType:label Help:Driver Version}]"
time="2024-09-04T10:43:17Z" level=info msg="Kubernetes metrics collection enabled!"
time="2024-09-04T10:43:17Z" level=info msg="Starting webserver"
time="2024-09-04T10:43:17Z" level=info msg="Pipeline starting"
time="2024-09-04T10:43:17Z" level=info msg="Listening on" address="[::]:9400"
time="2024-09-04T10:43:17Z" level=info msg="TLS is disabled." address="[::]:9400" http2=false
➜  VectorDBBench git:(main) ✗
➜  VectorDBBench git:(main) ✗
➜  VectorDBBench git:(main) ✗ kubectl describe /poddcgm-exporter-1725446363-6xmd2
error: arguments in resource/name form must have a single resource and name
➜  VectorDBBench git:(main) ✗ kubectl describe pod/dcgm-exporter-1725446363-6xmd2
Name:                 dcgm-exporter-1725446363-6xmd2
Namespace:            default
Priority:             1000000
Priority Class Name:  dcgm-exporter
Service Account:      dcgm-exporter-1725446363
Node:                 gke-isds-genai-milvu-isds-genai-milvu-b74de53a-4xzj/<IP_ADDRESS>
Start Time:           Wed, 04 Sep 2024 16:09:31 +0530
Labels:               app.kubernetes.io/component=dcgm-exporter
                      app.kubernetes.io/instance=dcgm-exporter-1725446363
                      app.kubernetes.io/name=dcgm-exporter
                      controller-revision-hash=77dfdc9d74
                      pod-template-generation=1
Annotations:          cni.projectcalico.org/containerID: e04a790705be8c32c8d0c0ef00912eac83a1f7846a58d3cb64c7a65828296e7a
                      cni.projectcalico.org/podIP: <IP_ADDRESS>/32
                      cni.projectcalico.org/podIPs: <IP_ADDRESS>/32
Status:               Running
IP:                   <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  DaemonSet/dcgm-exporter-1725446363
Containers:
  exporter:
    Container ID:  containerd://82ffb986ed8329ea6b65f5ff017699f4835a55256c1d630a322ccf32c0a50db9
    Image:         <internal-repo>/nvidia/k8s/dcgm-exporter:3.3.7-3.5.0-ubuntu22.04
    Image ID:      <internal-repo>/nvidia/k8s/dcgm-exporter@sha256:98781424e83e14e8855aa6881e5ca8e68c81fdc75c82dd1bb3fe924349aee9d4
    Port:          9400/TCP
    Host Port:     0/TCP
    Args:
      -f
      /etc/dcgm-exporter/dcp-metrics-included.csv
      -d
      f
    State:          Running
      Started:      Wed, 04 Sep 2024 16:13:16 +0530
    Last State:     Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Wed, 04 Sep 2024 16:12:21 +0530
      Finished:     Wed, 04 Sep 2024 16:13:16 +0530
    Ready:          False
    Restart Count:  4
    Liveness:       http-get http://:9400/health delay=45s timeout=1s period=5s #success=1 #failure=3
    Readiness:      http-get http://:9400/health delay=45s timeout=1s period=10s #success=1 #failure=3
    Environment:
      DCGM_EXPORTER_KUBERNETES:  true
      DCGM_EXPORTER_LISTEN:      :9400
      NODE_NAME:                  (v1:spec.nodeName)
      DCGM_EXPORTER_DEBUG:       true
    Mounts:
      /var/lib/kubelet/pod-resources from pod-gpu-resources (ro)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-lt9r6 (ro)
Conditions:
  Type                        Status
  PodReadyToStartContainers   True
  Initialized                 True
  Ready                       False
  ContainersReady             False
  PodScheduled                True
Volumes:
  pod-gpu-resources:
    Type:          HostPath (bare host directory volume)
    Path:          /var/lib/kubelet/pod-resources
    HostPathType:
  kube-api-access-lt9r6:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/disk-pressure:NoSchedule op=Exists
                             node.kubernetes.io/memory-pressure:NoSchedule op=Exists
                             node.kubernetes.io/not-ready:NoExecute op=Exists
                             node.kubernetes.io/pid-pressure:NoSchedule op=Exists
                             node.kubernetes.io/unreachable:NoExecute op=Exists
                             node.kubernetes.io/unschedulable:NoSchedule op=Exists
                             nvidia.com/gpu:NoSchedule op=Exists
Events:
  Type     Reason     Age                    From               Message
  ----     ------     ----                   ----               -------
  Normal   Scheduled  4m31s                  default-scheduler  Successfully assigned default/dcgm-exporter-1725446363-6xmd2 to gke-isds-genai-milvu-isds-genai-milvu-b74de53a-4xzj
  Normal   Pulled     2m36s (x3 over 4m31s)  kubelet            Container image "<internal-repo>/nvidia/k8s/dcgm-exporter:3.3.7-3.5.0-ubuntu22.04" already present on machine
  Normal   Created    2m36s (x3 over 4m31s)  kubelet            Created container exporter
  Normal   Started    2m36s (x3 over 4m30s)  kubelet            Started container exporter
  Normal   Killing    2m36s (x2 over 3m31s)  kubelet            Container exporter failed liveness probe, will be restarted
  Warning  Unhealthy  2m35s                  kubelet            Readiness probe failed: Get "http://<IP_ADDRESS>:9400/health": dial tcp <IP_ADDRESS>:9400: connect: connection refused
  Warning  Unhealthy  111s (x7 over 3m41s)   kubelet            Liveness probe failed: HTTP probe failed with statuscode: 503
  Warning  Unhealthy  111s (x6 over 3m41s)   kubelet            Readiness probe failed: HTTP probe failed with statuscode: 503
➜  VectorDBBench git:(main) ✗

The error "Cannot perform the requested operation because NVML doesn't exist on this system."  tell us that is something wrong with your K8S node configuration. Did you installed (NVIDIA container toolkit)[https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html]?

Yes i have installed the NVIDIA container toolkit.
I already have pods using the GPU.
So the NVML should be correctly installed.
➜  VectorDBBench git:(main) ✗ kubectl exec -it isds-milvus-milvus-querynode-0-54b54d6fbc-2pjmc -n isds-milvus -- /bin/bash
Defaulted container "querynode" out of: querynode, config (init)
root@isds-milvus-milvus-querynode-0-54b54d6fbc-2pjmc:/milvus# nvidia-smi
Thu Sep  5 05:36:55 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.90.07              Driver Version: 550.90.07      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  Tesla T4                       Off |   00000000:00:04.0 Off |                    0 |
| N/A   77C    P0             36W /   70W |    7273MiB /  15360MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
+-----------------------------------------------------------------------------------------+
root@isds-milvus-milvus-querynode-0-54b54d6fbc-2pjmc:/milvus#

Also one more confirmation is that if I assign GPU resources to the DCGM exporter pods they are working fine.

@nvvfedorov , were did you have a chance to take a look at this?
Thanks,
Rohit

You may need to specify runtimeClassName: nvidia in your dcgm pod spec.

I'm having the same issue. GKE cluster, with a V100 GPU.
DCGM deployed using this helm chart values:
extraEnv:
  - name: DCGM_EXPORTER_DEBUG
    value: "true"
  - name: DCGM_EXPORTER_INTERVAL
    value: "10000"

tolerations:
  - key: nvidia.com/gpu
    operator: Equal
    value: present
    effect: NoSchedule

2024/10/09 16:47:56 maxprocs: Leaving GOMAXPROCS=1: CPU quota undefined
time="2024-10-09T16:47:56Z" level=info msg="Starting dcgm-exporter"
time="2024-10-09T16:47:56Z" level=debug msg="Debug output is enabled"
time="2024-10-09T16:47:56Z" level=debug msg="Command line: /usr/bin/dcgm-exporter -f /etc/dcgm-exporter/dcp-metrics-included.csv"
time="2024-10-09T16:47:56Z" level=debug msg="Loaded configuration" dump="&{CollectorsFile:/etc/dcgm-exporter/dcp-metrics-included.csv Address::9400 CollectInterval:10000 Kubernetes:true KubernetesGPUIdType:uid CollectDCP:true UseOldNamespace:false UseRemoteHE:false RemoteHEInfo:localhost:5555 GPUDevices:{Flex:true MajorRange:] MinorRange:]} SwitchDevices:{Flex:true MajorRange:] MinorRange:]} CPUDevices:{Flex:true MajorRange:] MinorRange:]} NoHostname:false UseFakeGPUs:false ConfigMapData:none MetricGroups:] WebSystemdSocket:false WebConfigFile: XIDCountWindowSize:300000 ReplaceBlanksInModelName:false Debug:true ClockEventsCountWindowSize:300000 EnableDCGMLog:false DCGMLogLevel:NONE PodResourcesKubeletSocket:/var/lib/kubelet/pod-resources/kubelet.sock HPCJobMappingDir: NvidiaResourceNames:]}"
time="2024-10-09T16:47:56Z" level=info msg="DCGM successfully initialized!"
time="2024-10-09T16:47:56Z" level=info msg="Not collecting DCP metrics: This request is serviced by a module of DCGM that is not currently loaded"
time="2024-10-09T16:47:56Z" level=info msg="Falling back to metric file '/etc/dcgm-exporter/dcp-metrics-included.csv'"
time="2024-10-09T16:47:56Z" level=warning msg="Skipping line 19 ('DCGM_FI_PROF_GR_ENGINE_ACTIVE'): metric not enabled"
time="2024-10-09T16:47:56Z" level=warning msg="Skipping line 20 ('DCGM_FI_PROF_PIPE_TENSOR_ACTIVE'): metric not enabled"
time="2024-10-09T16:47:56Z" level=warning msg="Skipping line 21 ('DCGM_FI_PROF_DRAM_ACTIVE'): metric not enabled"
time="2024-10-09T16:47:56Z" level=warning msg="Skipping line 22 ('DCGM_FI_PROF_PCIE_TX_BYTES'): metric not enabled"
time="2024-10-09T16:47:56Z" level=warning msg="Skipping line 23 ('DCGM_FI_PROF_PCIE_RX_BYTES'): metric not enabled"
time="2024-10-09T16:47:56Z" level=info msg="Initializing system entities of type: GPU"
time="2024-10-09T16:47:56Z" level=info msg="Not collecting GPU metrics; Error getting devices count: Cannot perform the requested operation because NVML doesn't exist on this system."
time="2024-10-09T16:47:56Z" level=info msg="Not collecting NvSwitch metrics; no fields to watch for device type: 3"
time="2024-10-09T16:47:56Z" level=info msg="Not collecting NvLink metrics; no fields to watch for device type: 6"
time="2024-10-09T16:47:56Z" level=info msg="Not collecting CPU metrics; no fields to watch for device type: 7"
time="2024-10-09T16:47:56Z" level=info msg="Not collecting CPU Core metrics; no fields to watch for device type: 8"
time="2024-10-09T16:47:56Z" level=debug msg="Counters are initialized" dump="[{FieldID:100 FieldName:DCGM_FI_DEV_SM_CLOCK PromType:gauge Help:SM clock frequency (in MHz).} {FieldID:101 FieldName:DCGM_FI_DEV_MEM_CLOCK PromType:gauge Help:Memory clock frequency (in MHz).} {FieldID:140 FieldName:DCGM_FI_DEV_MEMORY_TEMP PromType:gauge Help:Memory temperature (in C).} {FieldID:150 FieldName:DCGM_FI_DEV_GPU_TEMP PromType:gauge Help:GPU temperature (in C).} {FieldID:155 FieldName:DCGM_FI_DEV_POWER_USAGE PromType:gauge Help:Power draw (in W).} {FieldID:156 FieldName:DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION PromType:counter Help:Total energy consumption since boot (in mJ).} {FieldID:202 FieldName:DCGM_FI_DEV_PCIE_REPLAY_COUNTER PromType:counter Help:Total number of PCIe retries.} {FieldID:203 FieldName:DCGM_FI_DEV_GPU_UTIL PromType:gauge Help:GPU utilization (in %).} {FieldID:204 FieldName:DCGM_FI_DEV_MEM_COPY_UTIL PromType:gauge Help:Memory utilization (in %).} {FieldID:206 FieldName:DCGM_FI_DEV_ENC_UTIL PromType:gauge Help:Encoder utilization (in %).} {FieldID:207 FieldName:DCGM_FI_DEV_DEC_UTIL PromType:gauge Help:Decoder utilization (in %).} {FieldID:230 FieldName:DCGM_FI_DEV_XID_ERRORS PromType:gauge Help:Value of the last XID error encountered.} {FieldID:251 FieldName:DCGM_FI_DEV_FB_FREE PromType:gauge Help:Framebuffer memory free (in MiB).} {FieldID:252 FieldName:DCGM_FI_DEV_FB_USED PromType:gauge Help:Framebuffer memory used (in MiB).} {FieldID:449 FieldName:DCGM_FI_DEV_NVLINK_BANDWIDTH_TOTAL PromType:counter Help:Total number of NVLink bandwidth counters for all lanes.} {FieldID:526 FieldName:DCGM_FI_DEV_VGPU_LICENSE_STATUS PromType:gauge Help:vGPU License status} {FieldID:393 FieldName:DCGM_FI_DEV_UNCORRECTABLE_REMAPPED_ROWS PromType:counter Help:Number of remapped rows for uncorrectable errors} {FieldID:394 FieldName:DCGM_FI_DEV_CORRECTABLE_REMAPPED_ROWS PromType:counter Help:Number of remapped rows for correctable errors} {FieldID:395 FieldName:DCGM_FI_DEV_ROW_REMAP_FAILURE PromType:gauge Help:Whether remapping of rows has failed}]"
time="2024-10-09T16:47:56Z" level=info msg="Kubernetes metrics collection enabled!"
time="2024-10-09T16:47:56Z" level=info msg="Pipeline starting"
time="2024-10-09T16:47:56Z" level=info msg="Starting webserver"
time="2024-10-09T16:47:56Z" level=info msg="Listening on" address=":9400"
time="2024-10-09T16:47:56Z" level=info msg="TLS is disabled." address=":9400" http2=false
Stream closed EOF for kube-system/dcgm-exporter-lxrnc (exporter)

I ran nvidia-smi with a pod and got this output:
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01             Driver Version: 535.183.01   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla V100-SXM2-16GB           Off | 00000000:00:05.0 Off |                    0 |
| N/A   39C    P0              25W / 300W |      0MiB / 16384MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

I'm using Google's autoprovisioned driver daemonsets, which did work for this node. A few select log statements:
nvidia-driver-installer I1009 13:32:20.104433    2531 install.go:264] Install GPU driver for device type: NVIDIA_TESLA_V100
...
nvidia-driver-installer Waiting for GPU driver libraries to be available.
nvidia-driver-installer GPU driver is installed.
...
nvidia-gpu-device-plugin I1009 13:33:24.671119    3853 metrics.go:144] nvml initialized successfully. Driver version: 535.183.01
nvidia-gpu-device-plugin I1009 13:33:24.671132    3853 devices.go:113] Found 1 GPU devices
nvidia-gpu-device-plugin I1009 13:33:24.676683    3853 devices.go:125] Found device nvidia0 for metrics collection

Can you help me figure out where to go next?

@rohitreddy1698  @petewall not sure if this will help with your issue, but the extra Helm values in this guide proved to be the solution.
My GPU node pool is running with COS and my drivers were installed manually by provisioning this DaemonSet here.

@andehpants Thank you for your search skills! That article is very good. I also had to add a new priority class because system-node-critical was full. Here's that for completeness since that's how i ended up in this thread myself.
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: dcgm-exporter
value: 1000
globalDefault: false
description: "Custom priority class for dcgm-exporter"

@andehpants , @archae0pteryx Thank you for your finding! What would you suggested to add to readme file to help other users?

@nvvfedorov Not sure really. I would certainly add a little note about the priorityclass and an example of how / why you might need to enable? TBH, i had never worked with priorityclasses nor knew of their existence... I have my CKA even. 🙃
When I get mine working completely I may have more to add on the topic as I still have some issues that i'm trying to work through with the exporter. That said, I'm 99.9% sure it's just a misconfig/misunderstanding on my part at this point.

Hi @archae0pteryx , I have already tried creating the Priority Class while raising this issue,
➜  VectorDBBench git:(main) ✗ cat dcgm_priority_class.yaml
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: dcgm-exporter
value: 1000000
globalDefault: false
description: >-
  (Optional) This priority class should only be used for dcgm exporter pods.
➜  VectorDBBench git:(main) ✗
➜  VectorDBBench git:(main) ✗ cat dcgm_values.yaml
image:
  repository: docker-upstream.apple.com/nvidia/k8s/dcgm-exporter

arguments:
  - "-f"
  - /etc/dcgm-exporter/dcp-metrics-included.csv
  - "-d"
  - f

securityContext:
  capabilities:
    add:
    - SYS_ADMIN

tolerations:
  - key: nvidia.com/gpu
    operator: Exists
    effect: NoSchedule

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: cloud.google.com/gke-accelerator
          operator: In
          values:
          - nvidia-tesla-t4

extraConfigMapVolumes:
  - name: exporter-metrics-volume
    configMap:
      name: exporter-metrics-config-map
      items:
        - key: metrics
          path: dcp-metrics-included.csv

extraVolumeMounts:
  - name: exporter-metrics-volume
    mountPath: /etc/dcgm-exporter/dcp-metrics-included.csv
    subPath: dcp-metrics-included.csv

priorityClassName: dcgm-exporter
➜  VectorDBBench git:(main) ✗

Before I created the priority class the DCGM exporter pods could not be scheduled at all,
but post creating the priority class, the pods were scheduled and getting started. But Still I was seeing the same issue
time="2024-09-03T10:31:11Z" level=info msg="DCGM successfully initialized!"
time="2024-09-03T10:31:12Z" level=info msg="Not collecting DCP metrics: This request is serviced by a module of DCGM that is not currently loaded"
time="2024-09-03T10:31:12Z" level=info msg="Falling back to metric file '/etc/dcgm-exporter/dcp-metrics-included.csv'"
time="2024-09-03T10:31:12Z" level=warning msg="Skipping line 19 ('DCGM_FI_PROF_GR_ENGINE_ACTIVE'): metric not enabled"
time="2024-09-03T10:31:12Z" level=warning msg="Skipping line 20 ('DCGM_FI_PROF_PIPE_TENSOR_ACTIVE'): metric not enabled"
time="2024-09-03T10:31:12Z" level=warning msg="Skipping line 21 ('DCGM_FI_PROF_DRAM_ACTIVE'): metric not enabled"
time="2024-09-03T10:31:12Z" level=warning msg="Skipping line 22 ('DCGM_FI_PROF_PCIE_TX_BYTES'): metric not enabled"
time="2024-09-03T10:31:12Z" level=warning msg="Skipping line 23 ('DCGM_FI_PROF_PCIE_RX_BYTES'): metric not enabled"
time="2024-09-03T10:31:12Z" level=info msg="Initializing system entities of type: GPU"
time="2024-09-03T10:31:12Z" level=info msg="Not collecting GPU metrics; Error getting devices count: Cannot perform the requested operation because NVML doesn't exist on this system."


Update to migration guide

I've come to migrate and noticed that the change to the way characteristics are created has changed more than the migration guide suggests.  Using Bluedroid I subclassed BLECharacteristic and called service->addCharacteristic().  Could I suggest including a note in the migration guide to say that the constructor is now private and the only way to create one is now createCharacteristic?

Hi @j4m3s, thank you for reporting this. That is certainly something that should be done, sorry for the lack of documentation.
I will be revisiting that code soon as well as it is overdue for some updates, any feedback regarding this would be much appreciated.

I'd be happy to submit a PR for the update to the guide if it would help?
When you say you're going to revisit the code do you mean you might be reintroducing the public constructor for the Characteristics? I only ask because I'm about to change my own code to use the createCharacteristic method but might hold off if you'll be making changes shortly.

That would be great if you'd like to PR the guide update.
I'm not sure if that part of the code will be changed yet. I need to do a full review of the server code as there are a couple nitpicks I have and some things I'd like to possibly add.
Spent too much time on the client side of things lately so I need to refresh my mind with the server code.


Feature Request: Save Native tabs state on exit/crash

Hi.
I don't know it's implemented or not, so i will like to see this feature added.
Env
This feature works on macOS only
OS: macOS 10.15.7
Steps to reproduce

Open VSCode
Run Project
Open another project in new tab (Window -> New Tab)
Cmd+Q (This close all VSCode windows)
Open VSCode again

Excepted result
All windows restored with tabs (macOS native tabs)
Actual result
Restoring last active tab (native tab) on window
Note
This maybe not issue for 2-3 window, but i opening 4-5 window with 3-4 subtabs each. On every crash or computer restart i should re-open such a large workspace which time consuming
Update
Tested in VSCode Insiders and seems does not work like excepted

/duplicate https://github.com/microsoft/vscode/issues/27222

@bpasero It's not working on both Code and Code Insiders. Tested out today, not works


add .rtl files for supporting right-to-left languages like persian

There is a PR which handle that: https://github.com/twbs/bootstrap/pull/26722
So close, but thank you 👍


InstanceOfPatternMatch declares variable with conflicting name

The InstanceOfPatternMatch declares a pattern variable with a conflicting name if a variable with that name already exists in the if body after the corresponding type cast as in the following example:
void test(Object o) {
  if (o instanceof String) {
    System.out.println((String) o);
    String string = "x";
  }
}

Currently the recipe will change this to the following illegal code:
void test(Object o) {
  if (o instanceof String string) {
    System.out.println(string);
    String string = "x";
  }
}

Fixing #2776 should address this issue and the corresponding test case can be enabled again.

Same with
if ((f1 instanceof Integer) && (f2 instanceof Integer)) {

rewritten to
if ((f1 instanceof Integer integer) && (f2 instanceof Integer integer)) {


runner: ping iterative on no results

We need a way to inform the team when there are no results - sometimes it might be faulty run, but recently it has been because the runner is offline (#287)

After migrating to pytest we are using default runners.


How to implement search functionality?

Hello
How to implement search functionality in you library
Regards,

please check the filtering section on the documentation

Thanks

Hi all!
what is supposed to be returned in getFilterableKeyword?


chore: remove conventional commit checks

Closes https://github.com/newrelic/newrelic-quickstarts/issues/605

Going to test this with a fork


feat: Add guide article and update its challenge

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Provides the accompanying guide article for Replace Loops using Recursion.  My original challenge wasn't correct (it wasn't the first n elements, it was the first n + 1), so I corrected that too.

Thanks for the review @RandellDawson.  Let me know if you spot anything else.

@ojeytonwilliams Thanks for your contribution.


corrected spelling of assistant

This PR corrects the spelling of assistant

Thanks for pointing out this issue. This code is generated so the correct fix for this is in our SDK tooling.  I have addressed this issue in the tooling regenerated the code.  I believe this issue is now fixed.

Thanks, @gradenr


ValueError: Error when checking input: expected input_1 to have 4 dimensions, but got array with shape (2120, 1)

Hey everyone,
I'm trying to use custom data on the resnet 50 model, but it keeps giving shape errors. After reading some other issues along the same lines.Any thoughts?
if name == 'main':
# Example to fine-tune on 3000 samples from Cifar10

img_rows, img_cols = 224, 224 # Resolution of inputs
channel = 3
num_classes = 1
batch_size = 16
nb_epoch = 1

Load our model
model = resnet50_model(img_rows, img_cols, channel, num_classes)
# Start Fine-tuning

model.fit(X_train, Y_train,
batch_size=batch_size,
nb_epoch=nb_epoch,
shuffle=True,
verbose=1,
validation_data=(X_test, Y_test),
)
Make predictions
predictions_valid = model.predict(X_test, batch_size=batch_size, verbose=1)
Cross-entropy loss score
score = log_loss(Y_test, predictions_valid)
output:
ValueError                                Traceback (most recent call last)
 in
18           shuffle=True,
19           verbose=1,
---> 20           validation_data=(X_test, Y_test),
21           )
22
~/anaconda3/envs/py36/lib/python3.6/site-packages/keras/engine/training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, **kwargs)
950             sample_weight=sample_weight,
951             class_weight=class_weight,
--> 952             batch_size=batch_size)
953         # Prepare validation data.
954         do_validation = False
~/anaconda3/envs/py36/lib/python3.6/site-packages/keras/engine/training.py in _standardize_user_data(self, x, y, sample_weight, class_weight, check_array_lengths, batch_size)
749             feed_input_shapes,
750             check_batch_axis=False,  # Don't enforce the batch size.
--> 751             exception_prefix='input')
752
753         if y is not None:
~/anaconda3/envs/py36/lib/python3.6/site-packages/keras/engine/training_utils.py in standardize_input_data(data, names, shapes, check_batch_axis, exception_prefix)
126                         ': expected ' + names[i] + ' to have ' +
127                         str(len(shape)) + ' dimensions, but got array '
--> 128                         'with shape ' + str(data_shape))
129                 if not check_batch_axis:
130                     data_shape = data_shape[1:]
ValueError: Error when checking input: expected input_1 to have 4 dimensions, but got array with shape (2120, 1)

The error seems to indicate that the X_train parameter that you passed to model.fit has a shape of (2120, 1). The resnet model expects a shape of (batch_size, 3, 224, 224) by default.
I would recommend that you print the shapes of the parameters to model.fit() and also use model.summary() to display the expected shapes of the network.

Also facing this issue. My data has a shape of (900, 300, 250, 3) but as soon as I increase the training set to 1000 images, I get the following shape (1000,). One thing to note is that I'm facing this problem only on Google Colab notebook and not on Jupyter where my training data shape is (1000, 300, 250, 3) with the same code

The problem most probably that you have  a none 300*250 image leaked into your dataset. Please make sure your data is matching. To have a N-dimensional array you have to have all dimension matching through your dataset. And on top of that your datatype should be the same. If you would have even one image that is not the same dimensions of others you would have a Structured array, thus your array shape would become N,1 instead of N,H,W,C.

I'm facing the same issue VGG16 Model while taking the input from a different source and the eroor comes as: ValueError: Error when checking input: expected input_2 to have shape (224, 224, 3) but got array with shape (224, 224, 4)
Untitled Document 1.txt

I am facing similar problem and converting input and output arrays to numpy.array solved the problem for me.

adding extra bracket on the x_train and y_train and converting them to array solved it(np.array([train_x, train_y]))

I have the same problem, I try to convert to array as said, but didn't solved the problem...
My error: ValueError: Error when checking input: expected input_4 to have shape (None, 600) but got array with shape (600, 21661)


Add git

This PR will add git to the docker container.
Closes #2

Thank une !

0.19 and 0.19-extras tags are updated on Docker Hub. You can now use git withjguyomard/hugo-builder:0.19 or jguyomard/hugo-builder:0.19-extras.

Thanks again. Now I don't have to fork your container just for git.


max can be lower than min

https://github.com/dzeiocom/charts/blob/e9d19b5285562160c62664ccfde45e59005e7661/library/src/main/java/com/dzeio/charts/axis/XAxis.kt#L129-L130
In the following lines the max calculation can be lower than the min coerced value

Download
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
In the installer menu, select "gcc."

comment was a Virus


Mysql query is super slow, please optimize count function...

ok! Zend/Paginator/Adapter/DbSelect.php has one function count(), it was used to count total rows for paginator. When i find the max time usage was occurred in this function , i try to find the question and use the following code to debug.
echo $countSelect->getSqlString(new \Zend\Db\Adapter\Platform\Mysql);
exit;

To follow a logical train of thought, i got the sql
SELECT COUNT(1) AS `c` FROM (
    SELECT `st_re_url`.*,
         `pr`.`product_name` AS `product_name`,
         `br`.`brand_name` AS `brand_name`,
         `ca`.`category_name` AS `category_name`,
         `sh`.`shop_name` AS `shop_name`
   FROM `st_re_url`
        INNER JOIN `st_enum_product` AS `pr` ON `pr`.`product_id` = `st_re_url`.`product_id`
        INNER JOIN `st_brand` AS `br` ON `br`.`brand_id`=`st_re_url`.`brand_id`
        INNER JOIN `st_category` AS `ca` ON `ca`.`category_id`=`st_re_url`.`category_id`
        INNER JOIN `st_enum_shop` AS `sh` ON `sh`.`shop_id`=`st_re_url`.`shop_id`
   WHERE `status` = '99'
       AND `br`.`brand_id` = '100'
        AND `ca`.`category_id` = '100'
     ) AS `original_select`

replenish: zf2.2.4 mysql engine:innodb
thanks a lot!

The count() function uses your own query and merely wraps it in a COUNT function (see Zend\Paginator\Adapter\DbSelect line 150). If you provide a slow query to Zend\Paginator\Adapter\DbSelect that is your problem and you need to optimize your query. Looking at the query you can check if you actually need INNER JOIN or if a LEFT JOIN can also do the job. Next you can check if an index in the status column improves the query speed.
You can use EXPLAIN on your original select query for details.

@Martin-P thanks a lot, you are right, i should optimize my sql, in fact left join is better than inner . It will use full table scan to select on table which engine type is innodb. i think this is the key of the problem.


browser desktop notifications

JFYI: Notifications are already supported in Chrome, Firefox and Firefox for Android.
Maybe you've run into a bug?

It works. Is it possible to avoid notification if chat window is focused, btw?

Um... Yep, sure. I'll rename the issue then :)


fixed warnings in gen codes

Motivation

Ignore warnings in workspace gen codes. And fixed hidden_glob_reexports in pilota-build.
Solution

Added #![allow(warnings, clippy::all)] in workspace gen codes. And pub use Arc & Path.

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


CompletableFuture support for GenericService.

泛化调用中
public interface GenericService {

    Object $invoke(String method, String[] parameterTypes, Object[] args) throws GenericException;

}

这里可不可以异步调用返回个Future。我的工具实现会有多个 ReferenceConfig 缓存，我可以单独再用一个线程池来作为 $invoke 的执行上下文。但每个 ReferenceConfig 好像都有一组线程来维持，这个本身能不能异步调用？

public interface GenericService {
Object $invoke(String method, String[] parameterTypes, Object[] args) throws GenericException;

CompletableFuture<Object> $invokeAsync(String method, String[] parameterTypes, Object[] args) throws GenericException;

}

Is there any progress on this feature?

@chickenlj
Hi, I am very sorry that I have been procrastinating for a long time.
I will try to solve this problem this week. If it's more complicated, I'll discuss a scenario on the mailing list.

@carryxyh No hurry, if you don't get enough time maybe I can give it a try. Just make sure we don't spend too much time repeating this issue.

Simple pr for this issue:
https://github.com/apache/incubator-dubbo/pull/3637
Would u pls have a review?

I am on it.


multiple versions of time is logged & instruction updates

Added monotonic time, time since last reboot and changed text under arousal score (also its instructions).

For [2cc1949] I just rearranged the code. Apparently it doesn't use the display function we developed for affective task.


Review self-evaluations of other team members

Comment when you have completed and I will submit them to Matt.

Complete.

Finished.  Modified my group coordination answer to also include our meeting time.

Completed. Close this issue once submitted.

Submitted our evaluations via email.


Use latest kubevirtci version

Signed-off-by: Daniel Belenky<EMAIL_ADDRESS>What this PR does / why we need it:
The latest kubevirtci version includes support for local
provisioner for ODK provider.

@danielBelenky you need to run make generate for actually pulling in the ci changes :)

/retest

@danielBelenky please add release-note section to the PR description to remove the warning label.

/release-note-none

@danielBelenky please add release-note section to the PR description to remove the warning label.

Added release-note-none label. Thanks!

Resolved in: https://github.com/kubevirt/kubevirt/pull/2781


Using assertEq in unit test reports error: "Invalid data"

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
0.2.0
What command(s) is the bug in?
forge test -vvvvv  --via-ir  --mt testAssertEq
Operating System
Linux
Describe the bug
I reported an error using assertEq in the unit test. The error message was: "Invalid data".
The specific screenshots are as follows:

The solidity code content is as follows:
pragma solidity ^0.8.12;

import "forge-std/Test.sol";

contract MyTest is Test {
    function testAssertEq() public {
        assertEq(uint256(1), uint256(1));
    }
}

add another point:
The error occurred in forge-std v1.8.1. Currently, I changed it to forge-std v1.5.2 and there is no error anymore.

Duplicate of #7402. You need to update to latest nightly


chore: roll to tot

Can you give permission so that I can merge even when CI is failing but it is approved? @mxschmitt


Implement unsaving albums and unfollowing users/artists

Koffein, it's awesome to add the unfollow feature to rspotify, would you like to add some examples to demonstrate how to use these functions ?

I added tests and examples analogous to the saving/following endpoints.

It's great, thanks for your work


Update readme.md

Adding instruction for installing with composer

Thanks!

Ur welcome :-) seems obvious but not for everyone apparently.


ssd1351 on stm32 bluepill

feedback, as requested here (quite a while ago ^^ ): http://www.stm32duino.com/viewtopic.php?t=403, so tried running this library with a bluepill/stm32f103c8 - but the screen remains black.
Running test.ino with the following defines, tried both option 1 & 2 (soft- vs hardware SPI) :
#define sclk PB13
#define mosi PB15
#define cs   PB12
#define rst  PB10
#define dc   PB11
If I use "Ucglib-For-STM32Duino" and initialize like this, it does work ( i.e. the pins are connected correctly from stm to the ssd1351).
Ucglib_SSD1351_18x128x128_SWSPI ucg(/scl/PB13, /sda/ PB15, /cd/PB11, /cs/PB12, /reset/PB10);

You will be better off using the other library. I haven't worked on it
since I published it and haven't worked with STM microcontrollers for
months, so this is rather dead
kalmiya<EMAIL_ADDRESS>schrieb am Sa., 9. Dez. 2017, 23:12:

feedback, as requested here (quite a while ago ^^ ):
http://www.stm32duino.com/viewtopic.php?t=403, so tried running this
library with a bluepill/stm32f103c8 - but the screen remains black.
Running test.ino with the following defines, tried both option 1 & 2
(soft- vs hardware SPI) :
#define sclk PB13
#define mosi PB15
#define cs PB12
#define rst PB10
#define dc PB11
If I use "Ucglib-For-STM32Duino" and initialize like this, it does work (
i.e. the pins are connected correctly from stm to the ssd1351).
Ucglib_SSD1351_18x128x128_SWSPI ucg(/scl/PB13, /sda/ PB15, /cd/PB11,
/cs/PB12, /reset/PB10);
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/berryelectronics/Adafruit_SSD1351-STM32/issues/1, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AMCBvBLMI916V2JL6zRr07NZuORknFWtks5s-wXRgaJpZM4Q8Rat
.

--
Matthias


Add confirm option to action component

What is the current behaviour?
If a user clicks on a action component, the action is triggered immediately. It would be very helpful to add the browsers native confirm boxes in order to give the user a chance, to abort the action.
What is the expected behaviour?
As a developer, I want to specify the behavior for example like this:
  def delete_action_config
    {
      method: :delete,
      ...
      confirm: {
         text: "Are you sure?"
      }
    }
  end

As a matestack app user, I then want to see the browsers native confirm box after clicking on that action. Clicking "yes" should trigger the desired action, clicking "no" should abort the action.
Reference: https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm
Please add/extend:

implementation
specs
docs

I can help on this :)

Hi I would like to pick this

@anusha5695 go for it! do you need any onboarding?

@jonasjabari : I'll look into the codebase in sometime and get back :)


Hltv whatsappbot

Description
Included a HLTV-Whatsapp Bot which parsers the RSS feed provided by HLTV.org and using Twilio, sends it to WhatsApp user.
Fixes #221
Type of change
Choosing one or more options from the following as per the nature of your Pull request.

NOTE: These boxes can be checked using [X]

[ ] Bug fix (non-breaking change which fixes an issue)

[X] New feature (non-breaking change which adds functionality)

[ ] Documentation Update

Checklist:
Please tick all the boxes that are fulfilled by your Pull Request.

[X] I have named my files and folder, according to this project's guidelines.
[X] My code follows the style guidelines of this project.
[X] My Pull Request has a descriptive title. (not a vague title like Update index.md)
[X] I have commented on my code, particularly in hard-to-understand areas.
[X] I have created a helpful and easy to understand README.md, according to the given README_TEMPLATE.
[X] I have included a requirements.txt file (if external libraries are required.)
[X] My changes do not produce any warnings.
[X] I have added a working sample/screenshot of the script.

@golu360  Please add a screenshot of the script in action

Are you working on it? @golu360


backend-v4l2.cpp: Add missing throw keyword

Add missing throw keyword.

Can one of the admins verify this patch?


In Multiline textField scroll appear when number of line is less then maxRows

In certain screen width scroll appears even when it shouldn't, when the number of lines is less then the defined number of maxRows.

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

I expect scroll to appear only when the number of lines in a multiline text field is bigger then the defined maxRows.
Current Behavior

I defined maxRows to be 8. When I make the screen narrow scroll can appear when there are only 7 rows, giving a viewport of only 6 rows.
Steps to Reproduce (for bugs)

1.Define max rows of 8.
2. define width by percentage.
3.add text,
4.and change the width of the window.
Context

I'm trying to make a to do app with some multiline text fields. The app is responsive.
Your Environment

Tech
Version

Material-UI
next

React
16

browser
chrome

etc
windows 10

In my case this happens quite frequently. And I do not set max rows.
In my case I use react-reflex to enable changing component width. This also provokes rerendering.
I have noticed these behaviours:

mounting of component: Sometimes but not always text field is not high enough which results in scrollbars. Text fields seem never to be too hight though.
rerendering of component: Sometimes existing scrollbars disappear. Other times they remain. Or appear.
what is more annoying is that when a component is widened and rerenders, big empty areas can result when text fields remain as high as before. This does also not always happen but quite often.

How long until this bug can be fixed? Will anyone notify us here?
I might try to build a react solution based on this solution https://codepen.io/vsync/pen/frudD

How long until this bug can be fixed?

That depends on how long it is until someone who has an interest in it being fixed commits the time to fix it.

I'm seeing this too but only in Chrome on Windows (10). Firefox and Edge don't show the scrollbar and Chrome on Mac and iOS don't show it either. I think to note is I have 4K monitors so don't know if that could be the problem.
Here is a simple example that shows the problem on Chrome in Windows.
https://codesandbox.io/s/0pmlxmp7p
Here is what it looks like.

I don't have a 4k screen, but have the scrolling issue.

I dug into this, and the problem is in the Input/Textarea.js
It has a funky height determining algorithm, which causes the issue in Chrome due to what looks like ~1px height fluctuations based on textarea's value
The algorithm's maxHeight calculation also seems to be bug-prone, although I haven't tested it thoroughly.
I managed to fix this issue using  react-textarea-autosize, and threw down a little demo to illustrate:
https://codesandbox.io/s/p5xokrw8q
As you can see it already works flawlessly (as far as I can tell) by just utilizing inputComponent and inputProps, and it also happens to address https://github.com/mui-org/material-ui/issues/11375 feature request, as is demonstrated by the small textarea in the demo.
This solution also avoids creating 3 textarea's for a single <Input multiline/> 😉
I also fiddled with Input/Textarea.js, and kind of managed to get that fixed, but whatever was the cause of the necessity of pull request https://github.com/mui-org/material-ui/pull/11159, might have something to say about that fix, since like I said height fluctuations are 1px, and the infinite render loop prevention thing is insensitive to that.
All that said I would recommend using react-textarea-autosize internally as a dependency and scrapping Input/Textarea.js, if that is ok with the project's dependency using/not using approach.
I can work on implementing and flushing it with the existing <Input/> API withing a couple of days if I get the green light for it 🚦 from @oliviertassinari or anybody who can authorize the dependency usage 😊

This issue is even reproducible on the demo page https://material-ui.com/demos/text-fields/ (test in With placeholder multiline)
@ValentineStone's demo works great for me.
I don't want to bug the maintainers but it would be nice with a 👍 or 👎  on if adding react-textarea-autosize would be an acceptable solution. It ways in on 1.8 kB minified & gzipped according to their readme.

This is still an issue.

@oliviertassinari I have similar issue I have this
                     ```
                       <TextField
                                label={'test'}
                                value={"test"}
                                multiline
                                rowsMax="2"
                                onChange={this.handleFieldChange}
                                name={'description'}
                            />

Even though text area shows one line, there is still a small vertical scrollbar next to it. I can't see how referenced issue, solved this, can someone help?

material v: @material-ui/core: ^3.3.2

@giorgi-m Does it reproduce with the latest version?

@oliviertassinari I don't know I didn't touch the versions, because I am afraid to break something else. Should I specify other version, e.g. ^3.x.y?


Ensure that hash-tables created by yason have strings for keys

Hi,
when I tried using your latest JSON based version of your rethinkdb driver I hit a nasty problem.  In our application we also use yason, but we have our own custom yason:*parse-object-key-fn* value set.  This caused some very strange behavior in your driver.  I have produced a simple fix for the issue in this pull request.
Thanks for all your hard work on this and your other CL projects :)
Daniel

Awesome, thanks!


Add deploy on local doc

Tested on ubuntu:latest

Codecov Report

Merging #2523 (25feea8) into main (8c98bc5) will decrease coverage by 2.89%.
The diff coverage is 0.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #2523      +/-   ##
==========================================
- Coverage   42.76%   39.88%   -2.89%
==========================================
  Files          88       88
  Lines        9816     9814       -2
==========================================
- Hits         4198     3914     -284
- Misses       5618     5900     +282

Impacted Files
Coverage Δ

python/graphscope/tests/minitest/test_min.py
0.00% <0.00%> (ø)

... and 11 files with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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

partial addressed #2522


Typing too quickly stop members showing in intellisense

If you type too quickly, intellisense doesn't update and provide correct suggestions when you go "into" a module. You have to "cancel" the current intellisense pop-up and then call it again with e.g. CTRL + SPACE (and sometimes that doesn't work).

This isn't a "show stopper" but it's quite annoying as it occurs very regularly and affects productivity and developer satisfaction.

Solution: don't type so quickly

This should be fixed in Ionide 4.0 (or I don't type quickly enough)

@Krzysztof-Cieslak this is back again in latest Ionide. Sometimes it's fine but if the typechecker isn't fast enough, intellisense simply doesn't catch up. This makes the user think that either their code is broken or that Ionide isn't working.


Suggestion for example "licenses": use AboutLibraries

For the third party licenses I'm using the AboutLibraries of @mikepenz: https://github.com/mikepenz/AboutLibraries

Yep. I'm also using that in my personal app however I would like to avoid including external libraries with my library - hence I'm not bundling Android-Iconics with the library, it's only used in the Demo app.
I'll make it a "tip" in the README.md


RFE to allow dynamic creation of Persistent Volumes from storage classes

We would like the option to dynamically create a persistent volume using the operator instead of having to create a Persistent Volume first and using it to mount on the integration. Is it possible to extend the Mount trait to allow provisioning of the PV from a storage class as well?

Hi @astefanutti @squakez, I would like to work on this issue. Could you assign it to me? I'm studying the codebase and may ask questions later.

Thanks for your interest.

@squakez @astefanutti as far as I can see, to fix this issue we need to edit camel-k/pkg/trait/mount.go and add a new test in camel-k/pkg/trait/mount_test.go
Is that right? Please help elaborate more.

From what I see here:
https://github.com/apache/camel-k/blob/main/pkg/trait/trait_types.go#L566-L592
The mount trait will mount the PVC, no matter if the PVC is statically or dynamically provisioned.
Is that right @squakez @astefanutti ?

The mount trait will just mount the PVC, no matter if the PVC is statically or dynamically provisioned.
Is that right @squakez @astefanutti ?

Yes, that's my understanding too.

The mount trait will just mount the PVC, no matter if the PVC is statically or dynamically provisioned.
Is that right @squakez @astefanutti ?

Yes, that's my understanding too.

@squakez if that's the case, then this issue already had a solution?

I think the idea of the issue is to have the trait accepting the parameters to create the PVC on the fly. As an example, we can think the following kamel run -t mount.storage-class=vpc-block -t mount.storage-request=30Gi -t mount.storage-mode=ReadWriteOnce ... which is in charge to create the PVC on the cluster, and later, mount accordingly on the Integration.

I think the idea of the issue is to have the trait accepting the parameters to create the PVC on the fly. As an example, we can think the following kamel run -t mount.storage-class=vpc-block -t mount.storage-request=30Gi -t mount.storage-mode=ReadWriteOnce ... which is in charge to create the PVC on the cluster, and later, mount accordingly on the Integration.

@squakez should we have another trait for this? I mean, the mount trait should just do what it does: mount the volume. If we need to "create" the volume, should we have another trait for it, like the pvc trait?

@haanhvu we may reason about that for sure. In any case, the business logic would be pretty similar and you'd need to related the mount trait anyway. IMO, we should do a first development within the mount trait, and later figure it out if it makes sense to have a separate trait for that.

We could leverage the work done in https://github.com/apache/camel-k/pull/4025/commits/f82d1e296c4bcd398e03e75764443e0acc6083eb to dynamically create a volume based on StorageClasses

Perhaps I can have a look

I propose ...
kamel run --dev \
    --trait mount.pvc.accessModes=my-pvc=ReadWriteOnce \
    --trait mount.pvc.storageCapacity=my-pvc=5Mi \
    --trait mount.pvc.storageClass=my-pvc=my-storage \
    --trait mount.volumes=my-pvc:/tmp/data pvc-producer.yaml

It uses a pvc subsection for all dynamic PVC stuff. We can later migrate this easily to another trait
It uses explicit keys for supported PVC props i.e. instead of a combined url syntax
stuff with the same name naturally belongs together

An alternative could be ...
kamel run --dev \
    --trait mount.pvc=my-pvc?accessModes=ReadWriteOnce&storageCapacity=5Mi&storageClass=my-storage \
    --trait mount.volumes=my-pvc:/tmp/data pvc-producer.yaml

Consider that modifying the trait is a hard thing to do as it is encapsulated in the Integration API contract. Whatever we chose, we must try to be as stable as possible. The second approach is better, however I'd avoid to add all that redundancy. Probably the user will read the documentation where he check how to compile a given syntax. IMO, following you suggestion it would be better something like: mount.storage=<pvcName>:<storageClass>:<capacity>:<accessModes>:<mountPath> and, by default, the trait would be in charge to mount withouth the need to specify that.

Spelled out, this would be ...
kamel run --dev --trait mount.storage=my-pvc:my-storage:5Mi:ReadWriteOnce:/tmp/data pvc-producer.yaml

Using positional arguments (i.e. pvsname=toks[0], class=toks[1], capacity=toks[2], ...) can be problematic when you have optional properties. Name and path are required, so it could perhaps be ...
kamel run --dev
   --trait mount.storage=my-pvc:/tmp/data?class=my-storage&access=ReadWriteOnce&capacity=5Mi \
   pvc-producer.yaml

This might result in some confusion ...

mount.storage=my-pvc:/tmp/data creates the pvc and mounts it
mount.volumes=my-pvc:/tmp/data requires an existing pvc and mounts it

Hello @tdiesler as this is assigned to you, are you thinking to work on this for next milestone or can we clear your name from the assignees?


run: parallel tests capability

Running tests in parallel test runs to help speed up the checks in terms of time.
Link to redmine ticket: https://redmine.openinfosecfoundation.org/issues/3357
Changes from last PR:

Fixed the test count issue
Modified the display output

Looking really good.
Its not immediately apparent to me why, but the command line option, --debug-failed is no longer working. To see what should happen, tweak a test so that it fails. For example, I made this change:
diff --git a/tests/dns-eve-type-filtering/test.yaml b/tests/dns-eve-type-filtering/test.yaml
index 24dc330..dd95651 100644
--- a/tests/dns-eve-type-filtering/test.yaml
+++ b/tests/dns-eve-type-filtering/test.yaml
@@ -17,7 +17,7 @@ checks:
         event_type: "dns"
   - filter:
       filename: only-a.json
-      count: 4
+      count: 5
       match:
         event_type: "dns"
         dns.rrtype: "A"

If you run suricata-verify against Suricata using the SV master branch, you'll get some output at the end like:
Failed tests debug output:
- Test dns-eve-type-filtering:
  - /home/jason/oisf/code/suricata-verify/tests/dns-eve-type-filtering/output/stdout
    - [Not dumping file that won't utf-8 decode]
  - /home/jason/oisf/code/suricata-verify/tests/dns-eve-type-filtering/output/stderr
    - [Not dumping file that won't utf-8 decode]
...

But with this branch, this output doesn't appear to get trigger at all.

An enhancement to this feature would be to add a -j command line parameter to provide the number of jobs to run. The default behaviour should be what you have here already, but -j would allow me tweak it.  Maybe I only want to have 2 (-j 2) parallel tests going at a time.. Or even one (-j 1).

Looking really good.
Its not immediately apparent to me why, but the command line option, --debug-failed is no longer working. To see what should happen, tweak a test so that it fails. For example, I made this change:
diff --git a/tests/dns-eve-type-filtering/test.yaml b/tests/dns-eve-type-filtering/test.yaml
index 24dc330..dd95651 100644
--- a/tests/dns-eve-type-filtering/test.yaml
+++ b/tests/dns-eve-type-filtering/test.yaml
@@ -17,7 +17,7 @@ checks:
         event_type: "dns"
   - filter:
       filename: only-a.json
-      count: 4
+      count: 5
       match:
         event_type: "dns"
         dns.rrtype: "A"

If you run suricata-verify against Suricata using the SV master branch, you'll get some output at the end like:
Failed tests debug output:
- Test dns-eve-type-filtering:
  - /home/jason/oisf/code/suricata-verify/tests/dns-eve-type-filtering/output/stdout
    - [Not dumping file that won't utf-8 decode]
  - /home/jason/oisf/code/suricata-verify/tests/dns-eve-type-filtering/output/stderr
    - [Not dumping file that won't utf-8 decode]
...

But with this branch, this output doesn't appear to get trigger at all.

Thanks for the feedback @jasonish. I'll work on the changes! 👍

Changes continued in #389.


Improvements on echo test app/framework

Log GRPC requests
Add Workload.Logs() to retrieve app container logs
Allow users to send the Message field in GRPC calls

@jwendell: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
17c96abb33f1855e9f0ffd28c04a95d63a9a10cc
link
/test lint

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

@jwendell: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
17c96abb33f1855e9f0ffd28c04a95d63a9a10cc
link
/test lint

unit-tests_istio
17c96abb33f1855e9f0ffd28c04a95d63a9a10cc
link
/test unit-tests

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

@jwendell: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
17c96abb33f1855e9f0ffd28c04a95d63a9a10cc
link
/test lint

unit-tests_istio
17c96abb33f1855e9f0ffd28c04a95d63a9a10cc
link
/test unit-tests

racetest_istio
17c96abb33f1855e9f0ffd28c04a95d63a9a10cc
link
/test racetest

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

@jwendell: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio
17c96abb33f1855e9f0ffd28c04a95d63a9a10cc
link
/test unit-tests

racetest_istio
17c96abb33f1855e9f0ffd28c04a95d63a9a10cc
link
/test racetest

lint_istio
fc0986b7f9c0e074ca7023d009293efff1c32326
link
/test lint

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

/retest

@jwendell: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
fc0986b7f9c0e074ca7023d009293efff1c32326
link
/test lint

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

@jwendell: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-mixer-k8s-tests_istio
ce44fcd15c7f214bb9bf5dc382522778305d7af8
link
/test integ-mixer-k8s-tests

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


#5688 file size calc wrong

[X ] Bug fix (non-breaking change, fixes #5688

Divided the sum of backup size by the file count to get the actual backup size.

awww yeahhh, thanks a ton! can you paste a screenshot of it working properly, @garethnewman ?

The BackupSizeMB and CompressedBackupSizeMB are not normally shown, I was just testing. I removed them from the output after testing.

yeah, ive noticed different rounding, not a problem at all, close enough & totally common. fantastic fix, thank you 🙇 !

awesome :+1:


Player Pool pre-entry

Mostly for if team rosters are available from an external API

 player pool for fast player access (stats and team data)


MSBuild Update

This represents several updates for the OmniSharp MSBuild projects system:

Use the "Compile" target rather than the "ResolveReferences" target. This allows MSBuild to run more stuff while evaluating the project file, such as generated files (fixes https://github.com/OmniSharp/omnisharp-vscode/issues/1531). Note that this requires copying the C# build tasks into OmniSharp.
Update MSBuild to latest bits (fixes https://github.com/OmniSharp/omnisharp-roslyn/issues/904).
Binding redirects added for MSBuild (fixes https://github.com/OmniSharp/omnisharp-roslyn/issues/903).
Support for testing projects with the latest .NET Core SDK.

the test failures seem legit at the moment?

Yeah, the test failures were me getting a bit greedy. I tried to add testing of .NET 2.0 SDKs at the very end , but it occurs to me that there's going to be problems with that until some upcoming Mono changes make their way in. I'll roll that bit back for now.

OK. CI passes now that I rolled back the 'future' testing stuff. @filipw: I went ahead and kept CSI.exe as well.


Strings for Max3; Another method to fetch decrypted update.zip FYI

First thanks for your work, it works perfectly on my Max3 with strings below:
MODEL = "Max3"
STRING_7F00500 = "1wdvUHZmcz32N1pgG4fkHmDsTDVihMJsPCNV4mW/6u1k"
STRING_7F00501 = "3nxuLgdpBE3B3n1Yyymt4cOS8dNucfQxK8YOsmcemuyO"
STRING_7F00502 = "yCA9YlFxLBdLbDUl3vwzPkn9vtYuVFZCfhrOTvR1"

Just for information purposes, there is another method that has been discussed in the thread Max3 Rooted in MobileRead Fourms.
To get the decrypted update.zip from system upgrade process:

Ensure you have root permission, preferably by installing Magisk, preferably by booting from a patched recovery.img from fastboot (It's always safer that the system and the boot image are not tainted), as per Magisk installation instruction
In adb shell, gain root permission by su, then go to /data/local
Ensure there is no update.zip in /data/local/assets
Duplicate assets directory: cp -a assets assets_2
Mount assets_2 to assets: mount -o bind /data/local/assets_2 /data/local/assets
Check for updates, download and install upgrade in settings, just as if you were in a normal upgrading process (If you encountered with some error that says something like "incorrect version", check permissions of the directory above. This is probably because the updater can't access /data/local/assets)
Decrypted update.zip is generated in mounted /data/local/assets, then the device reboots to recovery and upgrade process hangs, because the decrypted update.zip is now missing under /data/local/assets, but in /data/local/assets_2
Reboot and with root permission, fetch /data/local/assets_2/update.zip. That is the decrypted update data.

Also beware of possibility that all the methods could be invalidated by Onyx. In the thread above they quickly blocked EDL mode after the OP publicly mentioned that.

Thanks for your information! I didn't know whether boox use the same algorithm to decrypt update.zip until this issue.
And may I mention the issue in README.md for this method to get update.zip?

And may I mention the issue in README.md for this method to get update.zip?

Sure

The strings are verified.
(By the way, there is a method to get url of boox firmware. https://github.com/Hagb/decryptBooxUpdateUpx/issues/2#issuecomment-704006389)

has someone try this method on the new 3.2 update?


Cannot debug Dartium w/ SpeedTracer extension enabled

It appears to break debugging within Dartium- everything appears to work but breakpoints don't break. I thought it was a problem with the editor or Dartium for quite a while.
Extension is from:
https://chrome.google.com/webstore/detail/speed-tracer-by-google/ognampngfcbddbfemdapefohjiobgbdl

Looks like not planned.


nixos/fprintd: use systemd.packages

Upstream has a systemd service.
Motivation for this change
Noticed all the nice restrictions they've done to this.
I think a backport would be good idea as well.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

Did you test that the service still worked @c0bw3b? (though I don't expect there to be a problem)

No I have not. I'll let you know if I come around to testing it later.

Going for it :smile:


Working with monorepo?

In a polygot monorepo that looks like:
apps
├── python-foo
│  ├── .envrc
│  ├── foo
│  ├── poetry.lock
│  └── pyproject.toml
└── rust-bar
   ├── bin
   ├── Cargo.lock
   ├── Cargo.toml
   ├── .envrc
   ├── lib
   ├── rustfmt.toml
   └── target

As stated in the README, this extension only "loads environment variables for the workspace root". Suppose I launch VS Code with code . at project root - no .envrc gets loaded when opening file apps/python-foo/foo/main.py - we can't cd into apps/python-foo in VS Code to trigger the direnv loading.
Is there any workaround for this?

Is there any workaround for this?

There isn't, and sadly I don't think there can be.
We can only change the environment at the level of the VS Code extension host, which corresponds to the VS Code workspace -- i.e. the window.
Even if we built a mechanism that always loaded the .envrc of the last focused file, say, we'd have to restart the extension host every time it changed, which in your case would mean reloading the whole workspace every time you switched files.
The only workaround I can offer is opening those parts of your monorepo in separate windows.

Thanks for explanation. I'll probe other solutions.


intel-media-driver: bump to 21.1.1

Existing package

[Y] I am the maintainer of this package.

The latest version in the repo is 20.4.5, not 20.4.1. Can you fix the version so there's no merge conflict?

The most recent gmmlib release here is at version 20.4.1 and the most recent version of media-driver here is at 21.1.1


I can't convert my mobileNetSSD model.

Firstly,i use ssd_example.ipynb is ok. But when i change the model to my model is wrong.Here is my log tf_convert_error_log.txt.
It's my model mobileNetSSD.zip.
look forward to your reply.

This should be resolved in the latest coremltools>=3.0. Please re-open if you still encounter this issue. Thanks!


[Storage] Fix build failures caused by the left over old references after #5613

Not sure why the build didn't fail at #5613

/azp run js - storage-blob - tests

/azp run js - storage-queue - tests

/azp run js - storage-file - tests

Running all the live tests at this point just to make sure there are no other issues for storage in the current master.

Not sure why the build didn't fail at #5613

I think I have figured out why!!!
This PR is pretty old, the checks had run and the build/tests were green.
Then a million changes went to master.
Changes to master branch dont invalidate the build/tests results, so this PR remained green when we decided to merge it today.

This PR is pretty old, the checks had run and the build/tests were green.
Yeah, the new name checks were added in the emulator.spec.ts after your PR became stable with green checks but your PR wasn't merged till now.

Merging this, since #5699 is waiting for this fix.


start-stop-daemon: Initial support EnvironmentFiles

This would enable services to read from a generic environment file besides conf.d/service.conf.
See also:
https://www.freedesktop.org/software/systemd/man/systemd.exec.html#EnvironmentFile=
Two smaller parts of the specification are not implemented yet:

Support multiline variable definitions
Strip whitespaces unless double quoted

I'm adding a note here after speaking with you in irc. We can't merge this yet since it hasn't bee tested. Please update the p/r once you have tested this and we'll go from there.

I have several issues with this:

Not all services use start-stop-daemon (particularly ones that don't use daemons, or ones that do really tricky things).
Environment files as implemented by systemd are incredibly basic, whereas /etc/conf.d/service is sourced by shell, and thus can contain whatever shell code you want.
This leads to environment configuration in several different places, when OpenRC's canonical location for that has always been in /etc/conf.d/service, and this provides no way for that location to override the environment file.

If you need environment variables set for a daemon, just put export SOMEVAR="somevalue" in /etc/conf.d/service or the initscript as appropriate.
:-1:

Yeah I haven't thought of conf.d as an alternative when working on it. Closing it then.


feat: add stricter phpstan rules

Hello,
I added the following, more strict PHPStan rules to ensure better code quality.

phpstan/phpstan-deprecation-rules
phpstan/phpstan-strict-rules

In addition, I deleted some superfluous tests that were running assertions using assertInstanceOf on methods with hinted return types.
In case of a different return type, PHP would throw an error and the assertion would never be executed because strict_types is set to 1.

Hey,
didn't know that such a package exists nice 👍
The code coverage seems broken now. Can you look at it?

The code coverage seems broken now. Can you look at it?

I will take a closer look at this later but I assume this requires me to either write tests for all of the classes or code cov ignore them.
The tests I deleted were basically useless and I assume you wrote them the way they were because there is no other (useful) way to test the classes.
My suggestion here would be to @codeCoverageIgnore the classes.
What do you think?

Thanks! ❤


DuckDB iceberg_scan post processor

This propose how we can support iceberg_scan thru duckdb.
The proposal has two parts: S3 auth, and iceberg_scan.
For S3 authentication,  at the moment there is a new DuckDBS3AuthenticationStrategy, and when executing, is responsible of:

install and load iceberg extension
create or replace the S3 credential

The second part is the connection post processor.  This post processor translate table names following some rules:

There is a root path, where the post processor will concatenate for the iceberg_scan path
It expects that each schema and table are directories within the root path:

root path: s3://warehouse/wh/
Schema: nyc
Table: taxis
Original query: select * from nyc.taxis as "t"
Translation: select * from (select * iceberg_scan('s3://warehouse/wh/nyc/taxis')) as "t"

Few  challenges/questions/todos:

This does NOT include the required grammar for this to work on Legend Engine.

Grammar / Composer for new S3 Auth strategy
Grammar / Composer for new Iceberg Post Processor

Legend Pure relation does not support schema on the name yet, hence the test cases hardcode the schema name on the root path
Legend Pure relation only support INT and VARCHAR types
This assume we can have a private dyna function for the iceberg_scan translation, disabling an existing check
DuckDB at the moment expect some of Hadoop Iceberg hint files to find the right metadata files.  This is improving on next version: https://github.com/duckdb/duckdb_iceberg/pull/63.  This is visible on the test case setup to try to mimic this expectations
To avoid the DuckDB hint file requirement, we could integrate properly with an Iceberg catalog, and leverage its APIs to gather the latest metadata file

This PR is stale because it has been open for 30 days with no activity. Please remove stale label or add any comment to keep this open. Otherwise this will be closed in 5 days.

This PR was closed because it has been inactive for 35 days. Please re-open if this PR is still relevant.


Adds test about bidirectional rules

Ticket
Redmine ticket: https://redmine.openinfosecfoundation.org/issues/5665
#1889 with another test suggested by Brandon Murphy

Replaced by https://github.com/OISF/suricata-verify/pull/1922


Object returned by the operator has no annotations when it actually does

Type of question
Issue with what is on the object returned by the operator
Question
What did you do?
I have an operator that watches resources but many times it can't see annotations on the object. I migrated to 0.18 and got the same issue.
Here is the object my operator watches  and the code that can't see the annotation
What did you expect to see?
I expect the annotation on the object I get by querying k8s to have the annotation I see when I query it myself
$ k get cassandrabackups.db.orange.com backup-tests -o json|jq '.metadata.annotations'
{
  "cassandrabackups.db.orange.com/last-applied-configuration": "{\"kind\":\"CassandraBackup\",\"apiVersion\":\"db.orange.com/v1alpha1\",\"metadata\":{\"name\":\"backup-tests\",\"namespace\":\"cassandra-e2e\",\"selfLink\":\"/apis/db.orange.com/v1alpha1/namespaces/cassandra-e2e/cassandrabackups/backup-tests\",\"uid\":\"ddf45752-ff3d-4256-8cd7-925c7bfb99d6\",\"generation\":21,\"creationTimestamp\":\"2020-06-19T12:50:52Z\"},\"spec\":{\"cassandracluster\":\"cassandra-e2e\",\"datacenter\":\"dc1\",\"storageLocation\":\"s3://cscetbon-lab\",\"schedule\":\"@every 2m\",\"snapshotTag\":\"first\",\"entities\":\"k1.standard1\",\"secret\":\"aws-backup-secrets\"}}",
  "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"db.orange.com/v1alpha1\",\"kind\":\"CassandraBackup\",\"metadata\":{\"annotations\":{},\"name\":\"backup-tests\",\"namespace\":\"cassandra-e2e\"},\"spec\":{\"cassandracluster\":\"cassandra-e2e\",\"datacenter\":\"dc1\",\"entities\":\"k1.standard1\",\"secret\":\"aws-backup-secrets\",\"snapshotTag\":\"first\",\"storageLocation\":\"s3://cscetbon-lab\"}}\n"
}

What did you see instead? Under which circumstances?
Instead no annotations are seen
Environment

operator-sdk version: v0.18.1

Kubernetes version information:

Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.3", GitCommit:"2e7996e3e2712684bc73f0dec0200d64eec7fe40", GitTreeState:"clean", BuildDate:"2020-05-21T14:51:23Z", GoVersion:"go1.14.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.10+k3s1", GitCommit:"5e9f690000fc6b16d2a2553801f477702472792b", GitTreeState:"clean", BuildDate:"2020-06-01T16:29:13Z", GoVersion:"go1.13.11", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind: k3d

This very well could be a caching issue, since any cache updates won't occur until an event occurs on the object. Are the annotations never applied, or do they eventually get applied but not immediately?

@estroz It seems sometimes they get attached to the object and sometimes they don't which doesn't make much sense.

Hi @cscetbon,
When you say that sometimes they get attached and sometimes they don't, how are you checking it? Are you manually checking the resource in the cluster or are you saying it because the behaviour implemented in the code that should occur when has the annotation sometimes is not performed? Also, are the annotations added by your code logic?
Just a thought: Are you getting the latest version of the resource before the annotation check (e.g r.client.GET and then, check)? if not, the code might be checking an old version of the object without the annotation.

@camilamacedo86 whenever the controller's reconcile function gets called I do a GET of the object using the operator's client https://github.com/Orange-OpenSource/casskop/blob/backup-operator/pkg/controller/cassandrabackup/cassandrabackup_controller.go#L156. I checked the annotation by manually debugging the code. I really can't see how at some point there is no annotations on the object returned. You can look at the link I sent you to see the controller's reconcile and the controller's add function too.

Hi @cscetbon,
The reconcile function works like a loop, and it does not stop until all conditionals match its implementation. So, if we check if the Deployment already exists, if not create a new one:
	deployment := &appsv1.Deployment{}
	err = r.client.Get(context.TODO(), types.NamespacedName{Name: memcached.Name, Namespace: memcached.Namespace}, deployment)
	if err != nil && errors.IsNotFound(err) {
		// todo; if is here is because do not exist and then, we will create
		dep := r.deploymentForMemcached(memcached)
		err = r.client.Create(context.TODO(), dep)
		{...}
	} else if err != nil {
		reqLogger.Error(err, "Failed to get Deployment.")
		return reconcile.Result{}, err
	}

Then, check its value in the next step:
       // Ensure the deployment size is the same as the spec
	size := memcached.Spec.Size
	if *deployment.Spec.Replicas != size {
		// do something
	}

It will not work. See that the value in the deployment will be appsv1.Deployment{} and not the resource that was created in the cluster. We need to GET the deployment from the cluster before performing the check to ensure the deployment size is the same as the spec.
See here in the Memcached Sample that after we create the resource we return return reconcile.Result{Requeue: true}, nil which will call the reconcile again. However, we could either just r.client.GETdeployment to get the latest version of it from the cluster as well.  Also, beware that between you GET data from the cluster until you decide to make some operation using it something can be changed already. in this way, the solutions require to be idempotent.
Please, let us know if the information provided help you with and if we can agree in close this one.

@camilamacedo86 I'm not sure how relevant is this information. In order to test it, I am in debug mode and as soon as it starts and does the GET call I check what is in the object return. That's where I can't see the annotations which exist on the object itself. I suspect it's coming from the controller-runtime that we've upgraded.

Hi @cscetbon,

In order to test it, I am in debug mode and as soon as it starts and does the GET call I check what is in the object return.hat's where I can't see the annotations which exist on the object itself.

How do you know that the annotation exist in the object? Are they added fixed in the yaml CR?

Because I can check the object using kubectl directly. It seems kubectl doesn’t use controller-runtime while the operator does. That might be the track I should follow, what do you think ?

Hi @cscetbon,
I am closing this one since it has been without interaction for a while and I think you already figure out this problem.
However, only to register the client provided in the controller will get the object in the same way. Note that, if you do a  client.GET the object and have a var as, for example,  deployment with this value and then change this object on the Cluster then you need to fetch the resource again. The variable will have the info/data related to the moment that it was done.
Please, feel free to raise a new issue or ask to re-open this one if you need.


In TS video format, setting the initial poster does not work

The poster image only works with the JSMpeg.VideoElement, i.e. with

It has no effect when you only instantiate the player itself (new JSMpeg.Player(...)).
I will update the README accordingly.


Spec unverified profile fields

which ones
design

Feature Description
We should add more profile fields to the 3box.io dapp so that users can further personalize their ethereum profile. By allowing users to add more information to their profile, we can in turn make more data available to dapp developers looking to use the public getProfile() API method. This is a win-win feature addition for all sides.
We can think of user profiles as consisting of both subjective (user claimed) and verified info. This spec is just for adding subjective fields. We will publish and link another spec for adding verified fields such as twitter, github, facebook, email, and mobile.

Basic  - subjective
About  - subjective
Contact  - verified
Linked Accounts  - verified
Experience  - subjective

Developer Need
As a dapp developer I need to get richer profile information about my Ethereum users, whom I currently identify in my dapp by their hex Ethereum address, so that I can make my UI more social, human, and familiar.
User Need
As a 3box.io dapp user, I would like the ability to further personalize my profile so that I can express my authenticity across web3.

Basic
Allows users to add basic information so others can recognize them.
Existing Fields
name: string with max length
photo: image with max upload size
New Fields
description: string with max length
spirit-emoji: users select a standard emoji from a predefined list of standard emojis
background: image with recommended dimensions for best view; max size.
About
Allows users to add more information, personality, and context around their basic profile.
New Fields
location: string with max length
url: a valid URL with max length
birthday: [private field] month, date, and year user inputs; only age in years (i.e. 30 yrs) will be displayed on user's profile if user opts-in
status: a string with a max length that conveys a more immediate state for users than their description, which usually remains static as it's more a part of their permanent persona.
member-since: month and year when user first created their profile; displayed in the UI; is automatically generated and is not editable; helps add trust to competing accounts; public timestamp in a way
Experience
work: Separate employer and role fields; strings with max length
education: Separate institution, subject, degree, and year fields; strings with max length

Design Spec

@oed I referenced this issue in the implementation story. https://github.com/uport-project/3box-dapp/issues/147

Ok, I think it's a bit weird to link a closed issue like that. Let's just copy the spec to that issue.

Np, thanks for adding, will do it like that next time :+1:

Thanks <3


Update build.gradle build tools version

build tools version is old, please merge to update

@yamill please merge this. I need a higher build tools version for my project.

@Brian-Kaplan you should be able to use diff build tools for each project in your react native application. The android-sdk should automatically download any missing dependencies. We can however upgrade this. Need to test and make sure everything still works smooth before merging.

@andrerfneves could you describe in more detail how I can have different build tools versions for different projects?
My application uses 25.0.2 and this project uses 23.0.1
When I include the project as described in your README my android studio tells me the minimum required is 25.0.0
I think what you're saying about different projects with different build tools versions coexisting only works for certain build tools versions. Looks like 25.0.2 and 23.0.1 are not compatible

@andrerfneves where are the tests that need to be run? Btw build tools version really won't affect the code in anyway.

I've decided to not use the android implementation for this project.