Workflow not marking itself as completed when finished

Summary
My workflow shows as running even though all nodes have completed. This happens regardless of whether or not the nodes pass or some fail.
Other information that may be useful:

We believe the issue is something to do with the retryStrategy. I can only replicate this issue when I set a retry strategy.
(most of) My workflows have an exit handler. These are not triggered when this issue occurs, but are triggered when it doesn't.
This issue occurs each time and for multiple different workflow configurations.
When this bug is triggered, the workflow phase is stuck on 'running' according to the labels.

Diagnostics
What Kubernetes provider are you using? EKS 1.19
What version of Argo Workflows are you running? 3.0 rc8
Paste a workflow that reproduces the bug, including status:

Each workflow we have produces this error. Here's (what I believe to be) the relevant pieces for you:
    - template:
        name: github-workflow-trigger
        k8s:
          group: argoproj.io
          version: v1alpha1
          resource: workflows
          operation: create
          source:
            resource:
              apiVersion: argoproj.io/v1alpha1
              kind: Workflow
              metadata:
                generateName: classic-pr-
                namespace: ci
              spec:
                # Will timeout in 1 hour
                activeDeadlineSeconds: 3600
                # Will delete the workflow 1 hour after completion
                ttlStrategy:
                  secondsAfterCompletion: 3600
                # Delete volumes on workflow completion
                volumeClaimGC:
                  strategy: OnWorkflowCompletion
                # Delete a pod immediately when the pod is successful
                podGC:
                  strategy: OnWorkflowCompletion
                # retryStrategy:
                #   retryPolicy: OnError
                #   limit: 3
                onExit: exit-handler
                entrypoint: main

Paste the logs from the workflow controller (note these logs go in asc order):

2021-03-22 16:05:12
time="2021-03-22T16:05:12.867Z" level=info msg="Patch events 200"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.867Z" level=info msg="Workflow update successful" namespace=ci phase=Running resourceVersion=31835797 workflow=classic-pr-cbvmf

2021-03-22 16:05:12
time="2021-03-22T16:05:12.856Z" level=info msg="Update workflows 200"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.855Z" level=info msg="Patch events 200"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.843Z" level=info msg="Patch events 200"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.832Z" level=info msg="Patch events 200"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.825Z" level=debug msg="Log changes patch: {\"status\":{\"nodes\":{\"classic-pr-cbvmf\":{\"finishedAt\":\"2021-03-22T16:05:12Z\",\"phase\":\"Succeeded\"},\"classic-pr-cbvmf-2055809241\":{\"finishedAt\":\"2021-03-22T16:05:04Z\",\"phase\":\"Succeeded\",\"resourcesDuration\":{\"cpu\":0,\"memory\":0}},\"classic-pr-cbvmf-2952901088\":{\"finishedAt\":\"2021-03-22T16:05:12Z\",\"phase\":\"Succeeded\"},\"classic-pr-cbvmf-3716595798\":{\"finishedAt\":\"2021-03-22T16:05:12Z\",\"outboundNodes\":[\"classic-pr-cbvmf-581260995\",\"classic-pr-cbvmf-4082496012\",\"classic-pr-cbvmf-1984848737\"],\"phase\":\"Succeeded\"},\"classic-pr-cbvmf-4166644962\":{\"finishedAt\":\"2021-03-22T16:05:12Z\",\"phase\":\"Succeeded\"},\"classic-pr-cbvmf-581260995\":{\"finishedAt\":\"2021-03-22T16:05:12Z\",\"outboundNodes\":[\"classic-pr-cbvmf-2055809241\",\"classic-pr-cbvmf-683031197\",\"classic-pr-cbvmf-1314800059\",\"classic-pr-cbvmf-2674077415\"],\"phase\":\"Succeeded\"}}}}"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.822Z" level=info msg="Patch events 200"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.817Z" level=debug msg="Event(v1.ObjectReference{Kind:\"Workflow\", Namespace:\"ci\", Name:\"classic-pr-cbvmf\", UID:\"eaee0f10-8248-4137-a97f-68366ea68623\", APIVersion:\"argoproj.io/v1alpha1\", ResourceVersion:\"31835602\", FieldPath:\"\"}): type: 'Normal' reason: 'WorkflowNodeSucceeded' Succeeded node classic-pr-cbvmf"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.817Z" level=info msg="node classic-pr-cbvmf finished: 2021-03-22 16:05:12.817169236 +0000 UTC" namespace=ci workflow=classic-pr-cbvmf

2021-03-22 16:05:12
time="2021-03-22T16:05:12.817Z" level=info msg="node classic-pr-cbvmf phase Running -> Succeeded" namespace=ci workflow=classic-pr-cbvmf

2021-03-22 16:05:12
time="2021-03-22T16:05:12.817Z" level=debug msg="Executing node classic-pr-cbvmf of Retry is Running" namespace=ci workflow=classic-pr-cbvmf

2021-03-22 16:05:12
time="2021-03-22T16:05:12.816Z" level=debug msg="Event(v1.ObjectReference{Kind:\"Workflow\", Namespace:\"ci\", Name:\"classic-pr-cbvmf\", UID:\"eaee0f10-8248-4137-a97f-68366ea68623\", APIVersion:\"argoproj.io/v1alpha1\", ResourceVersion:\"31835602\", FieldPath:\"\"}): type: 'Normal' reason: 'WorkflowNodeSucceeded' Succeeded node classic-pr-cbvmf(0)"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.816Z" level=debug msg="Getting the template by name" base="*v1alpha1.Workflow (namespace=ci,name=classic-pr-cbvmf)" depth=0 tmpl="*v1alpha1.WorkflowStep (main)"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.816Z" level=debug msg="Getting the template" base="*v1alpha1.Workflow (namespace=ci,name=classic-pr-cbvmf)" depth=0 tmpl="*v1alpha1.WorkflowStep (main)"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.816Z" level=debug msg="Resolving the template" base="*v1alpha1.Workflow (namespace=ci,name=classic-pr-cbvmf)" depth=0 tmpl="*v1alpha1.WorkflowStep (main)"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.816Z" level=debug msg="Evaluating node classic-pr-cbvmf: template: *v1alpha1.WorkflowStep (main), boundaryID: " namespace=ci workflow=classic-pr-cbvmf

2021-03-22 16:05:12
time="2021-03-22T16:05:12.816Z" level=info msg="Checking daemoned children of classic-pr-cbvmf-3716595798" namespace=ci workflow=classic-pr-cbvmf

2021-03-22 16:05:12
time="2021-03-22T16:05:12.816Z" level=info msg="node classic-pr-cbvmf-3716595798 finished: 2021-03-22 16:05:12.816455174 +0000 UTC" namespace=ci workflow=classic-pr-cbvmf

2021-03-22 16:05:12
time="2021-03-22T16:05:12.816Z" level=info msg="node classic-pr-cbvmf-3716595798 phase Running -> Succeeded" namespace=ci workflow=classic-pr-cbvmf

2021-03-22 16:05:12
time="2021-03-22T16:05:12.816Z" level=info msg="Outbound nodes of classic-pr-cbvmf-3716595798 set to [classic-pr-cbvmf-581260995 classic-pr-cbvmf-4082496012 classic-pr-cbvmf-1984848737]" namespace=ci workflow=classic-pr-cbvmf

2021-03-22 16:05:12
time="2021-03-22T16:05:12.816Z" level=debug msg="Found stored template" base="*v1alpha1.Workflow (namespace=ci,name=classic-pr-cbvmf)" depth=0 tmpl="*v1alpha1.DAGTask (sonarscanner-classic/main)"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.816Z" level=debug msg="Resolving the template" base="*v1alpha1.Workflow (namespace=ci,name=classic-pr-cbvmf)" depth=0 tmpl="*v1alpha1.DAGTask (sonarscanner-classic/main)"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.815Z" level=debug msg="Found stored template" base="*v1alpha1.Workflow (namespace=ci,name=classic-pr-cbvmf)" depth=0 tmpl="*v1alpha1.DAGTask (pr-merge-checker/main)"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.815Z" level=debug msg="Event(v1.ObjectReference{Kind:\"Workflow\", Namespace:\"ci\", Name:\"classic-pr-cbvmf\", UID:\"eaee0f10-8248-4137-a97f-68366ea68623\", APIVersion:\"argoproj.io/v1alpha1\", ResourceVersion:\"31835602\", FieldPath:\"\"}): type: 'Normal' reason: 'WorkflowNodeSucceeded' Succeeded node classic-pr-cbvmf(0).classic-unittest-classic"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.815Z" level=debug msg="Resolving the template" base="*v1alpha1.Workflow (namespace=ci,name=classic-pr-cbvmf)" depth=0 tmpl="*v1alpha1.DAGTask (pr-merge-checker/main)"

2021-03-22 16:05:12
time="2021-03-22T16:05:12.815Z" level=info msg="node classic-pr-cbvmf-2952901088 finished: 2021-03-22 16:05:12.815325644 +0000 UTC" namespace=ci workflow=classic-pr-cbvmf

2021-03-22 16:05:12
time="2021-03-22T16:05:12.815Z" level=info msg="node classic-pr-cbvmf-2952901088 phase Running -> Succeeded" namespace=ci workflow=classic-pr-cbvmf

2021-03-22 16:05:12
time="2021-03-22T16:05:12.815Z" level=debug msg="Executing node classic-pr-cbvmf(0).classic-unittest-classic of Retry is Running" namespace=ci workflow=classic-pr-cbvmf

2021-03-22 16:05:12
time="2021-03-22T16:05:12.814Z" level=info msg="Patch events 200"

|
-- | --

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

I'll take a look

This issue occurs each time and for multiple different workflow configurations.

@tim-sendible Can you please attach a minimal workflow that reproduces this problem? The workflow you attach is not complete and it's not clear how the issue manifests from it

Also, perhaps the thing that would most help me debug this issue is if you would include a version of the "live" workflow that suffers from this issue. You can get the "live" workflow by running kubectl get workflow -o yaml <WF_NAME>.

@simster7 It occurs on literally any workflow we run as long as the retry strategy is enabled.
However if you like I will try and provide a sanitised workflow tomorrow.

Yes, please that would be useful as I haven't been able to reproduce this.
Some other questions to help debugging: does this occur only on v3.0.0-rc8 or does it also occur in other RCs? Does it occur in v2.12.*?

I have only been using workflows for 2 weeks. It was really only since using rc8 that I have been in a position to notice the hanging.
So there is a slim chance it's only occurred in rc8. I have only used rc6 and rc7 and have not used v2 for anything other than proving the installation process.

Great, thanks for the info. I'll keep trying to replicate, otherwise the sanitized "live" workflows would be most useful

Here's a sanitised example:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  creationTimestamp: "2021-03-23T06:22:21Z"
  generateName: never-completes-
  generation: 5
  labels:
    workflows.argoproj.io/creator: Cgg2OTQ2MTQ0ORIGZ2l0aHVi
    workflows.argoproj.io/phase: Running
  managedFields:
  - apiVersion: argoproj.io/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:generateName: {}
        f:labels:
          .: {}
          f:workflows.argoproj.io/creator: {}
      f:spec:
        .: {}
        f:activeDeadlineSeconds: {}
        f:arguments: {}
        f:entrypoint: {}
        f:nodeSelector: {}
        f:podGC: {}
        f:retryStrategy: {}
        f:serviceAccountName: {}
        f:templates: {}
        f:ttlStrategy: {}
        f:volumeClaimGC: {}
        f:volumeClaimTemplates: {}
        f:volumes: {}
      f:status:
        .: {}
        f:finishedAt: {}
    manager: argo
    operation: Update
    time: "2021-03-23T06:22:21Z"
  - apiVersion: argoproj.io/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          f:workflows.argoproj.io/phase: {}
      f:status:
        f:artifactRepositoryRef: {}
        f:conditions: {}
        f:nodes: {}
        f:persistentVolumeClaims: {}
        f:phase: {}
        f:progress: {}
        f:resourcesDuration: {}
        f:startedAt: {}
    manager: workflow-controller
    operation: Update
    time: "2021-03-23T06:22:31Z"
  name: never-completes-9ggbz
  namespace: ci
  resourceVersion: "32181340"
  selfLink: /apis/argoproj.io/v1alpha1/namespaces/ci/workflows/never-completes-9ggbz
  uid: 6d2d6363-3cfa-498d-b31a-f84bdd110bfd
spec:
  activeDeadlineSeconds: 3600
  arguments: {}
  entrypoint: main
  nodeSelector:
    eks.amazonaws.com/nodegroup: spot-nodes
  podGC:
    strategy: OnWorkflowCompletion
  retryStrategy:
    limit: 3
    retryPolicy: OnError
  serviceAccountName: argo-workflows
  templates:
  - dag:
      tasks:
      - arguments: {}
        name: random-worker
        template: random-worker
        withItems:
        - 1
        - 2
        - 3
        - 4
        - 5
    inputs: {}
    metadata: {}
    name: main
    outputs: {}
  - container:
      args:
      - echo "Wibble" && sleep 5 && echo "Dun"
      command:
      - sh
      - -c
      image: docker.sendilab.net/proxy/library/alpine
      imagePullPolicy: Always
      name: ""
      resources:
        requests:
          cpu: "1"
          memory: 700Mi
    inputs: {}
    metadata: {}
    name: random-worker
    outputs: {}
  ttlStrategy:
    secondsAfterCompletion: 3600
  volumeClaimGC:
    strategy: OnWorkflowCompletion
  volumeClaimTemplates:
  - metadata:
      creationTimestamp: null
      name: workdir
    spec:
      accessModes:
      - ReadWriteMany
      resources:
        requests:
          storage: 1Gi
      storageClassName: nfs
    status: {}
  volumes:
  - emptyDir: {}
    name: worker1
  - emptyDir: {}
    name: worker2
  - emptyDir: {}
    name: worker3
  - emptyDir: {}
    name: worker4
  - emptyDir: {}
    name: worker5
status:
  artifactRepositoryRef:
    default: true
  conditions:
  - status: "False"
    type: PodRunning
  finishedAt: null
  nodes:
    never-completes-9ggbz:
      children:
      - never-completes-9ggbz-82303199
      displayName: never-completes-9ggbz
      finishedAt: "2021-03-23T06:22:52Z"
      id: never-completes-9ggbz
      name: never-completes-9ggbz
      phase: Succeeded
      progress: 5/5
      resourcesDuration:
        cpu: 55
        memory: 205
      startedAt: "2021-03-23T06:22:21Z"
      templateName: main
      templateScope: local/never-completes-9ggbz
      type: Retry
    never-completes-9ggbz-82303199:
      children:
      - never-completes-9ggbz-909830033
      displayName: never-completes-9ggbz(0)
      finishedAt: "2021-03-23T06:22:52Z"
      id: never-completes-9ggbz-82303199
      name: never-completes-9ggbz(0)
      outboundNodes:
      - never-completes-9ggbz-1514290502
      - never-completes-9ggbz-3909440240
      - never-completes-9ggbz-663838326
      - never-completes-9ggbz-385440284
      - never-completes-9ggbz-2512596758
      phase: Succeeded
      progress: 5/5
      resourcesDuration:
        cpu: 55
        memory: 205
      startedAt: "2021-03-23T06:22:21Z"
      templateName: main
      templateScope: local/never-completes-9ggbz
      type: DAG
    never-completes-9ggbz-385440284:
      boundaryID: never-completes-9ggbz-82303199
      displayName: random-worker(3:4)(0)
      finishedAt: "2021-03-23T06:22:36Z"
      hostNodeName: ip-172-21-2-59.ec2.internal
      id: never-completes-9ggbz-385440284
      name: never-completes-9ggbz(0).random-worker(3:4)(0)
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 11
        memory: 41
      startedAt: "2021-03-23T06:22:21Z"
      templateName: random-worker
      templateScope: local/never-completes-9ggbz
      type: Pod
    never-completes-9ggbz-663838326:
      boundaryID: never-completes-9ggbz-82303199
      displayName: random-worker(2:3)(0)
      finishedAt: "2021-03-23T06:22:29Z"
      id: never-completes-9ggbz-663838326
      name: never-completes-9ggbz(0).random-worker(2:3)(0)
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 11
        memory: 41
      startedAt: "2021-03-23T06:22:21Z"
      templateName: random-worker
      templateScope: local/never-completes-9ggbz
      type: Pod
    never-completes-9ggbz-808390395:
      boundaryID: never-completes-9ggbz-82303199
      children:
      - never-completes-9ggbz-663838326
      displayName: random-worker(2:3)
      finishedAt: "2021-03-23T06:22:31Z"
      id: never-completes-9ggbz-808390395
      name: never-completes-9ggbz(0).random-worker(2:3)
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 11
        memory: 41
      startedAt: "2021-03-23T06:22:21Z"
      templateName: random-worker
      templateScope: local/never-completes-9ggbz
      type: Retry
    never-completes-9ggbz-909830033:
      boundaryID: never-completes-9ggbz-82303199
      children:
      - never-completes-9ggbz-2725971403
      - never-completes-9ggbz-1368469385
      - never-completes-9ggbz-808390395
      - never-completes-9ggbz-1383147341
      - never-completes-9ggbz-3708144667
      displayName: random-worker
      finishedAt: "2021-03-23T06:22:52Z"
      id: never-completes-9ggbz-909830033
      name: never-completes-9ggbz(0).random-worker
      phase: Succeeded
      progress: 5/5
      resourcesDuration:
        cpu: 55
        memory: 205
      startedAt: "2021-03-23T06:22:21Z"
      templateName: random-worker
      templateScope: local/never-completes-9ggbz
      type: TaskGroup
    never-completes-9ggbz-1368469385:
      boundaryID: never-completes-9ggbz-82303199
      children:
      - never-completes-9ggbz-3909440240
      displayName: random-worker(1:2)
      finishedAt: "2021-03-23T06:22:31Z"
      id: never-completes-9ggbz-1368469385
      name: never-completes-9ggbz(0).random-worker(1:2)
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 11
        memory: 41
      startedAt: "2021-03-23T06:22:21Z"
      templateName: random-worker
      templateScope: local/never-completes-9ggbz
      type: Retry
    never-completes-9ggbz-1383147341:
      boundaryID: never-completes-9ggbz-82303199
      children:
      - never-completes-9ggbz-385440284
      displayName: random-worker(3:4)
      finishedAt: "2021-03-23T06:22:41Z"
      id: never-completes-9ggbz-1383147341
      name: never-completes-9ggbz(0).random-worker(3:4)
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 11
        memory: 41
      startedAt: "2021-03-23T06:22:21Z"
      templateName: random-worker
      templateScope: local/never-completes-9ggbz
      type: Retry
    never-completes-9ggbz-1514290502:
      boundaryID: never-completes-9ggbz-82303199
      displayName: random-worker(0:1)(0)
      finishedAt: "2021-03-23T06:22:29Z"
      id: never-completes-9ggbz-1514290502
      name: never-completes-9ggbz(0).random-worker(0:1)(0)
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 11
        memory: 41
      startedAt: "2021-03-23T06:22:21Z"
      templateName: random-worker
      templateScope: local/never-completes-9ggbz
      type: Pod
    never-completes-9ggbz-2512596758:
      boundaryID: never-completes-9ggbz-82303199
      displayName: random-worker(4:5)(0)
      finishedAt: "2021-03-23T06:22:41Z"
      hostNodeName: ip-172-21-3-216.ec2.internal
      id: never-completes-9ggbz-2512596758
      name: never-completes-9ggbz(0).random-worker(4:5)(0)
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 11
        memory: 41
      startedAt: "2021-03-23T06:22:21Z"
      templateName: random-worker
      templateScope: local/never-completes-9ggbz
      type: Pod
    never-completes-9ggbz-2725971403:
      boundaryID: never-completes-9ggbz-82303199
      children:
      - never-completes-9ggbz-1514290502
      displayName: random-worker(0:1)
      finishedAt: "2021-03-23T06:22:31Z"
      id: never-completes-9ggbz-2725971403
      name: never-completes-9ggbz(0).random-worker(0:1)
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 11
        memory: 41
      startedAt: "2021-03-23T06:22:21Z"
      templateName: random-worker
      templateScope: local/never-completes-9ggbz
      type: Retry
    never-completes-9ggbz-3708144667:
      boundaryID: never-completes-9ggbz-82303199
      children:
      - never-completes-9ggbz-2512596758
      displayName: random-worker(4:5)
      finishedAt: "2021-03-23T06:22:52Z"
      id: never-completes-9ggbz-3708144667
      name: never-completes-9ggbz(0).random-worker(4:5)
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 11
        memory: 41
      startedAt: "2021-03-23T06:22:21Z"
      templateName: random-worker
      templateScope: local/never-completes-9ggbz
      type: Retry
    never-completes-9ggbz-3909440240:
      boundaryID: never-completes-9ggbz-82303199
      displayName: random-worker(1:2)(0)
      finishedAt: "2021-03-23T06:22:29Z"
      id: never-completes-9ggbz-3909440240
      name: never-completes-9ggbz(0).random-worker(1:2)(0)
      phase: Succeeded
      progress: 1/1
      resourcesDuration:
        cpu: 11
        memory: 41
      startedAt: "2021-03-23T06:22:21Z"
      templateName: random-worker
      templateScope: local/never-completes-9ggbz
      type: Pod
  persistentVolumeClaims:
  - name: workdir
    persistentVolumeClaim:
      claimName: never-completes-9ggbz-workdir
  phase: Running
  progress: 5/5
  resourcesDuration:
    cpu: 55
    memory: 205
  startedAt: "2021-03-23T06:22:21Z"

Thanks, I was able to reproduce. Looking for the fix now

This has been fixed in v3.0.0-rc9


SNMP and sessionServiceType no longer supported

Ticket: #850 (https://github.com/kaazing/roadmap/issues/850)
An exception is now thrown when management.snmp is attempted to be used. Additionally, all files pertinent to SNMP has been removed from gateway.management
Ticket: #576 (https://github.com/kaazing/tickets/issues/576#event-705527611)
An exception also thrown when sessionServiceType is attempted to be used.

What are all the management/bin files?

@dpwspoon renamed the method and changed the error message

The automated builds failed with snmp related error
testServiceDefaultsWithoutSslCiphers(org.kaazing.gateway.management.impl.ServiceDefaultsConfigurationBeanImplTest) starting
the Mockery is not thread-safe: use a Synchroniser to ensure thread safety
the Mockery is not thread-safe: use a Synchroniser to ensure thread safety
ServiceDefaultsConfigurationBeanImplTest.testServiceDefaultsWithoutSslCiphers FAILED with exception java.lang.IllegalArgumentException: Unrecognized service type: management.snmp (0.58 secs)
java.lang.IllegalArgumentException: Unrecognized service type: management.snmp
	at org.kaazing.gateway.service.ServiceFactory.newService(ServiceFactory.java:47)
	at org.kaazing.gateway.server.context.resolve.GatewayContextResolver.resolveServices(GatewayContextResolver.java:488)
	at org.kaazing.gateway.server.context.resolve.GatewayContextResolver.resolve(GatewayContextResolver.java:236)
	at org.kaazing.gateway.server.test.Gateway.createGatewayContext(Gateway.java:128)
	at org.kaazing.gateway.server.test.Gateway.start(Gateway.java:97)
	at org.kaazing.gateway.management.impl.ServiceDefaultsConfigurationBeanImplTest.testServiceDefaultsWithoutSslCiphers(ServiceDefaultsConfigurationBeanImplTest.java:62)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.lang.Thread.run(Thread.java:745)

Looks like there are tests you didn't remove, also I would recommend removing the files that have MIB in there name (they aren't jar files)

@dpwspoon removed test (ServiceDefaultsConfigurationBeanImplTest.java) for snap and MIB-design.txt.
ran mvn clean install and gateway runs smoothly


Add metric for logs agent status

What does this PR do?
Add metric for logs agent status.
Motivation
Because I need to configure a monitor that would be triggered when the logs agent stops reporting. Currently I do it with a custom check written in Python and I would prefer the agent to report it natively.

I'll give it a shot, but I'm tempted to use "expvar" for this instead.

You can follow https://github.com/DataDog/datadog-agent/pull/2408

OK cool! I think I should close that PR then.


[OCPNODE-550] ImageContentPolicy change listType map to atomic

Per the discussion during the implementation, the listType=map is more
strict than the underlying implementation.https://github.com/openshift/runtime-utils/pull/12#discussion_r721681737
Change listType from map to atomic to match the underlying implementation
The original CRD was added PR for https://github.com/openshift/api/pull/874
Signed-off-by: Qi Wang<EMAIL_ADDRESS>

According to the discussion, https://github.com/openshift/runtime-utils/pull/12#discussion_r721681737 the previous listType=map is more strict and incorrect. The underlying implementation should handle the merger of multiple sources values.
@sttts Could you review?

CLose since the design changed https://github.com/openshift/enhancements/pull/929/


translate speakerinnen.org into french

We want to translate the site into more languages, @madny works on the french translation

Yeay, French. Thanks for the effort @madny !!!!

What needs to be translated is:

(de)_yml
static sites about.(de).html.erb, faq.(de).html.erb, impressum.(de).html.erb

status: translation is there must only be added to the code.

Any progress on this? I am asking as I could translate most of the Strings since my mother language is French.

@dmarcoux thx a lot for the offer. We already have all the translations but have to transform it into the proper .yml format and add it to the app ;)

Hello, how might we help on this?
We are several french people from RailsGirlsParis and I'd love to help for 24 pull requests :)
Cheers,

Hey @abelards that sounds great :))
What we have right now is the de.yml translated into french https://gist.github.com/zaziemo/5abbaafbff7bc21ba5c6
*the german terms must be deleted
*the document has to be transfered into the right format .yml
*import the french versions of devise.yml / kaminari.yml / languages.yml / rails.yml
*implement a "fr" link on the homepage to switch to french locale
*add fields for french main topic and biographie
*optional: the static sites about.(de).html.erb, faq.(de).html.erb, impressum.(de).html.erb have to be translated

Hi! Some comments:
"Hast Du etwas Interessantes zu erzählen?" => I'd change that "?" for a "!"
I find that this simple change helped me get much more beginner speakers at @parisrb

What we have right now is the de.yml translated into french
https://gist.github.com/zaziemo/5abbaafbff7bc21ba5c6
I contributed to it, I hope you see it, I'm not used to (secret) gists.
Also added or removed some whitespace, went "vouvoiement" instead of "tutoiement" because I feel super weird when a websites tells me "tu" instead of "vous",
and changed some words I've seen in many FR projects and some idioms that sounded awkward :

éditer -> modifier
annuler (means cancel) -> supprimer (means delete/destroy)
Also there are  in some german text but it's removed in FR. I did not add them back.

Replaced Rails Girls
by Rails Girls
Replaced entraîneurs (coaches but also pimps -- sorry) by mentors.
devblog: "Entwicklerinnen-Blog"
Why the comma after href?

the german terms must be deleted
the document has to be transfered into the right format .yml
Not sure but what should I change specifically? Identation and testing the correctness?

STILL IN TODO

import the french versions of devise.yml / kaminari.yml / languages.yml / rails.yml
implement a "fr" link on the homepage to switch to french locale
add fields for french main topic and biographie
optional: the static sites about.(de).html.erb, faq.(de).html.erb, impressum.(de).html.erb have to be translated

Hope it helps, and I may use some more of my 24 days of PR for speakerinnen :) <3

Wow, @abelards merci beaucoup :)
I will have a look on that later. One small thing right now which is pretty important for the whole translation: we decided to use the "Du" instead of "Sie" in german which would result in a "tu" instead of "vous" in french. We also had discussions about that but finally decided for this tonality in all our documents (mails, tutorials etc.).
It think we should stick to it if it is "only" your opinion and no cultural no go. I don't mean this as an offence :) But also in Germany it's not common to say "Du" in a buisiness environment, but it is changing more and more and becomes more common in the nice communities :) So probably it's the same in France and we can break a little bit the traditions. But if you recommend not to use "tu" in the french version because it sounds rude and offensive in a business environment it's good to change it.

It's certainly not offensive, and not rude, but unusual enough for some to think it bothering.
On the next steps like reformatting the YML I will go back to the "tutoiement": I now know you chose that willfully and after debate so I'll be glad to revert, if only for respect and consistency :)
Most other fixes were typos and slight grammatical fixes so yay to whoever did the first draft!
Lastly I'm a bit sad to see so much duplication and I still weep that Rails chose a weird YML format instead of the industry-standard GetText ;)

Currently closed until there is a team that wants to take care of it in France.


[Upstream Bug]: Camera centers incorrectly around bounds with padding

This is a placeholder issue to track an upstream bug. See https://github.com/mapbox/mapbox-maps-ios/issues/2134.

@mfazekas I'm not sure how to keep this open without adding the full issue template, but I don't think that really applies here.

I'm not sure how to keep this open without adding the full issue template, but I don't think that really applies here.

The bot only requires a rn component to reproduce the issue. I think that applies here as well.


[W5.7][T12-4]Yang Shuqi

Add count command.

The code is of good quality and list + [PAGE_NUMBER] is a quite novel idea. Perhaps a more rigorous documentation is needed.


Can you help include the pretrained model of MobileSAM in this official project?

We have just released our MobileSAM project to make SAM mobile-friendly. MobileSAM replaces the heavyweight encoder (632M) in the original SAM with a much smaller Tiny-ViT (5M). It performs on par with the original SAM. For inference speed, MobileSAM runs around 10ms per image: 8ms on the image encoder and 2ms on the mask decoder. MobileSAM keeps exactly the same pipeline as the original SAM, and therefore, the MobileSAM (with pre-trained weights) can be integrated into the official SAM project by just changing the image encoder. Thanks for including the pretrained model of MobileSAM in this official project.

Does the MobileSAM can be used on iOS or Android platform? Is there any Demo, thanks.

Here is the Segment Anything CPP Wrapper for macOS.
This code is originated from Segment Anything CPP Wrapper and implemented on macOS app RectLabel. We customized the original code so that getMask() uses the previous mask result called as low_res_logits and retain the previous mask array for undo/redo actions.
We hope this macOS version would help to develop the iOS version.
Please let us know your opinion.

Improved "Create polygon using SAM" feature so that you can label pixels using the pixels option. You can label Segment Anything 1 Billion (SA-1B) like dataset by yourself.


Silent JSON response decoding failures

response.JSON() doesn't return any errors when there's a failure to decode the response data into the expected structure.

You should manage the error via "error" middleware phase, which would be triggered in case of error. See middleware implementation. I will also create a representative example about this.

What's the purpose of the error return value in the .JSON() method then?

Where did you see that?

You can see an error middleware handling example here:
https://github.com/h2non/gentleman/blob/master/_examples/error-handler/error.go


Add Pixel 2 device

Virtual devices were problematic with push, but also way slower to execute. Even slower fo processing the outputs.

@jraska How are you finding this?
I am using Device Testing via Bitrise so I don't use Firebase Test Lab directly. I have recently had issues that the tests end with a failure saying it crashed, but all the tests pass.
Bitrise support suggest I try a different device. I was using Pixel 2 API 28 before.

@lordcodes So far it works good the execution is surprisingly even faster than on Pixel 4 API 29. (Median of 14s compared to 17s) :)
I had similar failure experience with Pixel 4 In my case it was some crash within Play Store installed on the device. It took some weeks of information ping pong with Firebase Support to get it sorted :D
Different device usually solves this, but they don't have API 30 yet and there is very few on API 29.

I re-read above, I'm forced to use virtual devices as that must be the deal Bitrise have with Firebase.
You get it included with your Bitrise subscription so worth sticking with until I really need more.

This PR was released with 0.22.1


Fix #1786, Success Test for CFE_ES_RestartApp

Describe the contribution
Fixes #1786
Testing performed
Used GitHub Actions Workflow.
Expected behavior changes
There is a success test for CFE_ES_RestartApp in cFE/modules/es/ut-coverage/es_UT.c.
Contributor Info - All information REQUIRED for consideration of pull request
Ariel Adams, ASRC Federal

Note - I'll take a look at why this is failing locally.


Flag for permissive ACLs on bind mounted dirs

On Windows 2016, BUILTIN\Users needs access to these directories to that
the container users can access bind mounts from them.
On Windows 2012R2, there isn't real filesystem isolation, BUILTIN\Users
should not have access to these directories.
By default, do not add the permissive ACL.
[#151704899]

Thanks, @sesmith177 ! Prioritizing for the team to pull in.
Best,
Eric


Add trusting ASP.NET Core localhost certificate

When you go through this for the first time on a "clean" machine, aka new to .NET for VS Code, you run need to trust the ASP.NET Core localhost certificate before running the app. This is not explicitly stated in the VS Code version of the docs. Thankfully, the product has a popup that detects that this has not been done and asks you to accept. The screenshots for this should be added to the tutorial.
Right after going through this step and hitting F5 however, the browser tabs launched but we got an error where it said the web page could not be loaded. We should put some screenshots on what to look for to help uses understand that there is now a cert issue like adding screenshots of the URL that shows the https crossed out with the red line. In addition, we should make it more bold and within these actual instructions themselves that users may need to close their browsers/kill the processes. I ended up on the troubleshooting docs and the instruction was hard to miss since the code to run in the terminal caught my attention right away.

Where would you expect this content - we do have this article, and we link to it from a few key places:
https://learn.microsoft.com/en-us/dotnet/aspire/troubleshooting/untrusted-localhost-certificate


DML Used on Empty List

https://github.com/financialforcedev/fflib-apex-common/blob/43d2bc897db89367384e70d8cda8439ec4ef66bc/fflib/src/classes/fflib_SObjectUnitOfWork.cls#L90-L98
I'm curious to understand if we should check for null or empty list before completing the dml operation given that is is possible to call uow.CommitWork() and have empty lists. If that happens, the library utilizes extra limits for dml when not needed.

No limits are used on empty lists. See https://salesforce.stackexchange.com/questions/19399/any-reason-to-skip-dml-on-empty-lists


Get-DbaDatabase for multiple -SqlInstance does not return server name.

When calling Get-DbaDatabase -SqlInstance SQL1, SQL2 ... the Server name is not part of the output like Get-DbaDiskSpace has for example (like each command supporting server list would have I suspect)
I have following properties returned:
Name           :
Status         :
RecoveryModel  :
Compatibility  :
Collation      :
Owner          :
LastFullBackup :
LastDiffBackup :
LastLogBackup  :

Thanks for your feedback, @white-bee! It's good to know what people expect.
I have submitted a PR that fixes your request and it will be included in a small release today. Please also note that there are a lot of properties that are there that you don't immediately see, we just cherry picked a few, kinda like Microsoft does. Check out
Get-DbaDatabase -SqlInstance localhost -Databases master | Select *
👍


feat!: Rewrite configure script in ansible

Quite a bit left to do on this but it's a start!
TODO:

generate_ansible_host_secrets
generate_ansible_hosts
update readme

Signed-off-by: Devin Buhl<EMAIL_ADDRESS>

The README mentions still config.sample.env that probably needs to be cleared out. https://github.com/onedr0p/flux-cluster-template/pull/822/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R175

Readme updated.


Ionic Package - Build was working, but no longer [Error code 70 for command: xcodebuild]

On 4-24-2017, this build was working just fine. Now it is failing with a very odd error.
Command I used: "ionic package build ios --noresources --release --profile dev"
certs are still valid and I did not change the Security Profile. I didn't change anything with the Ionic Package settings actually, just a code change.
== END OF MY MESSAGE; ERROR BELOW ==
error: exportArchive: The operation couldn’t be completed. (IDEDistributionErrorDomain error 3.)
Error Domain=IDEDistributionErrorDomain Code=3 "(null)" UserInfo={IDEDistributionErrorSigningIdentityToItemToUnderlyingErrorKey={
"<DVTSigningCertificate: 0x7f962568f8a0; name='iPhone Distribution: Lions Den Mobile LLC (GLGDAJ9VWM)', hash='EA3C63274EB2F355AEA849981C75BB42A2DDBC12', serialNumber='3575A07C5F4926AA', certificateKind='1.2.840.1136<IP_ADDRESS>.4, issueDate='2016-08-19 04:26:16 +0000''>" =     {
"<IDEDistributionItem: 0x7f96257d3f40 'com.lionsdenmobile.sleepytime' '<DVTFilePath:0x7f9625650840:'/Users/package/workspace/apps-d010f143-20/cordova/platforms/ios/Sleepy Time.xcarchive/Products/Applications/Sleepy Time.app'>'>" = "Error Domain=IDECodesignResolverErrorDomain Code=7 "No matching provisioning profiles found" UserInfo={NSLocalizedRecoverySuggestion=None of the valid provisioning profiles allowed the specified entitlements: beta-reports-active., NSLocalizedDescription=No matching provisioning profiles found, IDECodesignResolverError_ResolutionInputsKey=<IDECodesignResolutionInputs: 0x7f96257f9250; portalTeamID='GLGDAJ9VWM', usingTeamBasedSigning='NO', bundleIdentifier='com.lionsdenmobile.sleepytime', targetName='(null)', provisioningProfilePurpose='1', requiresProvisioningProfile='YES', provisioningProfilePlatform='iOS', certificateKind='1.2.840.1136<IP_ADDRESS>.4', requiredEntitlements='{\n    "beta-reports-active" = 1;\n}', requiredCodesignableDevices='(null)', requiredFeatures='(null)'>\n}";
};
}}
** EXPORT FAILED **
Error: Error code 70 for command: xcodebuild with args: -exportArchive,-archivePath,Sleepy Time.xcarchive,-exportOptionsPlist,/Users/package/workspace/apps-d010f143-20/cordova/platforms/ios/exportOptions.plist,-exportPath,/Users/package/workspace/apps-d010f143-20/cordova/platforms/ios/build/device

Hey @jarodms6,
can you post your ionic info output and package.json?
Thank you.

I have a similar error: [Error code 70 for command: xcodebuild], but:
Error Domain=IDEDistributionErrorDomain Code=1 "No valid iOS Distribution signing identities belonging to team X9******T4 were found." UserInfo={NSLocalizedDescription=No valid iOS Distribution signing identities belonging to team X9******T4 were found.}

On 2017-05-03 with same configuration the build was succeeded.
After only the ionic cli, angular, native, etc... was upgraded.
global packages:

    @ionic/cli-utils : 1.1.2
    Cordova CLI      : 6.5.0
    Ionic CLI        : 3.1.2

local packages:

    @ionic/app-scripts              : 1.3.7
    @ionic/cli-plugin-cordova       : 1.1.2
    @ionic/cli-plugin-ionic-angular : 1.1.2
    Ionic Framework                 : ionic-angular 3.2.1

System:

    Node       : v7.4.0
    OS         : macOS Sierra
    Xcode      : Xcode 8.3.2 Build version 8E2002
    ios-deploy : 1.9.0
    ios-sim    : 5.0.13

Android works.

Let me chime in. The very same error ("Error code 70" and "No valid iOS Distribution signing identities belonging") happened to us. Similarly, there was no change in our configuration it just stopped working.


Client returning 403 for listing catalogue products

Thanks for stopping by to let us know something could be better!
PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. This will ensure a timely response.
Please run down the following list and make sure you've tried the usual "quick fixes":

Search the issues already opened: https://github.com/googleapis/python-retail/issues
Search StackOverflow: https://stackoverflow.com/questions/tagged/google-cloud-platform+python

If you are still having issues, please be sure to include as much information as possible:
Environment details

OS type and version: MacOS
Python version: Python 3.7.8
pip version: pip 22.0.4 from /Users/kushwaha/Projects/Utils/welinq-api/.venv/lib/python3.7/site-packages/pip (python 3.7)
google-cloud-retail version: 1.6.1

Steps to reproduce

Open ipython
Use the following code snippet => Just trying to list products and it giving 403

Code example
In [4]: from google.cloud import retail_v2

In [5]: client = retail_v2.ProductServiceClient()

In [6]: client.list_products()

Stack trace
---------------------------------------------------------------------------
_InactiveRpcError                         Traceback (most recent call last)
~/Projects/Utils/welinq-api/.venv/lib/python3.7/site-packages/google/api_core/grpc_helpers.py in error_remapped_callable(*args, **kwargs)
     56         try:
---> 57             return callable_(*args, **kwargs)
     58         except grpc.RpcError as exc:

~/Projects/Utils/welinq-api/.venv/lib/python3.7/site-packages/grpc/_channel.py in __call__(self, request, timeout, metadata, credentials, wait_for_ready, compression)
    945                                       wait_for_ready, compression)
--> 946         return _end_unary_response_blocking(state, call, False, None)
    947

~/Projects/Utils/welinq-api/.venv/lib/python3.7/site-packages/grpc/_channel.py in _end_unary_response_blocking(state, call, with_call, deadline)
    848     else:
--> 849         raise _InactiveRpcError(state)
    850

_InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
	status = StatusCode.PERMISSION_DENIED
	details = "The caller does not have permission"
	debug_error_string = "{"created":"@1657124451.227847000","description":"Error received from peer ipv4:<IP_ADDRESS>:443","file":"src/core/lib/surface/call.cc","file_line":953,"grpc_message":"The caller does not have permission","grpc_status":7}"
>

The above exception was the direct cause of the following exception:

PermissionDenied                          Traceback (most recent call last)
<ipython-input-6-725002d6cf09> in <module>
----> 1 client.list_products()

~/Projects/Utils/welinq-api/.venv/lib/python3.7/site-packages/google/cloud/retail_v2/services/product_service/client.py in list_products(self, request, parent, retry, timeout, metadata)
    813             retry=retry,
    814             timeout=timeout,
--> 815             metadata=metadata,
    816         )
    817

~/Projects/Utils/welinq-api/.venv/lib/python3.7/site-packages/google/api_core/gapic_v1/method.py in __call__(self, timeout, retry, *args, **kwargs)
    152             kwargs["metadata"] = metadata
    153
--> 154         return wrapped_func(*args, **kwargs)
    155
    156

~/Projects/Utils/welinq-api/.venv/lib/python3.7/site-packages/google/api_core/grpc_helpers.py in error_remapped_callable(*args, **kwargs)
     57             return callable_(*args, **kwargs)
     58         except grpc.RpcError as exc:
---> 59             raise exceptions.from_grpc_error(exc) from exc
     60
     61     return error_remapped_callable

PermissionDenied: 403 The caller does not have permission

Making sure to follow these steps will guarantee the quickest resolution possible.
Thanks!

Found the solution for the issue above - It was missing the name property in the product update and the retail-api was raising the misleading permission error.
product.name = f"{DEFAULT_BRANCH_NAME}/products/{courseId}"
This line did the trick.

I'm going to transfer this issue to the google-cloud-python repository as we are preparing to move the code for google-cloud-retail to that repository in the next 1-2 weeks.


ClassCastException - [B cannot be cast to java.lang.Long

I am using Jesque which uses Jedis as its Redis client, so I am not entirely sure if this is an issue in Jedis or Jesque.
I am receiving this error:
java.lang.ClassCastException

[B cannot be cast to java.lang.Long
    at redis.clients.jedis.Connection.getIntegerReply(Connection.java:178)
    at redis.clients.jedis.Jedis.incr(Jedis.java:605)
    at net.greghaines.jesque.worker.WorkerImpl.success(WorkerImpl.java:520)
    at net.greghaines.jesque.worker.WorkerImpl.execute(WorkerImpl.java:503)
    at net.greghaines.jesque.worker.WorkerImpl.process(WorkerImpl.java:465)
    at net.greghaines.jesque.worker.WorkerImpl.poll(WorkerImpl.java:405)
    at net.greghaines.jesque.worker.WorkerImpl.run(WorkerImpl.java:216)
    at java.lang.Thread.run(Thread.java:679)

I read that Jedis isnt thread-safe and in fact I dont try to re-use any Jedis clients in my Threads, I create new instances (I am refactoring this to use JedisPool).
The exception is not consistently reproducible.

Did anyone find a solution to this? I am sitting on 2.3.2 and am getting the issue left and right.
Thanks

It seems the problem was an old version of gresque. Did you try the
latest one? Please describe with more details the problem you are
encountering
On 11/5/11, Colin Henry
<EMAIL_ADDRESS>wrote:

Did anyone find a solution to this? I am sitting on 2.3.2 and am getting the
issue left and right.
Thanks

Reply to this email directly or view it on GitHub:
https://github.com/xetorthio/jedis/issues/186#issuecomment-2642819

--
Sent from my mobile device

closing this issue.
please reopen if this happens again. make sure you have latests version of redis and jedis.
thanks!

Still getting it with 2.7.2 version.

@keeblebogdan Could you provide your scenario so that we can find out what the issue is?

@keeblebogdan are you also experiencing this issue with Jesque as the original issue or you're getting errors using Jedis only?. Please send more information about what you're trying to do and redis/jedis version.
We can't guess what the problem is if you don't send us any information. Based on the previous experience the problem is likely to be on your coude.

False alarm, used Pool and everything works fine now. Thanks.

I get several types of ClassCastException in production environment:
java.lang.ClassCastException: [B cannot be cast to java.lang.Long
java.lang.ClassCastException: java.lang.Long cannot be cast to [B
java.lang.ClassCastException: [B cannot be cast to java.util.List
java.lang.ClassCastException: java.util.ArrayList cannot be cast to [B
I’m using Jedis 2.6.2 with Redis 2.8.18 and Sentinel.
The application runs on TomEE-plus 1.7.1 with CDI.
I’m using openjdk Java 7 on Red Hat.
To ensure that a single instance of redis.clients.jedis.Jedis is not used by multiple threads, I use the redis.clients.jedis.JedisSentinelPool class.
JedisSentinelPool is wrapped by a wrapper class that creates the pool via:
new JedisSentinelPool(this.masterName, this.sentinels, this.password);
The wrapper class gets injected in the DAO once for the entire application using the @ApplicationScoped annotation.
The DAO has several methods. All of them are following the same schema:
JedisSentinelPool thePool = this.sentinelPool.getPool();
Jedis theJedis = null;
Transaction t = null;
try {
  theJedis = thePool.getResource();
  //optionally do something with theJedis
  t = theJedis.multi();
  //do something with t
  t.exec();
}
catch(Exception e) {
  if(t != null) {
    t.discard();
  }
}
finally {
  if (theJedis != null) {
    thePool.returnResource(theJedis);
  }
}

In my opinion returnResource is called in any case and the pool is set up properly. I never call returnBrokenResource. What does this method does and when have I to use it?
Do you have any idea why I’m getting this ClassCastExceptions? And what does „[B“ means?
It happens only occasionally. It seams that after the application is broken, it happens all the time until application restart.
Thanks and regards

If you know the jedis connection is broken, return it to the pool using the alternate returnBrokenResource.
I do the following:
  Jedis jedis = pool.getResource();

  try

  {

      /* Calling code */

     // ....

  }

  catch (JedisConnectionException e)

  {

    /* Return invalid connection, and prevent being returned as valid (in finally block) */

    Jedis brokenJedis = jedis;

    jedis = null;

    pool.returnBrokenResource(brokenJedis);

     /* Some other code specific to my app */

     // ....

  }

  finally

  {

    if (jedis != null)

      pool.returnResource(jedis);

  }

In my code other exceptions are forwarded and managed in an upper layer thats why I have only 1 catch here.
Thanks,
?Guillaume

From: SKras<EMAIL_ADDRESS>Sent: Monday, June 8, 2015 1:30 PM
To: xetorthio/jedis
Cc: Guillaume Perrot
Subject: Re: [jedis] ClassCastException - [B cannot be cast to java.lang.Long (#186)
I get several types of ClassCastException in production environment:
java.lang.ClassCastException: [B cannot be cast to java.lang.Long
java.lang.ClassCastException: java.lang.Long cannot be cast to [B
java.lang.ClassCastException: [B cannot be cast to java.util.List
java.lang.ClassCastException: java.util.ArrayList cannot be cast to [B
I'm using Jedis 2.6.2 with Redis 2.8.18 and Sentinel.
The application runs on TomEE-plus 1.7.1 with CDI.
I'm using openjdk Java 7 on Red Hat.
To ensure that a single instance of redis.clients.jedis.Jedis is not used by multiple threads, I use the redis.clients.jedis.JedisSentinelPool class.
JedisSentinelPool is wrapped by a wrapper class that creates the pool via:
new JedisSentinelPool(this.masterName, this.sentinels, this.password);
The wrapper class gets injected in the DAO once for the entire application using the @ApplicationScoped annotation.
The DAO has several methods. All of them are following the same schema:
JedisSentinelPool thePool = this.sentinelPool.getPool();
Jedis theJedis = null;
Transaction t = null;
try {
theJedis = thePool.getResource();
//optionally do something with theJedis
t = theJedis.multi();
//do something with t
t.exec();
}
catch(Exception e) {
if(t != null) {
t.discard();
}
}
finally {
if (theJedis != null) {
thePool.returnResource(theJedis);
}
}
In my opinion returnResource is called in any case and the pool is set up properly. I never call returnBrokenResource. What does this method does and when have I to use it?
Do you have any idea why I'm getting this ClassCastExceptions? And what does "[B" means?
It happens only occasionally. It seams that after the application is broken, it happens all the time until application restart.
Thanks and regards

Reply to this email directly or view it on GitHubhttps://github.com/xetorthio/jedis/issues/186#issuecomment-110128532.

@SKras @guperrot returnXXXResource has been deprecated since Jedis 2.5 onwards. Please use jedis.close() in your finally block instead.
@SKras @guperrot is correct in his comment. Seems like you're returning broken jedis instances to the pool. Again, use jedis.close() to return instances propertly.

Nice change.
I have not upgraded since a long time, I'll remember when upgrading [😉]
Thanks,
Guillaume

From: Marcos Nils<EMAIL_ADDRESS>Sent: Monday, June 8, 2015 2:08 PM
To: xetorthio/jedis
Cc: Guillaume Perrot
Subject: Re: [jedis] ClassCastException - [B cannot be cast to java.lang.Long (#186)
@SKrashttps://github.com/SKras @guperrothttps://github.com/guperrot returnXXXResource has been deprecated since Jedis 2.5 onwards. Please use jedis.close() in your finally block instead.
@SKrashttps://github.com/SKras @guperrothttps://github.com/guperrot is correct in his comment. Seems like you're returning broken jedis instances to the pool. Again, use jedis.close() to return instances propertly.
—
Reply to this email directly or view it on GitHubhttps://github.com/xetorthio/jedis/issues/186#issuecomment-110140912.

@marcosnils if I would return broken jedis instances, the connection would fail on the next try again. What I'm getting are ClassCastException. Obviously a communication takes place and some data is returned by redis. In my opinion the connection objects are fine. To follow the explanation of @xetorthio the Jedis objects are not thread-safe. If the lack of thread-safeness is the reason for the ClassCastException (can anyone confirm that?), my pool seams not to work properly. For any reason two threads are using the same connection object. I have no idea why...

@SKras
If you return broken jedis instances with returnBrokenResource(), pool just discards these instances so you shouldn't meet these instances at next time you borrow from the pool.
Just calling Jedis.close() make it clear.

@SKras please try calling jedis.close() instead of pool.returnResource(jedis); and let us know if you're still getting the error.

I got the error only in the data center if one fire cell lost the connection to the redis master that was in the other fire cell. Because it's production I'm not able to retest it. I moved now to jedis 2.7.2 and use jedis.close() instead of pool.returnResource(jedis). Will post again if I get further problems. Thanks so far for your help!

Yes, change the pool.returnResource(jedis) to jedis.close() fixed the problem for me.

+1 changing the pool.returnResource(jedis) to jedis.close() fixed my issue as well

Still happens.
Using jedis 2.9.0, java 8, not using returnResource.

@tomleibo can you provide a reproducible test case?

I wasn't able to reproduce it easily.
It happens on my server after a few hours of continuous running.
I guess it occurs because I'm not closing disconnected clients but try to reconnect them:
 if (connection == null) {                 connection = jedisPool.getResource();             }             if (!connection.isConnected()) {                 connection.connect();  }

Now it happens on setting the client name
java.lang.ClassCastException: java.lang.Long cannot be cast to [B
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)
at redis.clients.jedis.Jedis.clientSetname(Jedis.java:3048)

I am getting a similar issue -
java.lang.ClassCastException: [B cannot be cast to java.lang.Long
redis.clients.jedis.Connection.getIntegerReply(Connection.java:265)
redis.clients.jedis.Jedis.expire(Jedis.java:315)
com.typesafe.plugin.RedisPlugin$$anon$1$$anonfun$set_$2.apply(RedisPlugin.scala:146)
com.typesafe.plugin.RedisPlugin$$anon$1$$anonfun$set_$2.apply(RedisPlugin.scala:144)
org.sedis.Pool.withJedisClient(sedis.scala:103)
com.typesafe.plugin.RedisPlugin$$anon$1.set_(RedisPlugin.scala:144)
com.typesafe.plugin.RedisPlugin$$anon$1.set(RedisPlugin.scala:103)
play.api.cache.Cache$.set(Cache.scala:61)
play.api.cache.Cache$$anonfun$getOrElse$1.apply(Cache.scala:93)

I'm using Scala 2.11.6 with Play 2.3.9 play-plugins-redis 2.3.1 and Jedis 2.9.0
The error happens very intermittently. I already changed all my instances of returnResource to close

Its happening for me as well. Very intermittent.
happens on get, del, expire
redis.clients.jedis.Connection in getBinaryBulkReply at line 259 redis.clients.jedis.Connection in getBulkReply at line 248 redis.clients.jedis.Jedis in get at line 153
redis.clients.jedis.Connection in getIntegerReply at line 265 redis.clients.jedis.Jedis in expire at line 315

lol, this issue happens to me as well under heavy load~~~, did anyone get a good solution or explanation?

It's happens for me, every time when i'm calling redis.get("string") by one thread!
java.lang.ClassCastException: java.lang.Long cannot be cast to [B 	at redis.clients.jedis.Connection.getBinaryBulkReply(Connection.java:259) 	at redis.clients.jedis.Connection.getBulkReply(Connection.java:248) 	at redis.clients.jedis.Jedis.get(Jedis.java:153)
How it fix?

@AmaranthLIS can you provide a reproducible case please?

I got the exact same error a couple times an hour when I used the same connection in a runnable called 20ms later. This is what I originally had.
try (Jedis jedis = pool.getResource()) {
    jedis.hgetAll("test").forEach((key, val) -> {
        // Project-specific runnable that's executed 20ms later (some code is redacted)
        @Override public void run() {
            jedis.hgetAll("test2").forEach((key2, val2) -> { // This is the line that had the error
                // Stuff that uses these keys/values
            }
        }
    }
} catch (Exception e) {/*Log error*/}

I changed it to this and it's been working flawlessly for a few days now.
try (Jedis jedis = pool.getResource()) {
    jedis.hgetAll("test").forEach((key, val) -> {
        // Project-specific runnable that's executed 20ms later (some code is redacted)
        @Override public void run() {
            try (Jedis jedis2 = pool.getResource()) {
                jedis2.hgetAll("test2").forEach((key2, val2) -> {
                    // Stuff that uses these keys/values
                }
            } catch (Exception e2) {/*Log error*/}
        }
    }
} catch (Exception e) {/*Log error*/}

@hozouhing @AmaranthLIS  I'm not sure what your situation is, but if you're using the same connection more than once then I would try getting a new one. It seems like (at least in my case), it's a usage error rather than a bug in Jedis.

哈哈


Add to SynBioHub admin the ability to set the update interval

This should update the cron job that runs the clustering, page rank, and index

We need to also determine if there is a cron job and where is it.

I found an alternative to using a local cron file here: https://www.npmjs.com/package/cron. What we could do instead is save a string var to SynBioHub's config file specifying the date formate to execute a cronjob (in the format of * * * * *), and pass that into a function that uses cron and runs the update index accordingly. @cjmyers

This sounds good to me.

On Dec 18, 2019, at 8:18 PM, Eric<EMAIL_ADDRESS>wrote:
I found an alternative to using a local cron file here: https://www.npmjs.com/package/cron https://www.npmjs.com/package/cron. What we could do instead is save a string var to SynBioHub's config file specifying the date formate to execute a cronjob (in the format of * * * * *), and pass that into a function that uses cron and runs the update index accordingly. @cjmyers https://github.com/cjmyers
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/SynBioDex/SBOLExplorer/issues/6?email_source=notifications&email_token=AA2YH54D4QQLX6DP4WBF6Q3QZLR2FA5CNFSM4FX474ZKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHIIHDI#issuecomment-567313293, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA2YH5Y3J466WJVJN464CY3QZLR2FANCNFSM4FX474ZA.

Configuration file should include whether cron job is enabled and the timing of the job.  Default could be on with 24 hour update.  SBH should be able to change this configuration and start/stop cron job with new timing interval.

Added in #70 .


5.5.3  EmptyError: no elements in sequence

RxJS version:
5.5.3
Code to reproduce:
since my update to 5.5.3  i'm getting errors in otherwise perfectly fine running angular 5.x application
this is the error i'm getting this morning
all was working perfectly prior to 5.5.3
difficult for me to trap what the reason could be thanks
Error: Uncaught (in promise): EmptyError: no elements in sequence
EmptyError: no elements in sequence
    at new EmptyError (EmptyError.js:27)
    at FirstSubscriber._complete (first.js:154)
    at FirstSubscriber.Subscriber.complete (Subscriber.js:121)
    at MergeMapSubscriber._complete (mergeMap.js:144)
    at MergeMapSubscriber.Subscriber.complete (Subscriber.js:121)
    at MapSubscriber.Subscriber._complete (Subscriber.js:139)
    at MapSubscriber.Subscriber.complete (Subscriber.js:121)
    at EmptyObservable._subscribe (EmptyObservable.js:82)
    at EmptyObservable.Observable._trySubscribe (Observable.js:173)
    at EmptyObservable.Observable.subscribe (Observable.js:161)
    at new EmptyError (EmptyError.js:27)
    at FirstSubscriber._complete (first.js:154)
    at FirstSubscriber.Subscriber.complete (Subscriber.js:121)
    at MergeMapSubscriber._complete (mergeMap.js:144)
    at MergeMapSubscriber.Subscriber.complete (Subscriber.js:121)
    at MapSubscriber.Subscriber._complete (Subscriber.js:139)
    at MapSubscriber.Subscriber.complete (Subscriber.js:121)
    at EmptyObservable._subscribe (EmptyObservable.js:82)
    at EmptyObservable.Observable._trySubscribe (Observable.js:173)
    at EmptyObservable.Observable.subscribe (Observable.js:161)
    at AppErrorHandler.handleError (app.exception.ts:47)
    at Object.next (core.js:5377)
    at SafeSubscriber.schedulerFn [as _next] (core.js:4223)
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:246)
    at SafeSubscriber.next (Subscriber.js:193)
    at Subscriber._next (Subscriber.js:132)
    at Subscriber.next (Subscriber.js:96)
    at EventEmitter.Subject.next (Subject.js:63)
    at EventEmitter.emit (core.js:4203)
    at core.js:4652

After an update of my angular project I get the same error. In my case, routing with children and outlets doesn't work.

Experiencing the same thing. Had to fix rxjs version in package.json to prevent CI from installing version 5.5.3: "rxjs": "5.5.2"

HI,
I've the same error.

Me too with an Angular 5.0.5 project. After downgrading rxjs to 5.5.2 the problem went away.

See Angular issue #20752 for a minimal reproduction of the problem.

@Cito that solved!

FYI: In react project,  v5.5.3 upgrade also breaking app.  In this case import Rx from 'rxjs/Rx' is returning undefined; producing TypeError: Cannot read property 'Subject' of undefined.  This was functioning fine prior to to this minor release.

I'll try to look into this shortly.

I noticed a small regression in bundle size ~10kb when upgrade from 5.5.2 -> 5.5.3

This is breaking prettier/prettier-eslint-cli as we're doing import Rx from "rxjs/Rx"; which is now returning undefined´ so we can't access Rx.Observable....`.

We have added quick fix for this and patch will be released soon.

I got the error also with 5.5.3 , does it already work ?

This can help (using rxjs 5.5.3 - "rxjs": "^5.5.2")
Bug with empty path:
const routes: Routes = [
{ path: "", component: SynthesisComponent },
{ path: "home", component: SynthesisComponent },
{ path: "about", component: AboutComponent },
...
];
Ok when using pathMatch: 'full':
const routes: Routes = [
{ pathMatch: 'full', path: "", component: SynthesisComponent },
{ pathMatch: 'full', path: "home", component: SynthesisComponent },
{ pathMatch: 'full', path: "about", component: AboutComponent },
...
];

Is this a temporary solution or a standard solution? Are you going to release a bug fix?

Fixed this issue in my setup by changing rxjs from ^5.4.2 to 5.5.2.

quick fix tested in 2 projects - in package.json replace "rxjs": "^5.5.2" or "rxjs": "^5.5.3" with "rxjs": "5.5.2"

ERROR Error: Uncaught (in promise): EmptyError: no elements in sequence
EmptyError: no elements in sequence
at new EmptyError (EmptyError.js:28)
at FirstSubscriber._complete (first.js:154)
at FirstSubscriber.Subscriber.complete (Subscriber.js:122)
at MergeMapSubscriber._complete (mergeMap.js:150)
at MergeMapSubscriber.Subscriber.complete (Subscriber.js:122)
at MapSubscriber.Subscriber._complete (Subscriber.js:140)
at MapSubscriber.Subscriber.complete (Subscriber.js:122)
at EmptyObservable._subscribe (EmptyObservable.js:83)
at EmptyObservable.Observable._trySubscribe (Observable.js:172)
at EmptyObservable.Observable.subscribe (Observable.js:160)
at new EmptyError (EmptyError.js:28)
at FirstSubscriber._complete (first.js:154)
at FirstSubscriber.Subscriber.complete (Subscriber.js:122)
at MergeMapSubscriber._complete (mergeMap.js:150)
at MergeMapSubscriber.Subscriber.complete (Subscriber.js:122)
at MapSubscriber.Subscriber._complete (Subscriber.js:140)
at MapSubscriber.Subscriber.complete (Subscriber.js:122)
at EmptyObservable._subscribe (EmptyObservable.js:83)
at EmptyObservable.Observable._trySubscribe (Observable.js:172)
at EmptyObservable.Observable.subscribe (Observable.js:160)
at resolvePromise (zone.js:824)
at resolvePromise (zone.js:795)
at eval (zone.js:873)
at ZoneDelegate.invokeTask (zone.js:425)
at Object.onInvokeTask (core.js:4621)
at ZoneDelegate.invokeTask (zone.js:424)
at Zone.runTask (zone.js:192)
at drainMicroTaskQueue (zone.js:602)
at ZoneTask.invokeTask [as invoke] (zone.js:503)
at invokeTask (zone.js:1540)
I want solve this problem with RxJS5.5.3 only, is there any solution for that?

I am getting the same error when I press an anchor element, and the anchor element is using [routerLink]="'somePath'". I do not know if this is limited to anchor tags or not. I am using rxjs:5.2.2, as suggested by some others, but I am still receiving errors.

I have had same problem. It was because I was using a modal from ng2-bootstrap-modal.
import { BootstrapModalModule } from 'ng2-bootstrap-modal';
If this is your case. Try use forRoot and pathMatch:'full' to the routes in the router module

ModalModule.forRoot(),

Please try<EMAIL_ADDRESS>it fixed my issues

5.5.4 works

I'm still getting the same issue. I downgraded to 5.5.2 and also tried 5.5.4...both are not working for me.

update to 5.5.5 is ok.

Tried 5.5.5 as you suggested- still getting the same error...

@mmanavaz make sure to remove your node_modules and reinstall the dependencies after you changed the versions. If that does not help, try clearing your npm cache.

I was able to get it working, thank you @beeman

I am still having this issue - on "version": "5.5.6" of rxjs and Angular 5.2.10. I have also tried the pathMatch: 'full' as well and it still does not work...


Error when computing a cloned graph from xarray.open_dataset

Describe the issue:
After opening a data array from xarray and cloning the underlying dask array, I receive a TypeError: string indices must be integers when running compute().
Minimal Complete Verifiable Example:
import dask.graph_manipulation
import numpy as np
import xarray as xr

if __name__ == "__main__":
    a = xr.DataArray(np.zeros((10, 10)), dims=("x", "y"), name="a")
    a.to_netcdf("a.nc")
    a: xr.DataArray = xr.open_dataarray("a.nc", chunks={"x": 5})
    c = dask.graph_manipulation.clone(a.data)
    c.compute()

Anything else we need to know?:
I was not sure whether to report the bug here or at the xarray repo. I hope it is fine like this.
After inspection with the debugger, I got the impression that the issue is due to a variable naming mismatch in the graph.
It seemed like clone() did not translate every occurrence of the old variable names. At least I've found an old variable name in the Blockwise construct.
In the original graph there was also a variable name containing dashes. So maybe it's a problem related to key grouping?
Environment:
I use a conda environment and the folloing versions:
# Name                    Version                   Build  Channel
dask                      2022.7.0        py310h06a4308_0
xarray                    0.20.1             pyhd3eb1b0_1
numpy                     1.23.1          py310h1794996_0

Thanks for the reproducer. I see this locally with the more recent versions:
dask.__version__='2022.10.0'
np.__version__='1.23.4'
xr.__version__='2022.10.0'

Full trace back:
2022-11-03 10:54:08,483 - distributed.worker - WARNING - Compute Failed
Key:       ('open_dataset-0fc1891630a83baf85e0b615c8b10441', 0, 0)
Function:  getter
args:      ('original-open_dataset-4f72518efde404bf84687164f381931ba-53dbb4e80dbf06565a8792dc89a57ed3', (slice(0, 5, None), slice(0, 10, None)))
kwargs:    {}
Exception: "TypeError('string indices must be integers')"
2022-11-03 10:54:08,484 - distributed.worker - WARNING - Compute Failed
Key:       ('open_dataset-0fc1891630a83baf85e0b615c8b10441', 1, 0)
Function:  getter
args:      ('original-open_dataset-4f72518efde404bf84687164f381931ba-53dbb4e80dbf06565a8792dc89a57ed3', (slice(5, 10, None), slice(0, 10, None)))
kwargs:    {}
Exception: "TypeError('string indices must be integers')"

TypeError                                 Traceback (most recent call last)
Cell In [67], line 9
7 a: xr.DataArray = xr.open_dataarray("a.nc", chunks={"x": 5})
8 c = dask.graph_manipulation.clone(a.data)
----> 9 c.compute()
File ~/mambaforge/envs/dask-use/lib/python3.9/site-packages/dask/base.py:315, in DaskMethodsMixin.compute(self, **kwargs)
291 def compute(self, **kwargs):
292     """Compute this dask collection
293
294     This turns a lazy Dask collection into its in-memory equivalent.
(...)
313     dask.base.compute
314     """
--> 315     (result,) = compute(self, traverse=False, **kwargs)
316     return result
File ~/mambaforge/envs/dask-use/lib/python3.9/site-packages/dask/base.py:600, in compute(traverse, optimize_graph, scheduler, get, *args, **kwargs)
597     keys.append(x.dask_keys())
598     postcomputes.append(x.dask_postcompute())
--> 600 results = schedule(dsk, keys, **kwargs)
601 return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])
File ~/mambaforge/envs/dask-use/lib/python3.9/site-packages/distributed/client.py:3057, in Client.get(self, dsk, keys, workers, allow_other_workers, resources, sync, asynchronous, direct, retries, priority, fifo_timeout, actors, **kwargs)
3055         should_rejoin = False
3056 try:
-> 3057     results = self.gather(packed, asynchronous=asynchronous, direct=direct)
3058 finally:
3059     for f in futures.values():
File ~/mambaforge/envs/dask-use/lib/python3.9/site-packages/distributed/client.py:2226, in Client.gather(self, futures, errors, direct, asynchronous)
2224 else:
2225     local_worker = None
-> 2226 return self.sync(
2227     self._gather,
2228     futures,
2229     errors=errors,
2230     direct=direct,
2231     local_worker=local_worker,
2232     asynchronous=asynchronous,
2233 )
File ~/mambaforge/envs/dask-use/lib/python3.9/site-packages/distributed/utils.py:339, in SyncMethodMixin.sync(self, func, asynchronous, callback_timeout, *args, **kwargs)
337     return future
338 else:
--> 339     return sync(
340         self.loop, func, *args, callback_timeout=callback_timeout, **kwargs
341     )
File ~/mambaforge/envs/dask-use/lib/python3.9/site-packages/distributed/utils.py:406, in sync(loop, func, callback_timeout, *args, **kwargs)
404 if error:
405     typ, exc, tb = error
--> 406     raise exc.with_traceback(tb)
407 else:
408     return result
File ~/mambaforge/envs/dask-use/lib/python3.9/site-packages/distributed/utils.py:379, in sync..f()
377         future = asyncio.wait_for(future, callback_timeout)
378     future = asyncio.ensure_future(future)
--> 379     result = yield future
380 except Exception:
381     error = sys.exc_info()
File ~/mambaforge/envs/dask-use/lib/python3.9/site-packages/tornado/gen.py:762, in Runner.run(self)
759 exc_info = None
761 try:
--> 762     value = future.result()
763 except Exception:
764     exc_info = sys.exc_info()
File ~/mambaforge/envs/dask-use/lib/python3.9/site-packages/distributed/client.py:2089, in Client._gather(self, futures, errors, direct, local_worker)
2087         exc = CancelledError(key)
2088     else:
-> 2089         raise exception.with_traceback(traceback)
2090     raise exc
2091 if errors == "skip":
File ~/mambaforge/envs/dask-use/lib/python3.9/site-packages/dask/array/core.py:120, in getter()
118     lock.acquire()
119 try:
--> 120     c = a[b]
121     # Below we special-case np.matrix to force a conversion to
122     # np.ndarray and preserve original Dask behavior for getter,
123     # as for all purposes np.matrix is array-like and thus
124     # is_arraylike evaluates to True in that case.
125     if asarray and (not is_arraylike(c) or isinstance(c, np.matrix)):
TypeError: string indices must be integers

Is there any movement on this? I recently ran into the same bug and was wondering if there was a work around in the mean time?

Just a note that the following code fails as well.  It seems like there is a key which gets unnecessarily trimmed during a graph optimization call
import dask.array as da
import numpy as np
from dask.graph_manipulation import clone

d = np.ones((10,10))
fp = np.memmap("test", dtype='float64', mode='w+', shape=(10, 10))
fp[:,:]=d
fp.flush()
fp = np.memmap("test", dtype='float64', mode='r+', shape=(10, 10))
s = da.from_array(fp)
clone(s).compute()

Thanks @CSSFrancis -- I'm not aware of any developments. cc @crusaderky for the dask.graph_manipulation and xarray connection

Just for completeness sake, the following code throws the same error as well.
import zarr
import dask.array as da
from dask.graph_manipulation import clone
arr = zarr.ones((10,10))
d = da.from_zarr(arr)
clone(d).compute()

Barebones reproducer:
import operator
import numpy
import dask.array as da
from dask.graph_manipulation import clone
from dask.highlevelgraph import HighLevelGraph

hlg = HighLevelGraph(
    layers={
        "x-123": {"x-123": (numpy.arange, 10)},
        "y-456": {("y-456", 0): "x-123"},
    },
    dependencies={
        "y-456": {"x-123"},
    },
)
a = da.Array(hlg, name="y-456", shape=(3, ), chunks=((3, ),), dtype=int, meta=numpy.arange(0))
a.compute()
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
clone(a).compute()
KeyError: 'x-123'

The problem is that the original dask graph is missing an empty dependencies entry for x-123.

The problem is that the original dask graph is missing an empty dependencies entry for x-123.

This is a regression introduced in #8979. If I revert it, this is fixed, but #8978 gets broken again. Busy finding a solution that works for both.

PR ready for review


does not support passwords with special characters when using HTTP proxy

My httpproxy password contains the special character @. (e.g. username=user, passwd=pass@123)
Unfortunately when I use ./wstunnel client -L tcp://<IP_ADDRESS>:9999:<IP_ADDRESS>:6666 -p http://user:pass@123@httpproxy:8080 wss://server:443 command, it doesn't work!

I would say try URL encoding first: pass%40123

I would say try URL encoding first: pass%40123

yep... thanks, but have try it (%40 and 0x40), still not work : (
but now I using cntlm to convert the httpproxy to no-special-character httpproxy, it works.

It should be fixed with https://github.com/erebe/wstunnel/releases/tag/v7.9.2
Can you let me know it is ok ?

Hello,
it should be fixed with https://github.com/erebe/wstunnel/releases/tag/v7.9.2
Would you mind trying and letting me know ?

coool, thanks a lot, v7.9.2 now working well using %40 to instead of @.
Here is a table of special character correspondences that should be correct to help those in need:
!   #   $    &   '   (   )   *   +   ,   /   :   ;   =   ?   @   [   ]
%21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D


files: fix warning message

Description
I got this message and it sounded awkward. Now it doesn't :)
Checklist

[x] Code formatted with ./format.

[x] Code tested through nix-shell --pure tests -A run.all.

[ ] Test cases updated/added. See example.

[x] Commit messages are properly formatted.

Thanks! Rebased to master in 645149d77b8c604e10e94e2764ff2c782780242e.


No sound in Hyper-V enhanced session mode when pulseaudio is started by systemd

Hello! I'm running the latest version of Kali Linux (Xfce desktop environment) in Hyper-V and trying to enable enhanced session mode with sound.

xrdp version 0.9.12 (from kali repository)
pulseaudio version 14.2 (from kali repository)
pulseaudio-module-xrdp (from github)

Everything works except each time I log in there is no sound until I do:
systemctl --user stop pulseaudio.socket pulseaudio.service
pulseaudio --start

It seems like systemd isn't passing the right environment variables to pulseaudio. When starting manually within the user session, everything works fine.
What I have tried

Adding the xrdp modules to /etc/pulse/default.pa (or replacing /etc/pulse/default.pa with a link to /etc/xrdp/pulse/default.pa) - in this case the xrdp-sink ouput device does show up and I even see the volume meter moving in pavucontrol, but still no sound heard. I assume pulseaudio module-xrdp-sink is not writing to the right socket but haven't confirmed.
Masking the pulseaudio.socket and pulseaudio.service so that pa is not started by systemd - but then I couldn't work out how to get pulseaudio to autostart by any other means. (Probably due to my inexperience with Linux desktop environments particularly Xfce).

What I would like

Pulseaudio should start automatically on login (via systemd or otherwise) and pass sound through the RDP session.

I have tried to find the solution through search engines but most articles seem to be some years old, very little relevant to Hyper-V enhanced session mode, and barely anything relevant to pulseaudio being started by systemd. Any pointers of where to look, or what to search for would be appreciated.

Pulseaudio should start when the first audio client tried to connect to the pulseaudio daemon.  Note there is a daemon for each login.  Check if autospawn is disabled in /etc/pulse/client.conf and/or /etc/pulse/client.conf.d/

Thanks for the reply!
/etc/pulse/client.conf and /etc/pulse/daemon.conf are both default with all lines commented.
/etc/pulse/client.conf.d/01-enable-autospawn.conf symlinks to /run/pulseaudio (which doesn't exist). I have tried removing this, it doesn't help.
There is no pulseaudio config under ~/.config.
In my naivete I might suppose that the "best" solution would be to stick with systemd and get it to pass the right env variables for pulseaudio and pulseaudio-module-xrdp. But I don't know how I would go about doing that...

I installed Kali, interesting distro.  I got audio working but I had to uncomment the "autospawn = yes" in /etc/pulse/client.conf
This looks like a pulseaudio bug, as the defaults should be what's commented out.
It looks like this is built on Debian testing so bugs might be expected.
Anyway, you can't use systemd to start pulseaudio with xrdp as it needs the env var PULSE_SCRIPT set so autoapawn is best.  Also note, you should reboot or kill all pulseaudio processes after changing the config.

After rebooting I noticed that again pulseaudio was starting wrong.
systemd was starting it somehow.
I was able to disable systemd's pulseaudio startups with
systemctl --user disable pulseaudio.socket
systemctl --user disable pulseaudio.service
systemctl --user mask pulseaudio.socket
systemctl --user mask pulseaudio.service
Now I can reboot and login and no pulseaudio issues.  RDP audio works great.

Thanks that works! 😁
I had already noticed that systemd --user mask... was needed. The thing I hadn’t thought to do was uncomment autospawn = yes. Very obvious with hindsight... Guess I assumed the defaults wouldn’t have changed!
As you note Kali is based on Debian Testing. If pulseaudio behaviour is going to change in future stable releases to prefer systemd then this might catch more people out.

For searches, it looks like everything can be done in one command
sudo systemctl enable pulseaudio-enable-autospawn
for newer Debian and Ubuntu distros using systemd


XCode 8 GM Seed changes we are supposed to take care of

I have a typealias for ParameterEncoding in my code
now I get "'ParameterEncoding' has no member 'json'"
any other changes I should be considering?
Thanks

Also I have something like this to follow upload progress:
...
case .success(let upload, _, _):
					DispatchQueue.main.async {
						UIApplication.shared.isNetworkActivityIndicatorVisible = true
					}

					upload.progress  { bytesWritten, totalBytesWritten, totalBytesExpectedToWrite in ...

"Cannot call value of non-function type 'Progress'" ...

A migration guide is coming but the changes for Alamofire 4 have been extensive. Until the guide is released, checkout the recently landed PRs to see what they are. Namely, there is no longer a ParameterEncoding enum but rather a protocol, so you'd use JSONParameterEncoding there. For the second, the upload progress methods have been renamed to uploadProgress and downloadProgress to properly separate them out.


Translating specifications into SQL

In my project, I try not to violate srp and have allocated domain entities and storage-level entities. I am writing specifications for domain entities, but at the data access level it is necessary to translate them into SQL or a LINQ query in accordance with the data level entities. I have heard that the visitor pattern is suitable for this, is it possible to implement it with this library? If not, maybe there are some other solutions to the problem?

I take it you're not using an ORM like EF Core to do this translation for you? You're basically going to need to implement the expression to SQL translation that EF Core is already performing.


chore: php client include new notification fields (cost_in_pounds, is_data_ready and cost_details

What problem does the pull request solve?
New fields have been added to the response of get_notification(notificationId) endpoint

cost_in_pounds
is_cost_data_ready
cost_details:
-- Nested fields for letters:
--- billable_sheets_of_paper
--- postage
-- Nested fields for sms:
--- billable_sms_fragments
--- international_rate_multiplier
--- sms_rate

Based on the addition this PR updates our client documentation to showcase an aligned response for the endpoint
Related task :
3. Add GET notification cost data to API clients and API client docs

I noticed that we didn't have any of the "optional" and "required" comments for the responses in the PHP docs before this change. We're a bit inconsistent with that across the docs, and I'm not sure what the future plan is - whether we're trying to introduce that everywhere or move away from that pattern. Maybe one to check with the features team to see what the preferred way is?

I noticed that we didn't have any of the "optional" and "required" comments for the responses in the PHP docs before this change. We're a bit inconsistent with that across the docs, and I'm not sure what the future plan is - whether we're trying to introduce that everywhere or move away from that pattern. Maybe one to check with the features team to see what the preferred way is?

You have a point, there were no comments on the side before so I refactored my changes to keep a similar pattern
https://github.com/alphagov/notifications-tech-docs/pull/241/commits/ac18ac27643bbf86f5402c0c90d7219a0702ad50
In regards with discussions with the features team, I have been putting proposal stories/ suggestions for things I noticed while changing the docs and the structure in which we present data is mentioned there too:
Documentation response fields should be in table format
https://docs.google.com/document/d/1HMIzhfopxhFkGN9cBVhbuNSRUCCtdbvCDbsPAaVz33E/edit#heading=h.r1pvz3rq4ki3


Feature Request: Touch Support

Using SmartRSS on a touch device(Android tablet in my case) renders the right click menu inaccessible.
This makes organising feed list impossible. Otherwise SmartRSS is awesome. (beats all other rss apps I tried)
Please add long press to open the right click menu.

I'll look into it

https://github.com/SmartRSS/Smart-RSS/blob/fcd7544d335bb4973dd0ce5fdd6a12dbaf5a0e2f/src/scripts/app/app.js#L13-L17
Maybe put menu here? contextmenu event do fired by long press.

If I find some quick fix I'll do it. In the meantime can you tell me how are you running it on Android?

how are you running it on Android?

Personally I am using Kiwi Browser(https://play.google.com/store/apps/details?id=com.kiwibrowser.browser). However Yandex Browser also supports extension.
ps. Fenix is not no where near Firefox in terms of customization...


Support @Trace, @Tag and @Tags work for static methods

Fix

[x] Add a unit test to verify that the fix works.
[x] Explain briefly why the bug exists and how to fix it.
@Trace, @Tag and @Tags do not work for static methods. Add StaticMethodsAroundInterceptor to support static methods.

[x] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #6640.
[x] Update the CHANGES log.

Hi, thanks for submitting. I think there is one decision to be made. Today, we don't support to use this.field as tag value, so, trace/tag instance and static methods look the same. But consider those cases, they are not.
What do you think about separating these 2 cases, and we may need to add support for this.field one day.

Reference doc, http://skywalking.apache.org/docs/main/v8.4.0/en/setup/service-agent/java-agent/application-toolkit-trace/. We only support using parameter and returnObj as tag value.

@wu-sheng  In most cases, these two annotations are the same. I feel separating the two cases for this.filed  increases the cost of use. If we need to support this.field  one day, maybe we can simply set tag value to null for static methods.

I feel separating the two cases for this.filed will increase the cost of use

OK, make sense to me. Let's focus on the details.

FYI @yaojingguo


Fixing the K8s task runner to work with MSQ

MSQ can work with tasks that have not yet launched, there was a bug in the k8s task runner where you could return a null host because the pod was still not up.  Fixed this to return a TaskLocation.unknown() if this happens to msq works.  Tested this on our internal clusters and it seemed to fix the problem with msq + k8s peon jobs.

@gianm you were right, the bug was due to the worker task's pod being scheduled but it wasn't yet launched (so it had no podIP yet) thus, the task location was partially set.  The fix is pretty small, I tested this on my local cluster and MSQ now works.  Let me know what you think.  Thanks for helping look into this.

@churromorales - does this PR has all the changes pushed?

@churromorales - does this PR has all the changes pushed?

@abhishekagarwal87 I am so sorry, you are absolutely right, I missed the core logic here that was causing the issue.  I forgot to push up the last commit.  Now it should be good.  I am very sorry about that.

@churromorales Thanks for the PR.
I went through it and it seems we are not setting TaskLocation.unknown() anywhere. Maybe I am missing something.

I forgot to push up a commit that was local.  I apologize.

Thank you @churromorales


Instantly run yarn start, chain & deploy in one command

Using concurrently,
Should solve some points @austintgriffith mentioned in #7

I gave this a try but I'm not convinced it helps. You end up with the react server and the hardhat network both running and printing output on the same terminal window which is messy. And you still need a second terminal to keep running yarn deploy as you make changes to the contracts.


Types have known heap sizes, not idents

Motivated by https://github.com/servo/string-cache/pull/136/
It's not strictly necessary, but seems like a sane change anyway?

@bors-servo r+

:pushpin: Commit 338eb05 has been approved by SimonSapin

:hourglass: Testing commit 338eb05 with merge 2f1683e...

:sunny: Test successful - travis


Check accountId length with suffix, fix Send Money functionality when accountId is defined in URL, additional changes

@kcole16 @Patrick1904
I resolved a few issues from this comment https://github.com/near/near-wallet/issues/289#issuecomment-604047438

Added small animation when the user enters wrong char into accountId input field - it will blink red, I think it looks good and gives proper feedback to the user.
Added tabindex to Protect your Account form.
Added indicate of wrong email and phone number that will be shown onBlur - I added it to box (instead of input) so it will look better.
Fixed Send Money functionality because it's not working now in case you have accountId in URL.
Also fixed #612 .

Great changes @marcinbodnar. The invalid character indicator is a nice detail.


weird effect

wtf

Sweet... an infinity mirror... \o/

it says kernel panic now with a lot of strings i dont understand

good


Replace EXTRACT-specific code with code for flat subtree handling

Add FlatsubtreeMatcher and FlatParagraphProcessor classes to deal with elements that need to have their sub-elements processed into node trees rather than completely flattened; currently EXTRACT and EXAMPLE are the elements we're concered with. These replace ExtractMatcher and ExtractPargraphProcessor.

:+1:


fix: sort migration scripts alphabetically

Pull Request Test Coverage Report for Build 23

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

Totals

Change from base Build 22:
0.0%

Covered Lines:
150

Relevant Lines:
150

💛  - Coveralls


Using the converter

Hello Robin,
Could you add a few instructions on how to use the converter please?
Thanks

Hello, thanks for submitting this issue. I submitted instructions on how to run the converter. Let me know if this helps.
Thanks


[Bug] Can't scroll fonts with mouse wheel

Settings scrolls just fine, and i can hover over the box to scroll fonts one by one, but the full font list doesn't scroll with mouse wheel - only with scroll bar.
Also can't scroll the main document while in the settings (despite hovering over document). I would expect this to work but i don't know that everyone would agree
Desktop (please complete the following information):

OS: Windows 10 21H2 19044.1826
Version v<IP_ADDRESS>

You need to press "ctrl" at the same time. Did you?


Delete corrupt workflows when detected in frontend

What changed?
During polls corrupt workflow is detected. This change deletes corrupt runs to avoid polls to corrupt workflows

Why?
Having a lot of such workflows can cause availability issues.

How did you test it?

Potential risks

Release notes

Documentation Changes

Closing as part of old PR cleanup effort.


[DNM] Add Table data export functionality

@KipSigei does the stuff being exported as CSV come from Superset?  If so, I think @cKellyDesign had added some CSV functionality to SupersetConnector

Going to close this, since the data is coming from superset we shall use the .csv endpoint on superset that will allow exporting the slice as CSV


Centralite 3157100 with Home Assistant using a Husbzb-1

I paired Centralite 3157100 with Home Assistant using a Husbzb-1 controller. ZHA discovery worked but it only discovers it as fan and show battery level. Isn't there supposed to be a temperature, heat, cold options? I'm using RPi4 with supervisor version 219 and HassOS 3.13. Thanks.

What is Centralite 3157100?

It's a thermostat a/c controller. It's shown as supported on "Code" page.

There's no official climate support yet for zha. You could try semi official https://github.com/Adminiuga/home-assistant/tree/ac/new-zha-climate-0.108.x branch

@Adminiuga Does that fork have support for the Zen Thermostat? I noticed you committed some zha quirks for it recently. If it does then I might switch to it.
Do you have an outline on what's left to get it merged into master? I might be able to contribute.

I actually tested/developed it with a Zen thermostat,  albeit on a test stand and not on a real equipment,  but only till the heat wave comes.
Needs time, tests and some clean up, Still haven't added time update for the Sinope thermostat.
Probably easiest way to test  is to copy ZHA folder from those branches (0.109.x branch to come soon) into your /config/custom_components/zha  folder and run it as a custom component.

FYI, Adminiuga has now submitted a pull request for "ZHA Climate" (beta) with thermostats support.

This should be working in 0.112 beta


[docs] Fix color tool crash

[X] I have followed (at least) the PR section of the contributing guide.

Changes made:

Updated the check for valid hex string
Added check for valid rgb string

Closes #17072

@jsjain Thanks


feat(conform-dom,conform-react): file upload support

WIP. This might be split to several PRs later

This PR introduces a new naming convention to denote repeated field names by using the array notation without number, i.e. []. This is particular useful for file input with multiple set to true.
This is achieved by an additional mapping logic that look up input by mapping name path on the validation error to the input based on its order on the DOM. e.g. Conform will look up an input with files[0] first, and if it is not available, search for the first input with name file[].
More details will be provided later.

Superseded by #72


[2.1.0] css and js are not injected when html minified via html-loader

I'm using html-webpack-plugin 2.1.0 to process a jade template into html (using html-loader 0.4.0 and jade-html-loader 0.0.3, with webpack 1.12.6).
Everything works fine until I turn on minimisation. With minimisation on, the built html does not include the injected link and script tags, and consequently the page is broken.
Loader configuration:
{
    test: /\.jade$/,
    loaders: [
        'html',
        'jade-html',
    ]
},

Plugin configuration:
new HtmlWebpackPlugin({
    filename: 'index.html',
    template: path.resolve(__dirname, 'src', 'index.jade')
}),

I've tracked down the cause. When minimisation is on, html-loader calls the html minifier with removeOptionalTags true. This breaks the HtmlWebpackPlugin.prototype.injectAssetsIntoHtml method, which looks for closing head and closing body tags. The html minifier has removed the head and body tags, as they're optional, so the link and script tags are never injected.
See https://github.com/webpack/html-loader/blob/master/index.js#L71
Workaround: explicitly disable removeOptionalTags in html-loader:
{
    test: /\.jade$/,
    loaders: [
        'html?removeOptionalTags=false',
        'jade-html',
    ]
},

Wow nice! :+1:
As said in the following article it is not possible to place a script at the end of a body tag if there is no body tag:
http://perfectionkills.com/experimenting-with-html-minifier/#remove_optional_tags
However we should at least print a warning:
https://github.com/ampedandwired/html-webpack-plugin/blob/feature/loaders/index.js#L459-L475

Looks like the html-loader might be fixed: https://github.com/chrisnicola/html-loader/commit/b797acf13765c425836588f4fa4d24ac942db730

Fixed: https://github.com/ampedandwired/html-webpack-plugin/commit/68428b583f359849c798f71e64855613b67ae4e8


Nodes with Fixed property will still move in physics simulation

Hello,
I have a very specific use case where I have a set of nodes of 2 different types that are coming from our backend. The first type (type A) has a defined structure and is sent with specific X Y coordinates. The second type (type B) are generally "children" of the type A nodes and do not have fixed coordinates.
The behavior I want is for the type A nodes to maintain the exact coordinates given by the backend, and lay the type B nodes out in such a way where I can utilize physics to have them repel from the type A nodes and from each other. I have tried many different configurations but generally have been using barnesHut as the physics option.
I currently have it set up so that it is initially layed out with physics and the type A nodes with XY coordinates are laid out with their coordinates and the fixed property set to true. I then turn the physics off after stabilizationIterationsDone because we only want to use the physics for initial layout. What I'm seeing is that even when nodes have coordinates and are fixed, they are still getting affected by other nodes. Changing mass seems to have no effect.
According to the documentation for fixed property:

When true, the node will not move but IS part of the physics simulation
and for x and y properties:
When using stabilization, the stabilized position may be different from the initial one. To lock the node to that position use the physics or fixed options.

My understanding from this was that fixed would allow the nodes to have mass and affect other nodes, but remain locked in place, but this is not my observation.
here is a working JSFiddle replicating the issue.
Thanks, any help is appreciated!

Hi @charleshtrenholm,
I'm not exactly sure what's the problem. Fixed nodes are just that fixed, they don't move at all, they're bolted to the wall if you will. That's exactly what should happen and what happens in the JSFiddle you provided (I don't see any movement at all, they're also on the same spots each time I run it).
Bonus tip: You can have physics disabled all the time and call network.stabilize() when you want to arrange the nodes (oneshot physics), there's no need to fiddle with events, change options etc.

@Thomaash Thanks for your help! If you comment out lines 42-86 in the JS you'll see what the shape I'm expecting the orange nodes to be is. When the other nodes are added in they get pushed around. I removed the stabilization event the behavior is the same even when not calling network.stabilize. Essentially I want the nodes that have coordinates to keep their exact position provided and then have the other nodes use physics to push out from each other. I hope provides a better understanding

If I comment out lines 42 through 86 I get a syntax error.

(here)[https://jsfiddle.net/37mgn10j/50/] is a version with the same code but no nodes governed by physics. Its supposed to be in a plus sign shape. If you uncomment the lines I mentioned you'll see that the orange nodes will be pushed around in the initial layout, I'm trying to see if I can have this same plus sign shape maintained even with the additional nodes.


chore(main): release 1.10.1

:robot: I have created a release beep boop
1.10.1 (2023-04-24)
Bug Fixes

Fix for ReferenceError: pattern is not defined (#506) (107c9be)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/fastly/js-compute-runtime/releases/tag/v1.10.1 :sunflower:


Source code renaming in dependencies cause objects to be unavailable across versions

Prior to ocata an exception named NeutronException was defined in:
neutron.commmon.exceptions by today ocata has migrated NeutronException into neutron_lib.exceptions.
Our code has:   from neutron.common import exceptions as q_exception followed by:
q_exception.NeutronException.   The NameError associated with this pattern is not detected until late in the process.
We can make our code more sensitive to external dependency renaming by changing our import statements to explicitly name the most derived name.
e.g.
from neutron_lib.exceptions import NeutronException as NL_NeutronException

Will fix as part of the uplift to Ocata


Remove CurrentController http/tcp from CONFIGfile

Fixes #836

Hi Iswaryaa, thanks for commenting. If correctly solved, please not just comment, but also merge feature branch (openBackhaul/issue895) into release branch (AP-v2.0.2_spec). Is it required to open issues in other repositories, too? Best regards, Thorsten