Dapr sidecar not injected in Pod

In what area(s)?

/area runtime

/area operator

/area placement

/area docs

/area test-and-release

What version of Dapr?
1.8.3
Expected Behavior
When we create a Pod object in kubernetes, the sidecar injection should happen in the pod in question.
Actual Behavior
Sidecar injection does not happen if the kind is Pod and hence we can not communicate with any of the services from within the created Pod.
Steps to Reproduce the Problem
Kubernetes: v1.23.8
Dapr: v1.8.3
Helm: v3.9.1
NOTE: we are experiencing the issue currently in our staging environment. The same deployment is also pushed into our other environments and worked fine. Unfortunately it appeared that there is no way to inject the Dapr sidecar as we have tried to re-install dapr runtime, restarted the pod, redeployed the pod and etc.

Install Darp via helm: helm upgrade --install "dapr" dapr/dapr --version=1.8.3 --namespace odjrs --create-namespace --wait
Pod deployed to kubernetes cluster.

Kind: Pod
apiVersion: v1
metadata:
  name: service-f55cff7cd-4466w
  generateName: service-f55cff7cd-
  namespace: odjrs
  uid: 93ace150-47a7-42eb-9d34-1178f13cdca4
  resourceVersion: '96075977'
  creationTimestamp: '2022-09-28T16:31:06Z'
  labels:
    app.kubernetes.io/instance: service
    app.kubernetes.io/name: service
    pod-template-hash: f55cff7cd
  annotations:
    dapr.io/app-id: service
    dapr.io/app-port: '5000'
    dapr.io/enable-debug: 'true'
    dapr.io/enabled: 'true'
    dapr.io/log-as-json: 'true'
    kubectl.kubernetes.io/restartedAt: '2022-09-28T15:31:22Z'
  ownerReferences:
    - apiVersion: apps/v1
      kind: ReplicaSet
      name: service-f55cff7cd
      uid: f686f185-5dc1-4d1c-9ff0-064be56279dd
      controller: true
      blockOwnerDeletion: true
  managedFields:
    - manager: kube-controller-manager
      operation: Update
      apiVersion: v1
      time: '2022-09-28T16:31:06Z'
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            .: {}
            f:dapr.io/app-id: {}
            f:dapr.io/app-port: {}
            f:dapr.io/enable-debug: {}
            f:dapr.io/enabled: {}
            f:dapr.io/log-as-json: {}
            f:kubectl.kubernetes.io/restartedAt: {}
          f:generateName: {}
          f:labels:
            .: {}
            f:app.kubernetes.io/instance: {}
            f:app.kubernetes.io/name: {}
            f:pod-template-hash: {}
          f:ownerReferences:
            .: {}
            k:{"uid":"f686f185-5dc1-4d1c-9ff0-064be56279dd"}: {}
        f:spec:
          f:containers:
            k:{"name":"service"}:
              .: {}
              f:envFrom: {}
              f:image: {}
              f:imagePullPolicy: {}
              f:name: {}
              f:ports:
                .: {}
                k:{"containerPort":5000,"protocol":"TCP"}:
                  .: {}
                  f:containerPort: {}
                  f:name: {}
                  f:protocol: {}
              f:resources: {}
              f:securityContext:
                .: {}
                f:allowPrivilegeEscalation: {}
                f:runAsGroup: {}
                f:runAsNonRoot: {}
                f:runAsUser: {}
              f:terminationMessagePath: {}
              f:terminationMessagePolicy: {}
          f:dnsPolicy: {}
          f:enableServiceLinks: {}
          f:restartPolicy: {}
          f:schedulerName: {}
          f:securityContext: {}
          f:serviceAccount: {}
          f:serviceAccountName: {}
          f:terminationGracePeriodSeconds: {}
    - manager: kubelet
      operation: Update
      apiVersion: v1
      time: '2022-09-28T16:31:09Z'
      fieldsType: FieldsV1
      fieldsV1:
        f:status:
          f:conditions:
            k:{"type":"ContainersReady"}:
              .: {}
              f:lastProbeTime: {}
              f:lastTransitionTime: {}
              f:status: {}
              f:type: {}
            k:{"type":"Initialized"}:
              .: {}
              f:lastProbeTime: {}
              f:lastTransitionTime: {}
              f:status: {}
              f:type: {}
            k:{"type":"Ready"}:
              .: {}
              f:lastProbeTime: {}
              f:lastTransitionTime: {}
              f:status: {}
              f:type: {}
          f:containerStatuses: {}
          f:hostIP: {}
          f:phase: {}
          f:podIP: {}
          f:podIPs:
            .: {}
            k:{"ip":"<IP_ADDRESS>"}:
              .: {}
              f:ip: {}
          f:startTime: {}
      subresource: status
spec:
  volumes:
    - name: kube-api-access-7m7wm
      projected:
        sources:
          - serviceAccountToken:
              expirationSeconds: 3607
              path: token
          - configMap:
              name: kube-root-ca.crt
              items:
                - key: ca.crt
                  path: ca.crt
          - downwardAPI:
              items:
                - path: namespace
                  fieldRef:
                    apiVersion: v1
                    fieldPath: metadata.namespace
        defaultMode: 420
  containers:
    - name: service
      image: odjrsusacr.azurecr.io/odjrs/service:0.2.48-pr
      ports:
        - name: http
          containerPort: 5000
          protocol: TCP
      resources: {}
      volumeMounts:
        - name: kube-api-access-7m7wm
          readOnly: true
          mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      imagePullPolicy: Always
      securityContext:
        runAsUser: 100
        runAsGroup: 101
        runAsNonRoot: true
        allowPrivilegeEscalation: false
  restartPolicy: Always
  terminationGracePeriodSeconds: 30
  dnsPolicy: ClusterFirst
  serviceAccountName: default
  serviceAccount: default
  nodeName: aks-nodepool1-37783169-vmss000002
  securityContext: {}
  schedulerName: default-scheduler
  tolerations:
    - key: node.kubernetes.io/not-ready
      operator: Exists
      effect: NoExecute
      tolerationSeconds: 300
    - key: node.kubernetes.io/unreachable
      operator: Exists
      effect: NoExecute
      tolerationSeconds: 300
  priority: 0
  enableServiceLinks: true
  preemptionPolicy: PreemptLowerPriority
status:
  phase: Running
  conditions:
    - type: Initialized
      status: 'True'
      lastProbeTime: null
      lastTransitionTime: '2022-09-28T16:31:06Z'
    - type: Ready
      status: 'True'
      lastProbeTime: null
      lastTransitionTime: '2022-09-28T16:31:09Z'
    - type: ContainersReady
      status: 'True'
      lastProbeTime: null
      lastTransitionTime: '2022-09-28T16:31:09Z'
    - type: PodScheduled
      status: 'True'
      lastProbeTime: null
      lastTransitionTime: '2022-09-28T16:31:06Z'
  hostIP: <IP_ADDRESS>
  podIP: <IP_ADDRESS>
  podIPs:
    - ip: <IP_ADDRESS>
  startTime: '2022-09-28T16:31:06Z'
  containerStatuses:
    - name: service
      state:
        running:
          startedAt: '2022-09-28T16:31:08Z'
      lastState: {}
      ready: true
      restartCount: 0
      image: odjrsusacr.azurecr.io/odjrs/service:0.2.48-pr
      imageID: >-
        odjrsusacr.azurecr.io/odjrs/service@sha256:073cec6d685810a69bef2541ce3be8e132f95d6821339fc84ca51f93377e5d4b
      containerID: >-
        containerd://8a51d1f3966377de9a805da54ec535a0444d103c938def26178806d49703663b
      started: true
  qosClass: BestEffort

3 Observed that container in the pod is running successfully except there is no Dapr sidecar injected, there is only one container in the pod.
4 kubectl describe pod xx -n odjrs command show no daprd container portion
Name:             service-f55cff7cd-4466w
Namespace:    odjrs
Priority:         0
Service Account:  default
Node:             aks-nodepool1-37783169-vmss000002/<IP_ADDRESS>
Start Time:       Wed, 28 Sep 2022 10:31:06 -0600
Labels:           app.kubernetes.io/instance=service
                  app.kubernetes.io/name=service
                  pod-template-hash=f55cff7cd
Annotations:      dapr.io/app-id: service
                  dapr.io/app-port: 5000
                  dapr.io/enable-debug: true
                  dapr.io/enabled: true
                  dapr.io/log-as-json: true
                  kubectl.kubernetes.io/restartedAt: 2022-09-28T15:31:22Z
Status:           Running
IP:               <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/service-f55cff7cd
Containers:
  service:
    Container ID:   containerd://8a51d1f3966377de9a805da54ec535a0444d103c938def26178806d49703663b
    Image:          odjrsusacr.azurecr.io/odjrs/service:0.2.48-pr
    Image ID:       odjrsusacr.azurecr.io/odjrs/service@sha256:073cec6d685810a69bef2541ce3be8e132f95d6821339fc84ca51f93377e5d4b
    Port:           5000/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Wed, 28 Sep 2022 10:31:08 -0600
    Ready:          True
    Restart Count:  0
    Environment Variables from:
      service  ConfigMap  Optional: false
    Environment:                 <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-7m7wm (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  kube-api-access-7m7wm:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type    Reason     Age   From               Message
  ----    ------     ----  ----               -------
  Normal  Scheduled  14m   default-scheduler  Successfully assigned odjrs/service-f55cff7cd-4466w to aks-nodepool1-37783169-vmss000002
  Normal  Pulling    14m   kubelet            Pulling image "odjrsusacr.azurecr.io/odjrs/service:0.2.48-pr"
  Normal  Pulled     14m   kubelet            Successfully pulled image "odjrsusacr.azurecr.io/odjrs/service:0.2.48-pr" in 1.180856238s
  Normal  Created    14m   kubelet            Created container service
  Normal  Started    14m   kubelet            Started container service

5 Dapr injector appeared to be running fine but there is no output following the log entry listening to port 4000. This is not the case for other deployment in AKS of different region/stage. Also not sure if the warning mattered in this case.
kubectl logs -l app=dapr-sidecar-injector -n dapr-system
time="2022-09-28T11:30:22.986019096Z" level=info msg="Healthz server is listening on :8080" instance=dapr-sidecar-injector-7c94bd87f4-jgkqq scope=dapr.injector type=log ver=1.8.3
time="2022-09-28T11:30:23.031210116Z" level=warning msg="Unable to get SA  UID (%!s(<nil>))" instance=dapr-sidecar-injector-7c94bd87f4-jgkqq scope=dapr.injector type=log ver=1.8.3
time="2022-09-28T11:30:23.031254116Z" level=warning msg="Unable to get SA replicaset-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-7c94bd87f4-jgkqq scope=dapr.injector type=log ver=1.8.3
time="2022-09-28T11:30:23.031266916Z" level=warning msg="Unable to get SA deployment-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-7c94bd87f4-jgkqq scope=dapr.injector type=log ver=1.8.3
time="2022-09-28T11:30:23.031281316Z" level=warning msg="Unable to get SA cronjob-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-7c94bd87f4-jgkqq scope=dapr.injector type=log ver=1.8.3
time="2022-09-28T11:30:23.031294016Z" level=warning msg="Unable to get SA job-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-7c94bd87f4-jgkqq scope=dapr.injector type=log ver=1.8.3
time="2022-09-28T11:30:23.031309016Z" level=warning msg="Unable to get SA statefulset-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-7c94bd87f4-jgkqq scope=dapr.injector type=log ver=1.8.3
time="2022-09-28T11:30:23.031322017Z" level=warning msg="Unable to get SA daemon-set-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-7c94bd87f4-jgkqq scope=dapr.injector type=log ver=1.8.3
time="2022-09-28T11:30:23.031332617Z" level=warning msg="Unable to get SA tekton-pipelines-controller:tekton-pipelines UID (%!s(<nil>))" instance=dapr-sidecar-injector-7c94bd87f4-jgkqq scope=dapr.injector type=log ver=1.8.3
time="2022-09-28T11:30:23.031477718Z" level=info msg="Sidecar injector is listening on :4000, patching Dapr-enabled pods" instance=dapr-sidecar-injector-7c94bd87f4-jgkqq scope=dapr.injector type=log ver=1.8.3

Release Note
FIX: Dapr side card in Pod

Please, enable sidecar injector watchdog: https://docs.dapr.io/concepts/dapr-services/operator/#injector-watchdog
This is needed because the K8s API call into sidecar injector might not happen for Pod admission. We plan to make the watchdog enabled by default in the upcoming release.

I have already done that via the following command:
helm upgrade --install dapr dapr/dapr --version=1.8.3 --namespace dapr-system --create-namespace --set dapr_operator.watchInterval=2m --wait
However, my service pod got recreated but still without daprd container injected.

Also, is sidecar injector running? Do you have multiple instances of that?

Dapr operator logs were listed at the end of the last post. The sidecar injector is running and is a single instance. After the log "listening on 4000 port", there has been only one entry showing that Dapr is injected into an app.
Also when watch dog is activated, it seems to be recycling dapr-enabled pods that does not have daprd injected and ignored those dapr-enabled pods that has daprd running in the container or injected.

It seems that dapr-operator is going through the dapr-enabled pods on the specified time interval but somehow dapr-sidecar-injector is not picking up those dapr-enabled pods and injecting daprd to the pod as there is no new log entry in dapr-sidecar-injector.

@github-xcbroker It appears that there may be some issues with your service accounts.
Can I recommend trying to uninstall Dapr (helm uninstall dapr -n $DAPR_NAMESPACE) and then try reinstalling it with Helm?

We have done that numerous times with no luck. We have noticed those warning logs about "Unable to get SA xx" when dapr-sidecar-injector starts but that appeared in the past when dapr injection worked.

I am leaning more towards an issue with the dapr-operator pod, with the watchdog activated, I can see logs about deleting the pod with no Dapr injected. As the dapr-enabled pod getting recreated, Dapr should see the annotation and try to inject dapr sidecar when restarting the dapr-enabled service pod. This is not happening as the dapr-sidecar-injector log (streamed with -f) stays put. At this time, if I try to deploy a test app, I can see it succeeded with the app deployed and dapr sidecar injected, while dapr-sidecar-injector logs an entry indicating that Sidecar injector succeeded injection for app 'mytestapp'" instance=dapr-sidecar-injector-85fbbb579b-xhmh9 .... The fact that it does NOT emit any log when my existing pod deployment got restarted or when the dapr-operator watchdog restarted the dapr-enabled pod means that somehow it did not request the injection.

This is happening in 4 of our AKS clusters (and could be more as we are so afraid of deploying or restarting pods that could lead to the Dapr sidecar injection failure). Microsoft pushed us to use the Dapr and we now have a dependency that if the Darp injection does not happen, all our services become unavailable.
Also, we have tried AKS version 1.22.6, 1.23.8 with Dapr 1.8.3, 1.8.4, and even 1.9RC with no luck.

The logs about the service accounts are what worry me:
time="2022-09-29T14:03:36.480953725Z" level=warning msg="Unable to get SA replicaset-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-6f657f9d98-7zdwz scope=dapr.injector type=log ver=1.8.3

It means that there may be permission issues while trying to connect to the K8s APIs.
As for the injector, it should show a message stating that the injection succeeded, but before that it should also show a message saying that the webhook was received. If you don't see those either, it means that the admission webhook is not working, and that's why the injector is not doing anything - it's not being invoked.
All of the above point to some issue with the permissions on your AKS clusters.

@ItalyPaleAle Here is the full log from dapr-sidecar-injector. As you can see there are two logs added after it is starting to listen on port 4000. These 2 entries were added when I deployed a sample test app to the same cluster that is experiencing the issue. This indicates that the injector has no issue connecting to k8s APIs because the injection does work for this sample test app. Our problem currently appears to be with those existing pods that were dapr-enabled and had dapr sidecar injected before then removed (for example, when we upgrade AKS version or Dapr version, this could happen) as we can no longer get dapr sidecar injected (restart deployment, restart pod and you name it).
time="2022-09-30T18:24:04.823117837Z" level=warning msg="Unable to get SA replicaset-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-85fbbb579b-xhmh9 scope=dapr.injector type=log ver=1.8.3
time="2022-09-30T18:24:04.823131237Z" level=warning msg="Unable to get SA deployment-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-85fbbb579b-xhmh9 scope=dapr.injector type=log ver=1.8.3
time="2022-09-30T18:24:04.823141737Z" level=warning msg="Unable to get SA cronjob-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-85fbbb579b-xhmh9 scope=dapr.injector type=log ver=1.8.3
time="2022-09-30T18:24:04.823151837Z" level=warning msg="Unable to get SA job-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-85fbbb579b-xhmh9 scope=dapr.injector type=log ver=1.8.3
time="2022-09-30T18:24:04.823161737Z" level=warning msg="Unable to get SA statefulset-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-85fbbb579b-xhmh9 scope=dapr.injector type=log ver=1.8.3
time="2022-09-30T18:24:04.823171537Z" level=warning msg="Unable to get SA daemon-set-controller:kube-system UID (%!s(<nil>))" instance=dapr-sidecar-injector-85fbbb579b-xhmh9 scope=dapr.injector type=log ver=1.8.3
time="2022-09-30T18:24:04.823193238Z" level=warning msg="Unable to get SA tekton-pipelines-controller:tekton-pipelines UID (%!s(<nil>))" instance=dapr-sidecar-injector-85fbbb579b-xhmh9 scope=dapr.injector type=log ver=1.8.3
time="2022-09-30T18:24:04.823388639Z" level=info msg="Sidecar injector is listening on :4000, patching Dapr-enabled pods" instance=dapr-sidecar-injector-85fbbb579b-xhmh9 scope=dapr.injector type=log ver=1.8.3
time="2022-09-30T18:33:03.042682009Z" level=info msg="AdmissionReview for Kind=/v1, Kind=Pod, Namespace=default Name= () UID=aabeb164-f813-49f9-8d13-9a944aafbe53 patchOperation=CREATE UserInfo={system:serviceaccount:kube-system:replicaset-controller 1e1d6481-207a-4d63-a2dd-46e17e2b5cc0 [system:serviceaccounts system:serviceaccounts:kube-system system:authenticated] map[]}" instance=dapr-sidecar-injector-85fbbb579b-xhmh9 scope=dapr.injector type=log ver=1.8.3
time="2022-09-30T18:33:03.076988219Z" level=info msg="Sidecar injector succeeded injection for app 'nodeapp'" instance=dapr-sidecar-injector-85fbbb579b-xhmh9 scope=dapr.injector type=log ver=1.8.3

What happens if you delete the deployment entirely? Not just stopping it, but deleting the deployment and re-create it?

I have tried all of that.
kubectl apply -f .\deployment.yml
I see nothing in the injector log. However, the operator starts seeing the container does not exist and starts deleting the pod. This turns into an endless loop.
Deleting the deployment and applying it again just results in the same.
This is a test AKS cluster with CNI and this is the only thing running on it.
apiVersion: apps/v1 kind: Deployment metadata:   name: busybox   namespace: odjrs   labels:     app: busybox spec:   selector:     matchLabels:       app: busybox   replicas: 1   template:     metadata:       labels:         app: busybox       annotations:         dapr.io/enabled: "true"         dapr.io/app-id: "darren-svc"         dapr.io/app-port: "16201"     spec:       containers:         - name: busybox           image: busybox:latest           command: ["sh", "-c", "tail -f /dev/null"]           resources:             requests:               cpu: 100m               memory: 100Mi             limits:               cpu: 100m               memory: 200Mi       restartPolicy: Always

Did you delete the deployment with kubectl delete -f deployment.yml before retrying kubectl apply -f deployment.yml?
Are you able to try with a brand-new AKS cluster? Seems that something could have gotten corrupted there.

I'm creating a new cluster now. I will let you know the results.

@ItalyPaleAle It is still negative with deleting the deployment and re-deploy. This is tried with the same deployment version that injected Dapr sidecar before and now it is still negative.

@github-xcbroker would you be available to work with me on this synchronously next week? Can you send me an email at asegala at "[my employer] dot com" with the best way to contact you and your availability and time zone?

I was able to find the source of this issue. We just implemented our own operator and this seems to be the cause of the dapr injector not working. However, at this time I don't understand why. We have our own injector that injects our sidecars that one is still working.
I created a new cluster and installed dapr. Everything worked as expected. But, as soon as I added our operator it stopped working. Our operator is very simple and I built it using the operator-sdk. Everything is pretty much the defaults at this time because we are just getting started.  I use "make deploy" to install the operator and "make undeploy" to remove it. Also, I shutdown our operator just to make sure it was not our operator code that is causing the problem. However, I get the same results.
Does anyone know of any issues with using the operator-sdk and dapr?

I was able to solve this issue. What I found was when running "make deploy" it was also creating or updating the target namespace. That namespace included the label "control-plane: controller-manager". That is the default out of box. Removing this label allowed the dapr injector to start running again. I was able to reproduce this over and over. I removed this label from my other clusters and the injector started working again.
Default namespace configuration coming from the operator-sdk.
apiVersion: v1
kind: Namespace
metadata:
  labels:
    control-plane: controller-manager
  name: system

Looks like we found the root cause of the issue and we can safely close this ticket. Thanks to all!

@DarrenClevenger @yaron2 @artursouza can you provide some information how to solve this issue on AWS?
we are getting the same, dapr sidecard doesn't create fully.

@dmitriy-pisarevskiy I'm running AKS, so I'm not sure if it is the same, but I think it is more of a Kubernetes thing than a platform issues. My problem was I had an additional label on my namespace. Once I removed the label the injector started working again. I recreated this on another cluster just to be sure. I'm not sure why, but that did fix my issue.


Incoming

I just installed postal on my vps i have added my domain and added all four records (spf,dkim,mx, return path) I am using mautic for automation and I have connected it with the postal. Now the only problem I am facing is the incoming emails I don't know why I am not receiving any emails at my account do I have to add any endpoint route in the postal or what?
Note: my domain is at hostinger so I am using their webmail.

Postal needs incoming routes to be added to handle incoming email otherwise it will be rejected.

ok so how can I add a route should I just add a address endpoint as a route where I enter any of my email associate with the domain?

Incoming messages can be handled in several ways as you set up in the UI


I can't seem to find any fitting solutions

AttributeError                            Traceback (most recent call last)
/usr/local/lib/python3.8/dist-packages/PIL/ImageFile.py in _save(im, fp, tile, bufsize)
495     try:
--> 496         fh = fp.fileno()
497         fp.flush()
AttributeError: '_idat' object has no attribute 'fileno'
During handling of the above exception, another exception occurred:
BrokenPipeError                           Traceback (most recent call last)
5 frames
/usr/local/lib/python3.8/dist-packages/PIL/PngImagePlugin.py in putchunk(fp, cid, *data)
981
982     fp.write(o32(len(data)) + cid)
--> 983     fp.write(data)
984     crc = _crc32(data, _crc32(cid))
985     fp.write(o32(crc))
BrokenPipeError: [Errno 32] Broken pipe

this looks like it was actually an issue with ffmpeg compiling the video. not sure if it's still an issue, closing for now but feel free to reopen if you're still encountering problems


Fixes main pointing to the wrong file (for case sensitive Filesystems)

This fixes problems on case sensitive filesystems (so most linux based systems). On those, lib/stocksocket.js can't be found since "lib/stocksocket.js" !== "lib/StockSocket.js"

Thanks for catching that! Feel free to contribute anytime - merging.


Trivial fix in betainc() for x1==x2

This also workaround test failure on the master, due to broken pytest on the recent CPython 3.10.


bower version not updated

bower version id 0.5 instead 1.. the current version

with the latest release "tagged", you'll be installing 1.0.2 now :)

Reopen this or i can make another one, in 1.0.2 you removed dist from repo, hence using bower will not work.

@jeveloper

@hhsnopek First of all, thank you for your good work !
I did make it work in my requirejs environment , but as you know bower libs needs to be shipped with both non min and min versions of a distribution, that way it works well. However i understand why you chose a different path, its a lib that has to be minimal.

Thank you @jeveloper - I've figured out how this is going to be handled and hopefully will have it up later today, if not this weekend

pending the ability to publish to bower thru authorship, bower will be updated hopefully by EOD.

updated and working!


OAuth2 Authentication fails for Azure Log Analytics API

Description:
I used OAuth2 with the client credentials grant type to call the Azure log analytics API. It seems the provided OAuth2 token is not valid for the requested resource.
Bellow is the error log from log analytics API:
error=message=The provided authentication is not valid for this resource
code=InvalidTokenError innererror=code=InvalidTokenError
message=Could not validate the request. Challenge failed: SignatureVerificationFailed

Affected Versions:
Ballerina 1.2.0
Suggested Assignees:
@ldclakmal

The audience is incorrect in the OAuth2 token which sends to the log analytics API. This caused maybe because of the Azure log analytics OAuth2  spec is different from the OAuth2 spec referred by Ballerina.

Its better if the user can optionally set custom parameters of the request sent to token url.
Azure expects a parameter named resource. some other party may require something else.

Yes. This fails because of the resource parameter send in the POST body. But I couldn't find such thing (custom parameters) in client credentials grant type of OAuht2 RFC [1].
[1] https://tools.ietf.org/html/rfc6749#section-1.3.4

Its actually called "endpoint parameters"
check https://tools.ietf.org/html/rfc6749#section-8.2

Thanks @tharinduwijewardane. We will fix this.


bump all deps, switch to 2021 edition

Hi @icanwalkonwater , what's the state of your project? I would love to contribute a bit, hopefully making it multiplatform and easy to consume by various rust tools. Here's a very simple bump of all dependencies just to get started. Thx!

Hi, thanks for your interest in this project !
This project is very low priority for me for a number of reasons (mainly my loss of interest and lack of time).
The main problem with this project is that there is a lot of copies happening both in the sys crate and the safe wrapper, just take a look at the DownloadHandle for example.
The libaria C++ API uses a lot of vectors and other templated types that makes it tricky. Maybe cxx has improved on this front while I was not looking but I'm not sure.
TL;DR: C++ bridges are hard for me, you are free to take the project in the direction that you want it to take and publish it to crates.io.

Thanks for the quick reply @icanwalkonwater ! TBH, I am very new to Rust, and a bit rusty in C++, but am interested in learning.
WRT copies -- i suspect this might not be that big of a deal since this is a aria2 management interface (what to download, where to save, what's the status, etc), not the actual critical path of execution. (i could be wrong). Regardless, this could be improved incrementally once the project gains traction.
Lastly, if you are not interested in maintaining it, could you add me as an admin, or transfer the ownership to me and i will add you as an admin?  This way there are fewer forks, easier to promote, less confusing to everyone, plus can set up all the proper workflows and automated crates.io publishing.
Once again, thanks for getting this started so well -- it gave me a huge boost in Rust binding learning.

P.S. I'm also experimenting with other tools like https://github.com/google/autocxx - will see if i can get it to run properly

WRT copies -- i suspect this might not be that big of a deal since this is a aria2 management interface

You're right it proably doesn't matter that much, I just would have prefered that this crate didn't have any overhead of any sort compared to the cpp version. Maybe autocxx will help with that, but as you said, its not a priority.

Lastly, if you are not interested in maintaining it, could you add me as an admin, or transfer the ownership to me and i will add you as an admin?

Well, after thinking again about this project again and reread my code, turns out it seems to be way more complete that I remembered. Now I kinda want to take back what I said yesterday and instead write the goals that I had in mind as well as a roadmap.
Also I am not willing to give up any of my project, much less to someone I know nothing about, I think its understandable.
What I am willing to do is give you some write permissions to this repo, but I still insist that nothing is merged into master without a PR, I will setup a basic github actions to test the code on PR.

P.S. I'm also experimenting with other tools like https://github.com/google/autocxx - will see if i can get it to run properly

When I started this project, autocxx was at its very early stages and wasn't usable. It seems to have grown quite a lot in the past year, maybe its time to take another look at it.

@icanwalkonwater obviously all changes should go via the PR+CI -- and i will submit a pr on CI improvemests -- I'm thinking the usual fmt+clippy+build+test pattern, plus automatic cargo publish on version tag.
I would be much happier if you lead this project as you clearly have far more knowledge about the interop and did all this great work.
I'm doing all my work on Linux, but i could try to reboot into Windows and see if I can get it to run there, but milage may vary - I haven't done Win dev in ages. I may also look closer into the libaria2 API - maybe add a few higher-level abstractions if they would make sense.
Lastly, I am not too sure if the lack of multi-platform support should be a blocker to releasing on crates.io -- I think if the lib is useful for Linux only, it already has great value for anyone developing on Linux. Currently there are some name squatters on crates.io for aria2 lib, but no actual lib code. I found your repo by sheer accident searching github after repeated searches, so others might not find it. If Linux version is published, those on other platforms might get interested enough to add support for other platforms as well.

The windows thing blocking release is mainly because is seems silly to add you as a contributor when you literally just bumped some versions.
By supporting windows I just mean using something else than pkg-config on windows because it doesn't exist, it's only there to check if the lib is installed anyway.


Error 'TypeError: e._v is not a function' when trying to load component

I'm getting TypeError: e._v is not a function.
vue-js-paginate v. 1.8.0.
Vue v. 2.1.0.
Any toughts?

Hi @devloe . Could you please upgrade your Vue version to have a try. Or could you please provide any online demo like this ?

Hi @devloe . I will close this issue for now. Any questions just feel free to ask. Thanks.


Show folders first option in symbols

See the title

This is the most intuitive way to order things in my view as well.

The default sort order is address so folders are sorted by address as well. The folder address comes from the lowest addressed item within the folder. We can look into adding this as an option though.

Added in 3.6.4694-dev. The option is disabled by default.


gh-355 Prepare for 1.3 M2 release

resolves https://github.com/spring-cloud/spring-cloud-dataflow-server-cloudfoundry/issues/355

This is addressed via: https://github.com/spring-cloud/spring-cloud-dataflow-server-cloudfoundry/commit/fa1c775b2ffde2a42fedbce2ad2576deb45fbfa8.


.formatted() dosn`t work as expected

Hi,
why is following not possible ?
columns.Add(model => model.GuVBrutto).Titled("Guv").Formatted("{0:n}").Encoded(false).RenderedAs(model => model.GuVBrutto > 0 ? ("" + model.GuVBrutto + " ") : ("" + model.GuVBrutto + "")));
The .Formatted("{0:n}") does not working. Is it because the RenderdAs Part follows ?
I put the part .Formatted("{0:n}") at the end, still not working.
Is there any way to use both Parameter for one column and both got to work ?

Formatting is intended to be used on the original .Add(expression), if you are using .RenderedAs you are overriding everything. So formatting has to be done in there, which you are already doing with (<value>).
You can use string interpolation to achieve quick results, for example: $"({model.GuVBrutto:0.00})".

Thanks a lot for the fast response ! I know these are basics, but can you tell me where i can find a reference regarding the " :0.00}" part ? I need thousands seperators only in the view e.g. 100000.56 ist 100.000,56
I found some functions like this but i don`t know how to call this function inside the .RenderedAs area ?
function mach_tausender(zahl) {
var i;
var j=0;
var ergebnis="";
i=zahl.length-1;
alert("i="+i);
while (i >= 0) {
ergebnis=zahl.substr(i,1)+ergebnis;
j++;
if (j==3) {
ergebnis="."+ergebnis;
j=0;
}
i--;
}
return ergebnis;
}

I knew that, but i tried always to use the value.ToString(), now is use it in this way:
$"{String.Format("{0:N2}", model.GuVBrutto)}"
This is also the solution for my case - thanks a lot for your help...
Not relatedt to this topic, but las question - i use this url for examples and it is easy to use it - thanks for your work: http://mvc6-grid.azurewebsites.net/
Can you tell or show me how i can setup my grid to the Fonts and CSS Style you use in the examples on the example site ? My is too small to read it...

I use bootstrap with font awesome icons on example pages, you can find the source here and run locally.

Thanks a lot for your help :-)


feat(gopls): attach previous lsp instance for GOMODCACHE

Issue: https://github.com/neovim/nvim-lspconfig/issues/804
Reboots: https://github.com/neovim/nvim-lspconfig/pull/879

@glepnir ready for review again


Release Notes for Deployment

The PR for the release notes. If you have anything you want to add, or change before tomorrow, please let me know.

@MauriceReeves-usds Coming in a liiiiittttlllle late here, but I do have a late-breakin' PR open: #1823 .
It's introducing enough changes that y'all probably need more time to review before today's deploy ... but just in case it looks solid it'd be excellent to roll in.


Documentation page is empty

What

The page https://louketo.github.io/ does not show any content

Environment

GH pages

Expected Results

Web page with Louketo documentation

Actual Results

Empty page

Steps to reproduce

Go to https://louketo.github.io/

How
There are several alternatives to deploy static HTMLs on GH pages, we just need to pick one and iterate on top of that:

Switch GitHub pages to use documentation-theme from Jekyll. Example: https://idratherbewriting.com/documentation-theme-jekyll/
Use Hugo to deploy with learn theme
Use just-the-docs, the same theme used by oauth2-proxy https://oauth2-proxy.github.io/oauth2-proxy/
Use mkdocs. That would require Python and deployment instructions

Additional information

Original reporter: @freiit

@stianst @bdaw @JoelSpeed I'd like to go with option 2, but I'm not picky. So whatever we reach a consensus, I'm fine.

Why Hugo over Jekyll? Benefit of Jekyll is that it's integrated nicely with GitHub Pages so you don't need to do anything separate to build or deploy the site.

I'm also a fan of 2, but I appreciate that it would be easier to use a Jekyll instance.
That said, one thing that we should consider, is how will we update the docs, I assume we want them to be pinned to the latest release rather than being live from master. So is generating them on each release that much of a pain?

You really don't want to have any manual steps involved in doing a release as it increases the amount of time it takes to do a release, but also makes it very error prone.

@JoelSpeed the goal is to have almost everything automated, including the website. I say almost, because code refactoring can't be automated :)


[BUG] Post script for Debian returns 255

Describe the bug
I'm try to install opensearch via the apt package (first I add it to a new apt list like mentioned in the documentation):
root@machine:~# apt install opensearch
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Die folgenden NEUEN Pakete werden installiert:
  opensearch
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen noch 0 B von 758 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 987 MB Plattenplatz zusätzlich benutzt.
Vormals nicht ausgewähltes Paket opensearch wird gewählt.
(Lese Datenbank ... 28468 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../opensearch_2.5.0_amd64.deb ...
Running OpenSearch Pre-Installation Script
Entpacken von opensearch (2.5.0) ...
opensearch (2.5.0) wird eingerichtet ...
Running OpenSearch Post-Installation Script
dpkg: Fehler beim Bearbeiten des Paketes opensearch (--configure):
 »installiertes opensearch-Skript des Paketes post-installation«-Unterprozess gab den Fehlerwert 255 zurück
Trigger für libc-bin (2.31-13+deb11u5) werden verarbeitet ...
Fehler traten auf beim Bearbeiten von:
 opensearch
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@machine:~#

To Reproduce
Steps to reproduce the behavior:

add apt list for opensearch to debian
run apt install opensearch

Expected behavior
opensearch should be installed
Plugins
none
Host/Environment (please complete the following information):

OS: Debian
Version: 11

Hi @Peronia,
Sorry for inconvinience.
Could you process with these steps?

try to run sudo dpkg -P opensearch, then use sudo apt-get opensearch, note not using apt but apt-get as I have seen cases where apt does not install fully.
What is the log content of this file: /var/log/install_demo_configuration.log?
Is /etc/opensearch empty?

Thanks.

Hi @peterzhuamazon,
no problem, we are all are only humans (;

Output from dpkg -P opensearch:

root@machine:~# dpkg -P opensearch
(Lese Datenbank ... 29831 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von opensearch (2.5.0) ...
Running OpenSearch Pre-Removal Script
Löschen der Konfigurationsdateien von opensearch (2.5.0) ...
dpkg: Warnung: Während Entfernens von opensearch ist Verzeichnis »/var/log/opensearch« nicht leer, wird daher nicht gelöscht
dpkg: Warnung: Während Entfernens von opensearch ist Verzeichnis »/etc/opensearch« nicht leer, wird daher nicht gelöscht
Trigger für libc-bin (2.31-13+deb11u5) werden verarbeitet ...
root@machine:~#

I deleted the two folders manually.

I assume you mean apt-get install opensearch:

root@machine:~# apt-get opensearch
E: Ungültige Operation opensearch
root@machine:~# apt-get install opensearch
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Die folgenden NEUEN Pakete werden installiert:
  opensearch
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 7 nicht aktualisiert.
Es müssen noch 0 B von 758 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 987 MB Plattenplatz zusätzlich benutzt.
Vormals nicht ausgewähltes Paket opensearch wird gewählt.
(Lese Datenbank ... 28468 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../opensearch_2.5.0_amd64.deb ...
Running OpenSearch Pre-Installation Script
Entpacken von opensearch (2.5.0) ...
opensearch (2.5.0) wird eingerichtet ...
Running OpenSearch Post-Installation Script
dpkg: Fehler beim Bearbeiten des Paketes opensearch (--configure):
 »installiertes opensearch-Skript des Paketes post-installation«-Unterprozess gab den Fehlerwert 255 zurück
Trigger für libc-bin (2.31-13+deb11u5) werden verarbeitet ...
Fehler traten auf beim Bearbeiten von:
 opensearch
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@machine:~#

Content of /var/log/opensearch/install_demo_configuration.log:

**************************************************************************
** This tool will be deprecated in the next major release of OpenSearch **
** https://github.com/opensearch-project/security/issues/1755           **
**************************************************************************
OpenSearch Security Demo Installer
 ** Warning: Do not use on production or public reachable systems **
Basedir: /usr/share/opensearch
OpenSearch install type: rpm/deb on PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
OpenSearch config dir: /etc/opensearch
OpenSearch config file: /etc/opensearch/opensearch.yml
OpenSearch bin dir: /usr/share/opensearch/bin
OpenSearch plugins dir: /usr/share/opensearch/plugins
OpenSearch lib dir: /usr/share/opensearch/lib
Detected OpenSearch Version: x-content-2.5.0
Detected OpenSearch Security Version: <IP_ADDRESS>

### Success
### Execute this script now on all your nodes and then start all nodes
### OpenSearch Security will be automatically initialized.
### If you like to change the runtime configuration
### change the files in ../../../config/opensearch-security and execute:
"/usr/share/opensearch/plugins/opensearch-security/tools/securityadmin.sh" -cd "/etc/opensearch/opensearch-security" -icl -key "/etc/opensearch/kirk-key.pem" -cert "/etc/opensearch/kirk.pem" -cacert "/etc/opensearch/root-ca.pem" -nhnv
### or run ./securityadmin_demo.sh
### To use the Security Plugin ConfigurationGUI
### To access your secured cluster open https://<hostname>:<HTTP port> and log in with admin/admin.
### (Ignore the SSL certificate warning because we installed self-signed demo certificates)

No, /etc/opensearch isn't empty:

root@machine:~# ls -la /etc/opensearch/
insgesamt 84
drwxr-xr-x  9 root root  4096 27. Jan 07:41 .
drwxr-xr-x 82 root root  4096 27. Jan 07:41 ..
-rw-r--r--  1 root root  1704 27. Jan 07:41 esnode-key.pem
-rw-r--r--  1 root root  1720 27. Jan 07:41 esnode.pem
-rw-r--r--  1 root root  2714 27. Jan 07:41 jvm.options
drwxr-xr-x  2 root root  4096 14. Okt 12:06 jvm.options.d
-rw-r--r--  1 root root  1704 27. Jan 07:41 kirk-key.pem
-rw-r--r--  1 root root  1610 27. Jan 07:41 kirk.pem
-rw-r--r--  1 root root 14808 14. Okt 12:06 log4j2.properties
drwxr-xr-x  2 root root  4096 27. Jan 07:41 opensearch-notifications
drwxr-xr-x  2 root root  4096 27. Jan 07:41 opensearch-notifications-core
drwxr-xr-x  2 root root  4096 27. Jan 07:41 opensearch-observability
drwxr-xr-x  2 root root  4096 27. Jan 07:41 opensearch-performance-analyzer
drwxr-xr-x  2 root root  4096 27. Jan 07:41 opensearch-reports-scheduler
drwxr-xr-x  2 root root  4096 27. Jan 07:41 opensearch-security
-rw-r--r--  1 root root  4464 27. Jan 07:41 opensearch.yml
-rw-r--r--  1 root root  1444 27. Jan 07:41 root-ca.pem
root@machine:~#

Yes @Peronia I meant to say apt-get install.
This is very interesting as I have never seen a case where install demo config script success, while config folder have content and still failed.
The text of the install msg seems in German, I am not sure if this has something to do with locale.
Is it possible for you to install on a English locale machine?
I will also try to switch my test machine to German and see what I can do.
Thanks.

Tried on debian11 English with latest upgrades:

admin@ip-172-31-10-24:~$ sudo apt install opensearch
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  opensearch
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 758 MB of archives.
After this operation, 987 MB of additional disk space will be used.
Get:1 https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable/main amd64 opensearch amd64 2.5.0 [758 MB]
Fetched 758 MB in 24s (31.6 MB/s)
Selecting previously unselected package opensearch.
(Reading database ... 29762 files and directories currently installed.)
Preparing to unpack .../opensearch_2.5.0_amd64.deb ...
Running OpenSearch Pre-Installation Script
Unpacking opensearch (2.5.0) ...
Setting up opensearch (2.5.0) ...
Running OpenSearch Post-Installation Script
### NOT starting on installation, please execute the following statements to configure opensearch service to start automatically using systemd
 sudo systemctl daemon-reload
 sudo systemctl enable opensearch.service
### You can start opensearch service by executing
 sudo systemctl start opensearch.service
### Create opensearch demo certificates in /etc/opensearch/
 See demo certs creation log in /var/log/opensearch/install_demo_configuration.log
Processing triggers for libc-bin (2.31-13+deb11u5) ...

@Peronia can you type locale and let me see what is your settings?
Ex mine:
$ locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=

Thanks.a

I switch to german locale and I am still able to install.
admin@ip-172-31-10-24:~$ locale
LANG=de_DE.UTF-8
LANGUAGE=
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
admin@ip-172-31-10-24:~$ sudo apt install opensearch
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Die folgenden NEUEN Pakete werden installiert:
  opensearch
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 758 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 987 MB Plattenplatz zusätzlich benutzt.
Holen:1 https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable/main amd64 opensearch amd64 2.5.0 [758 MB]
Es wurden 758 MB in 37 s geholt (20,7 MB/s).
Vormals nicht ausgewähltes Paket opensearch wird gewählt.
(Lese Datenbank ... 29762 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../opensearch_2.5.0_amd64.deb ...
Running OpenSearch Pre-Installation Script
Entpacken von opensearch (2.5.0) ...
opensearch (2.5.0) wird eingerichtet ...
Running OpenSearch Post-Installation Script
### NOT starting on installation, please execute the following statements to configure opensearch service to start automatically using systemd
 sudo systemctl daemon-reload
 sudo systemctl enable opensearch.service
### You can start opensearch service by executing
 sudo systemctl start opensearch.service
### Create opensearch demo certificates in /etc/opensearch/
 See demo certs creation log in /var/log/opensearch/install_demo_configuration.log
Trigger für libc-bin (2.31-13+deb11u5) werden verarbeitet ...

I think the issue lies on there are some pkgs not on your machine, therefore fail the execution of the script:
https://github.com/opensearch-project/opensearch-build/blob/main/scripts/pkg/build_templates/opensearch/deb/debian/postinst
Could you do these steps to debug:

purge the installation and install again, let it fail.
cd /var/lib/dpkg/info
Manually run opensearch.postinst with root permission and see what error it shows.

If we can find what exact error it is it would be very easy to go next step.
Thanks.

Okay, this is a strange one.
I run bash opensearch.postinst (do the things you mentioned before):
root@machine:/var/lib/dpkg/info# bash opensearch.postinst
Running OpenSearch Post-Installation Script
root@machine:/var/lib/dpkg/info#

Then I added echos to the script:
#!/bin/bash

# Copyright OpenSearch Contributors
# SPDX-License-Identifier: Apache-2.0
#
# The OpenSearch Contributors require contributions made to
# this file be licensed under the Apache-2.0 license or a
# compatible open source license.

# deb opensearch postinst script

set -e

echo "Running OpenSearch Post-Installation Script"

product_dir=/usr/share/opensearch
config_dir=/etc/opensearch
data_dir=/var/lib/opensearch
log_dir=/var/log/opensearch
pid_dir=/var/run/opensearch

# Apply Security Settings
if [ -d ${product_dir}/plugins/opensearch-security ]; then
    bash ${product_dir}/plugins/opensearch-security/tools/install_demo_configuration.sh -y -i -s > ${log_dir}/install_demo_configuration.log 2>&1
fi

echo "After first if"

# Apply PerformanceAnalyzer Settings
chmod a+rw /tmp
if ! grep -q '## OpenSearch Performance Analyzer' ${config_dir}/jvm.options; then
   # Add Performance Analyzer settings in ${config_dir}/jvm.options
   CLK_TCK=`/usr/bin/getconf CLK_TCK`
   echo >> ${config_dir}/jvm.options
   echo '## OpenSearch Performance Analyzer' >> ${config_dir}/jvm.options
   echo "-Dclk.tck=$CLK_TCK" >> ${config_dir}/jvm.options
   echo "-Djdk.attach.allowAttachSelf=true" >> ${config_dir}/jvm.options
   echo "-Djava.security.policy=file://${config_dir}/opensearch-performance-analyzer/opensearch_security.policy" >> ${config_dir}/jvm.options
   echo "--add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED" >> ${config_dir}/jvm.options
fi

echo "After second if"

# Reload systemctl daemon
if command -v systemctl > /dev/null; then
    systemctl daemon-reload
fi

echo "After third if"

# Reload other configs
sysctl -p /usr/lib/sysctl.d/opensearch.conf > /dev/null 2>&1
systemd-tmpfiles --create opensearch.conf

echo "After reload"

# Messages
echo "### NOT starting on installation, please execute the following statements to configure opensearch service to start automatically using systemd"
echo " sudo systemctl daemon-reload"
echo " sudo systemctl enable opensearch.service"
echo "### You can start opensearch service by executing"
echo " sudo systemctl start opensearch.service"

if [ -d ${product_dir}/plugins/opensearch-security ]; then
    echo "### Create opensearch demo certificates in ${config_dir}/"
    echo " See demo certs creation log in ${log_dir}/install_demo_configuration.log"
fi

echo "After fourth if"

# Set owner
chown -R opensearch.opensearch ${product_dir}
chown -R opensearch.opensearch ${config_dir}
chown -R opensearch.opensearch ${log_dir}
chown -R opensearch.opensearch ${data_dir}
chown -R opensearch.opensearch ${pid_dir}

exit 0

Then I have:
root@machine:/var/lib/dpkg/info# bash opensearch.postinst
Running OpenSearch Post-Installation Script
After first if
After second if
After third if
root@machine:/var/lib/dpkg/info#

So I know taht after the 3 if, nothing is executed (I don't know why). So I fired the commands amnually and all was fine. Then before I start the service, I take a look on the status:
root@machine:/var/lib/dpkg/info# systemctl status opensearch.service
● opensearch.service - OpenSearch
     Loaded: loaded (/usr/lib/systemd/system/opensearch.service; enabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: https://opensearch.org/
root@machine:/var/lib/dpkg/info#

So all good, I tried to start it and looked at the status again:
root@machine:/var/lib/dpkg/info# systemctl status opensearch.service
● opensearch.service - OpenSearch
     Loaded: loaded (/usr/lib/systemd/system/opensearch.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2023-01-28 00:31:14 CET; 4s ago
       Docs: https://opensearch.org/
   Main PID: 1045384 (java)
      Tasks: 71 (limit: 38375)
     Memory: 1.2G
        CPU: 29.162s
     CGroup: /system.slice/opensearch.service
             └─1045384 /usr/share/opensearch/jdk/bin/java -Xshare:auto -Dopensearch.networkaddress.cache.ttl=60 -Dopensearch.networkaddress.cac>

Jan 28 00:30:57 machine systemd[1]: Starting OpenSearch...
Jan 28 00:30:59 machine systemd-entrypoint[1045384]: WARNING: A terminally deprecated method in java.lang.System has been called
Jan 28 00:30:59 machine systemd-entrypoint[1045384]: WARNING: System::setSecurityManager has been called by org.opensearch.bootstrap.OpenSearch >
Jan 28 00:30:59 machine systemd-entrypoint[1045384]: WARNING: Please consider reporting this to the maintainers of org.opensearch.bootstrap.Open>
Jan 28 00:30:59 machine systemd-entrypoint[1045384]: WARNING: System::setSecurityManager will be removed in a future release
Jan 28 00:31:00 machine systemd-entrypoint[1045384]: WARNING: A terminally deprecated method in java.lang.System has been called
Jan 28 00:31:00 machine systemd-entrypoint[1045384]: WARNING: System::setSecurityManager has been called by org.opensearch.bootstrap.Security (f>
Jan 28 00:31:00 machine systemd-entrypoint[1045384]: WARNING: Please consider reporting this to the maintainers of org.opensearch.bootstrap.Secu>
Jan 28 00:31:00 machine systemd-entrypoint[1045384]: WARNING: System::setSecurityManager will be removed in a future release
Jan 28 00:31:14 machine systemd[1]: Started OpenSearch.

So all is fine...
I also tried the demo mode with  curl -X GET https://localhost:9200 -u 'admin:admin' --insecure and  curl -X GET https://localhost:9200/_cat/plugins?v -u 'admin:admin' --insecure, all works fine. I don't get it why the script doesn't run.

Hi @Peronia can you change this line here:
sysctl -p /usr/lib/sysctl.d/opensearch.conf > /dev/null 2>&1

to
sysctl -p /usr/lib/sysctl.d/opensearch.conf

What is the output of the script?
Also is there a way you can setup a non-root account but give it full sudo permission, and try to run with sudo instead of root user directly?
This is so strange I have never seen the case before.
Maybe if you can let me know how you setup your server, e.g. is it from a cloud provider or you manually grab a install ISO image from Debian, then I can probably reproduce on this.
Thanks.

Hi @peterzhuamazon & @Peronia,
I've ran into the same issue. I'm as well as @Peronia on Debian 11. My opensearch instance is running on a lxc container managed by proxmox pve.
I've got the instance running by executing
chown -R opensearch:opensearch /var/lib/opensearch/
chown -R opensearch:opensearch /var/log/opensearch
chown -R opensearch:opensearch /etc/opensearch

The installer was still broken. I'm going to provide the wished outputs if the shitty DB Wifi allows me to connect home via VPN.

Hi @peterzhuamazon
I've tried this (as root, after the script edit):
root@machine:~# bash /var/lib/dpkg/info/opensearch.postinst
Running OpenSearch Post-Installation Script
sysctl: Zugriff verweigert auf Schlüssel »vm.max_map_count«
root@machine:~#

Because of this, I think I don't need it to run with another user. I think here is the problem.
My echo modifications were removed before I run the script.
A strange github thing, I received an email, that Wynnchel Duncan posted here something. However, I can't see his post, so I quote my mail:

Hi @peterzhuamazon & @Peronia,
I've ran into the same issue. I'm as well as @Peronia on Debian 11. My opensearch instance is running on a lxc container managed by proxmox pve.
I've got the instance running by executing
chown -R opensearch:opensearch /var/lib/opensearch/
chown -R opensearch:opensearch /var/log/opensearch
chown -R opensearch:opensearch /etc/opensearch
The installer was still broken. I'm going to provide the wished outputs if the shitty DB Wifi allows me to connect home via VPN.

My opensearch run on proxmox in a lxc container too. Maybe this is the issue?

@Peronia @peterzhuamazon I've posted but deleted it afterwards. I realized that i wasn't able to reproduce all the steps I've done to get the opensearch instance up and running. Had a long an rough road weekend.
Hopefully I can provide the needed details asap. Just a theorie and based on a few minutes of tinkering last week: in my instance the user which ran the opensearch instance was called "opensearch". But this user had no permissions to write / change the folders listed above.
Above is missing the folder /usr/share/opensearch. I've installed it, changed the permissions, created some file and at some point it was up an running.

Hi @Peronia @wynnchel must related to this one then:

https://github.com/lxc/lxd/issues/2206

Will test it. Gimme a few minutes

I tried this in a Linux container (Debian 11). The locale does not matter.
As already assumed by @peterzhuamazon, it is probably the file /usr/lib/sysctl.d/opensearch.conf in which the setting  sysctl -w vm.max_map_count=262144 is in.
Even if I give the container more rights with:
lxc config set debian security.privileged true
lxc config set debian security.nesting true

it does not solve the problem.
If I remove line vm.max_map_count=262144  from the file, I can complete the installation via apt-get install -f.
The container, unless it is virtualized, inherits this setting from the host system.

Hi @Peronia @wynnchel since this seems like an issue on lxc particularly, and seems the settings can be applied on host.
Are we ok to close this issue?
Or is there any changes you guys would like to suggest?
Thanks.

Feel free to close it. Thank you for your help. :)

Closing this issue based on the latest comment. Fee free to re-open if needed.

Hi,
At the moment, unfortunately, I can't see any real solution to the problem. Adjusting the systctl.d locally makes no sense from my point of view, as every update of opensearch creates/overwrites this file again. For Elasticsearch the problem was solved as follows
if command -v systemctl > /dev/null; then     systemctl restart systemd-sysctl.service || true fi
https://github.com/elastic/elasticsearch/blob/be7c7415627377a1b795400fb8dfcc6cbdf0e322/distribution/packages/src/common/scripts/postinst#L56
Wouldn't a similar approach be possible for opensearch? Otherwise the Debian packages would not be usable in any container environments.

Hi,
At the moment, unfortunately, I can't see any real solution to the problem. Adjusting the systctl.d locally makes no sense from my point of view, as every update of opensearch creates/overwrites this file again. For Elasticsearch the problem was solved as follows
if command -v systemctl > /dev/null; then
    systemctl restart systemd-sysctl.service || true
fi

https://github.com/elastic/elasticsearch/blob/be7c7415627377a1b795400fb8dfcc6cbdf0e322/distribution/packages/src/common/scripts/postinst#L56
Wouldn't a similar approach be possible for opensearch? Otherwise the Debian packages would not be usable in any container environments.
Thanks!

Hi @dittertp let me take a look at it and check again.
Thanks.

Think it runs pretty well here.

Not sure if using on lxc container would actually take effect as well.

I doubt the solution is because of sysctl restart sysctl server, but rather || true.

@peterzhuamazon many thanks for the quick response and for fixing the problem!

I try to install opensearch latest version Debian bookworm and I get an error, I have also tried to install version 2.15 exactly the same problem
Setting up opensearch (2.17.1) ...
Running OpenSearch Post-Installation Script
ERROR: Something went wrong during demo configuration installation. Please see the logs in /var/log/opensearch/install_demo_configuration.log
dpkg: error processing package opensearch (--configure):
installed opensearch package post-installation script subprocess returned error exit status 1
Processing triggers for libc-bin (2.36-9+deb12u8) ...Errors were encountered while processing:  opensearch
/var/log/opensearch/install_demo_configuration.log
OpenSearch Security Demo Installer
** Warning: Do not use on production or public reachable systems **
OpenSearch install type: rpm/deb on Linux 6.1.0-26-amd64 amd64
OpenSearch config dir: /etc/opensearch/
OpenSearch config file: /etc/opensearch/opensearch.yml
OpenSearch bin dir: /usr/share/opensearch/bin/
OpenSearch lib dir: /usr/share/opensearch/lib/
Detected OpenSearch Version: 2.17.1
Detected OpenSearch Security Version: <IP_ADDRESS>
No custom admin password found. Please provide a password via the environment variable OPENSEARCH_INITIAL_ADMIN_PASSWORD.

opensearch 2.5.0 seems to work and installing Debian bookworm. Latest version 2.17.1 gives an error

opensearch 2.5.0 seems to work and installing Debian bookworm. Latest version 2.17.1 gives an error

We added ADMIN Password requirement since 2.12:
No custom admin password found. Please provide a password via the environment variable OPENSEARCH_INITIAL_ADMIN_PASSWORD.

If you are starting fresh please follow the installation guide here for 2.12 and above:
https://opensearch.org/docs/latest/install-and-configure/install-opensearch/debian/#step-1-download-and-install-opensearch
Thanks.


preserve dita domains via option

Description
This pull request adds new arguments to the HTML5 and XHTML transformations that preserve the full domain-qualified class values ($domain/$element) in the output @class attribute values.

existing arguments (on by default)

args.html5.classattr
args.xhtml.classattr

new arguments (OFF by default)

args.html5.domainattr
args.xhtml.domainattr

For example,
This is bold.

The controls are independent and can be enabled/disabled in any combination.
Motivation and Context
Oxygen XML Author uses domain-qualified CSS selectors. Preserving domain-qualified @class values in the output allows better CSS reuse between the editing and output environments.
How Has This Been Tested?
I ran the following commands:
./gradlew
./gradlew test
./gradlew integrationTest

then ran manual tests to confirm the functionality.
Type of Changes
A new Boolean $includedomain parameter is added to the get-element-ancestry templates that allow it to return results that are/are not domain-qualified. This is then called conditionally based on the value of both the "classattr" and "domainattr" arguments.
Documentation and Compatibility
When creating this change, I converted the XHTML string-appending @class attribute construction to the newer tokenization-based approach used by HTML5. However, this causes some integrationTest failures due to duplicate class values being uniquified:
Caused by: java.lang.AssertionError: Expected attribute value 'ph cmd ph' but was 'ph cmd'

I think the tokenized behavior is better, but I don't know enough to update the tests accordingly.

IMO this should be plugin, not part of the HTML5 plugin.


Return error when getting fed users for non-existent fed

What does this PR (Pull Request) do?

[x] This PR fixes #4091

Which Traffic Control components are affected by this PR?

Traffic Ops

What is the best way to verify this PR?

Run TO API tests or request users for a fed that doesnt exist. Should return 404
If this is a bug fix, what versions of Traffic Control are affected?

master
The following criteria are ALL met by this PR

[x] This PR includes tests OR I have explained why tests are unnecessary
[x] This PR includes documentation OR I have explained why documentation is unnecessary
[x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
[x] This PR includes any and all required license headers
[x] This PR ensures that database migration sequence is correct OR this PR does not include a database migration
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Additional Information

"Run TO API tests or request users for a fed that doesnt exist. Should not return 404"

Shouldn't it though?

mistype!

Without any configured federations I still get a 200 and empty array from /federations/1/users

huh can you please check you are using the new code???

Turns out I'm on mhoppa/bug/fix_fed_user_err not mhoppa/bug/fix_fed_user_error. Very confusing.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/4867/


EKF: Improve Output Predictor Tracking

DESCRIPTION
Add integral action to the output predictor position and velocity tracking to reduce the effect of acceleration aliasing and bias errors.
Publish the tracking errors to assist with diagnostics and tuning.
Retune the time constant used to track the velocity states.
TEST DATA
Plot of attitude (EST4.e1), velocity (EST4.e2) and position (EST4.e3) tracking error magnitude from a flight test with a Pixracer board. Units are rad, m/s and m respectively.

A corresponding PR has been raised on PX4/Firmware to enable data logging: https://github.com/PX4/Firmware/pull/5318
TODO:
Add back to back comparison tracking data using the tracking loops before and after the change applied to a replay log with high vibration levels.

Is this good to go in or is the TODO gating?

It's working well on my setup, however I don't have bad vibration setup at the moment to demonstrate the level of improvement. It is the same algorithm I implemented on APM here: https://github.com/ArduPilot/ardupilot/pull/4399 which you can see from the plots reduced output put tracking errors when replayed with data from a copter with high vibe levels.

I have the wingwing with pretty bad vibrations, if you want me to test something please tell me what and I will do so.

A replay log would be good.

Here is a replay log of this pr
http://logs.uaventure.com/view/DRqh5XVoNAskdGrSTpsy8f

I've rebased and tested the changes on the supplied replay log.


[Feature Request]: Custom persistent storage

Describe the problem
Using chromadb in docker environment, the collection storage is lost once docker container is brought down.
I want to persist the collections (docs, embeddings, metadata, ids) to say, azure blob storage, or, aws s3, or somewhere else.
Describe the proposed solution
While configuring the client, get the params for where to persist the data:
chroma_client = chromadb.Client(Settings(chroma_api_impl="rest",
                                        chroma_server_host="localhost",
                                        chroma_server_http_port="8000",
                                        AzureBlobStorageParams = {
                                            "connection_string": "DefaultEndpointsProtocol=https;AccountName=<account-name>;AccountKey=<account-key>;EndpointSuffix=core.windows.net",
                                            "container_name": "my-container"
                                        }
                                    ))

and under the hood, integrate specific library, azure_cli in this case.
Alternatives considered
No response
Importance
i cannot use Chroma without it
Additional Information
No response

Hi, could you elaborate more on your use case? This isn't usually how databases support storage so curious what you are trying to achieve?

@HammadB so for example I've currently deployed a chromadb container via an azure container instance.
If the instance is restarted, then all the data is lost. I want to enable persistence to say an azure blob storage so that if the container instance is restarted the data is not lost.

i need the same. could you solved???

Yes, I ended up mounting a shared storage to the container and then put the mount path as persist_directory for chroma.

@rlleshi can you help me with a mini-tutorial please

Sure. I use terraform for deployment, so here are the blocks:
Deploy ChromaDB as an Azure Container Instance:
resource "azurerm_container_group" "my_containers" {
  name                = "${local.name_prefix}Containers"
  location            = azurerm_resource_group.my_resource_group.location
  resource_group_name = azurerm_resource_group.my_resource_group.name
  ip_address_type     = "Public"
  dns_name_label      = "some_dns_name_label"
  os_type             = "Linux"

  container {
    name   = "chromadb"
    image  = "chromadb/chroma"
    cpu    = "4"
    memory = "8"

    ports {
      port     = 8000
      protocol = "TCP"
    }

    volume { # mount shared storage account as a volume
      name                 = "${local.chroma_fileshare_name}-volume"
      mount_path           = local.chroma_mount_path
      read_only            = false
      share_name           = azurerm_storage_share.file_share.name
      storage_account_name = azurerm_storage_account.my_sa.name
      storage_account_key  = azurerm_storage_account.my_sa.primary_access_key
    }

    environment_variables = {
      persist_directory = local.chroma_mount_path # if you want to specify a different mount path
    }
  }
}

Storage Account:
resource "azurerm_storage_account" "my_sa" {
  name                     = "${local.name_prefix}sa"
  resource_group_name      = azurerm_resource_group.my_resource_group.name
  location                 = azurerm_resource_group.my_resource_group.location
  account_tier             = local.account_tier
  account_replication_type = local.account_replication_type
}

File Share:
resource "azurerm_storage_share" "file_share" {
  name                 = local.chroma_fileshare_name
  storage_account_name = azurerm_storage_account.my_sa.name
  quota                = local.storage_share_quota
}

All the variables with local can be defined in a locals.tf file.

@rlleshi are you able to provide a bit more detail how you define your chromadb client once you've deployed the contained via terraform


Module for classifiers and interaction analysis

Building upon issues #4 and #5, we need a general module that explores several classification models.
Some libraries that can be explored for classification models are scikit-learn, xgboost, and catboost among others.
Other NLP based methods can also be explored for analyzing the user's preferences. These would employ the tweet text and user interaction metrics.

I can take this issue up. Can someone tell me what the inputs and outputs of the model are?

Inputs to the model are the tweet text, username of tweeter, number of existing retweets and likes. Output label is binary (1 or 0) determining whether the tweet is interesting or not to our user. These labels have been assigned in the train set based on whether has interacted (liked or retweeted) a tweet or not.

Of course, we could do generate some of our own features from these too and/or introduce more inputs (if available) to the model. That's up to you

@adiah80 had suggested collaborative ranking/clustering which is used in recommendation systems. This paper will be probably be useful to check out first
https://homes.cs.washington.edu/~tqchen/data/pdf/sigir12-p661-chen.pdf

Yeah cool. But I was thinking model output will be topic interested in. Like a multiclass classification problem

What do you think can be good outputs for our model?

Hmm but if the output is topic then labelling will be hard i guess

Oh you meant "topic interested in" as an output? Yeah, only trends are assigned topics on twitter, I think

But I think topics can be a feature in the train set. Like we can cluster the tweets in the train set and assign cluster number of the tweet as a feature. How does this sound?

Hmm yeah we could try that


Can't use this repository from gradle (maven) since some time ago.

Hi, I was using the LicenseCheck on my apps using this line in the build.gradle file:
       implementation 'com.github.google:play-licensing:-SNAPSHOT'
Since some days ago I always get the same errors:
1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':android:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':android:debugRuntimeClasspath'.
   > Could not find com.github.google:play-licensing:-SNAPSHOT.
     Searched in the following locations:
       - file:/C:/Users/****/.m2/repository/com/github/google/play-licensing/-SNAPSHOT/maven-metadata.xml
       - file:/C:/Users/****/.m2/repository/com/github/google/play-licensing/-SNAPSHOT/play-licensing--SNAPSHOT.pom
       - https://repo.maven.apache.org/maven2/com/github/google/play-licensing/-SNAPSHOT/maven-metadata.xml
       - https://repo.maven.apache.org/maven2/com/github/google/play-licensing/-SNAPSHOT/play-licensing--SNAPSHOT.pom
       - https://dl.google.com/dl/android/maven2/com/github/google/play-licensing/-SNAPSHOT/maven-metadata.xml
       - https://dl.google.com/dl/android/maven2/com/github/google/play-licensing/-SNAPSHOT/play-licensing--SNAPSHOT.pom
       - https://plugins.gradle.org/m2/com/github/google/play-licensing/-SNAPSHOT/maven-metadata.xml
       - https://plugins.gradle.org/m2/com/github/google/play-licensing/-SNAPSHOT/play-licensing--SNAPSHOT.pom
       - https://oss.sonatype.org/content/repositories/snapshots/com/github/google/play-licensing/-SNAPSHOT/maven-metadata.xml
       - https://oss.sonatype.org/content/repositories/snapshots/com/github/google/play-licensing/-SNAPSHOT/play-licensing--SNAPSHOT.pom
       - https://oss.sonatype.org/content/repositories/releases/com/github/google/play-licensing/-SNAPSHOT/maven-metadata.xml
       - https://oss.sonatype.org/content/repositories/releases/com/github/google/play-licensing/-SNAPSHOT/play-licensing--SNAPSHOT.pom
       - https://maven.google.com/com/github/google/play-licensing/-SNAPSHOT/maven-metadata.xml
       - https://maven.google.com/com/github/google/play-licensing/-SNAPSHOT/play-licensing--SNAPSHOT.pom
       - https://jitpack.io/com/github/google/play-licensing/-SNAPSHOT/maven-metadata.xml
       - https://jitpack.io/com/github/google/play-licensing/-SNAPSHOT/play-licensing--SNAPSHOT.pom
     Required by:
         project :android

I would prefer not having to download the project manually and add srcs and aidls as we have several projects that use it.
Thank you in advance.

After some tests I have decided to use the line:
implementation 'com.github.google:play-licensing:89ebdfcf52'
Linking to the "previous" working snapshot...
Can this produce problems?
Please, It would be very important to be able to use a published -SNAPSHOT maven (or jitpack.io) release.
Thanks!


Dataset only available when the trainer is instantiated

Is your feature request related to a problem? Please describe.
This is half feedback/feature request. Maybe our approach is not right be here is what we felt when trying this awesome library:
We would like to use a LightningModule in our pipelines, but we have some constraints which makes this difficult.
We have an experiment framework where we can register models (eg a LightningModule) by instantiating them. Then the framework trains the various model using some train/val/test data which is specified at runtime and generates performance reports.
Pseudo code:
class TorchModel:
  def fit(x_train, y_train, x_val, y_val):
    trainer = Trainer(...)
    trainer.fit(self.module)

models = [
  ModelA(...),
  TorchModel(module=CoolModel()),  # TorchModel is actually a wrapper which exposes a common interface to Sklearn/Keras/Torch models
]

experiment_runner = Runner(models)
experiment_runner.run(train_dataset, val_dataset, test_dataset)

Or Uber's Ludwig would do:
from ludwig.api import LudwigModel

# train a model
model_definition = {...}
model = LudwigModel(model_definition)
train_stats = model.train(training_dataframe)

Describe the solution you'd like
For us, the datasets / input tensors don't belong to the definition of the module. We understand that it improves reproducibility but it may reduce portability of models
They probably should be provided to the trainer at instantiation:
Trainer(train_dataset=..., val_dataset=...)

# And maybe
class CoolModel(pl.LightningModule):
    ...

    @pl.data_loader
    def tng_dataloader(self, dataset):
        return DataLoader(dataset, batch_size=32)

   ...

Describe alternatives you've considered
A temporary solution could be:
class TorchModel:
  def fit(x_train, y_train, x_val, y_val):
    self.module.set_train_dataset(x_train, y_train)
    self.module.set_val_dataset(x_val, y_val)
    trainer = Trainer(...)
    trainer.fit(self.module)

Additional context
Thanks for creating this library, this makes pytorch so much easier to use!

@LouisTrezzini it sounds like your experimentation framework is just the trainer... if we made this change we'd end back up with scattered non-standard code.
I'm not sure how portability would be affected? even if you did want to use your own trainer and feed your own data, then you'd probably just want to define a standard PyTorch module... CoolModel is just a nn.Module... nothing fancy about it.
But maybe I'm not understanding your use case.

Probably one of the first things that happens in trainer is to get the dataset. so, your proposal is equivalent...

**Current:**
Class Trainer(...):
     def fit():
          load_datasets # one of the first things

Proposed:
trainer(load_datasets())

Which is the same thing...

Hello @williamFalcon, thanks for your prompt answer

even if you did want to use your own trainer and feed your own data, then you'd probably just want to define a standard PyTorch module...

To reformulate, my use case would be to use your trainer and CoolModel's step methods, BUT with our own data / on multiple datasets.
How would you suggest we do this?
Thanks!

@LouisTrezzini sure. just return your own dataloader instead of MNIST. If you need multiple aggregated datasets construct a joint dataloader (https://pytorch.org/docs/stable/data.html#torch.utils.data.ConcatDataset).
Define your own data in:
@pl.data_loader
def tng_dataloader(self):
    # return your own dataloader or dataConcat

Same for val and test data. See the LightningModule  template

@LouisTrezzini did this answer your questions? if so, we can close this issue


fix misleading answer

I think everything is correct here, but I would replace "indices" with "indexes".
сс @mickaelandrieu

I think we can merge this PR.
@mbarbey thank you.


Codeclimate WIP

Fixes #374 .
Changes proposed in this PR:

I'm not sure that moving web3 functionality into classes is going to change anything

I moved those to avoid repeating code and it actually solved many
duplications code climate was throwing (around 15), from a real
maintainability point of view I think it's also useful in case there are
some big updates on the web3js library or if in the future you need to
switch to ethers for example, it would require less time.
Il giorno mar 16 mar 2021 alle ore 14:04 Alex Coseru <
@.***> ha scritto:

I'm not sure that moving web3 functionality into classes is going to
change anything
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/oceanprotocol/ocean.js/pull/654#issuecomment-800528532,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANXAUFP3BLVM6BHKPY5X3ODTD6TSTANCNFSM4ZCX37KQ
.

closing for now, this needs to be completely revisited in case somebody picks up #374 and because of merge conflicts it's easier to start with a fresh branch


Format on paste

Hi Sindre,
Awesome plugin! Thanks for this.
I often find myself copying & pasting chunks of code, and then trigger esformatter manually.
Do you think it would be doable to add a Format On Paste option?
Thanks!

Sure, PR welcome :)

This package is now deprecated.


Stop logging when the MOC does not have changes

My app logs are full of this:

Managed object context <NSManagedObjectContext: 0x1146acad0> does not have changes, not saving

It doesn't seem that useful. Consider silencing it, or making it configurable.

+1

I recommend making it configurable. It is occasionally useful when debugging, but is otherwise too noisy.

It could be nice to go a step further and make all of the logging configurable

There’s a video gag like this, of an engineer changing a lightbulb.  He’s continually distracted by yet-another-broken-thing.

On Nov 24, 2015, at 3:15 PM, Zev Eisenberg<EMAIL_ADDRESS>wrote:
https://camo.githubusercontent.com/95a53dc7793451f649a5f07f2522759a50419bbe/68747470733a2f2f696d67732e786b63642e636f6d2f636f6d6963732f7468655f67656e6572616c5f70726f626c656d2e706e67
—
Reply to this email directly or view it on GitHub https://github.com/Raizlabs/RZVinyl/issues/61#issuecomment-159392632.

I would have had this done sooner, but I had to vacuum the whole house, and that took some time because I stopped partway through to fix the short in the power cord.  I almost took apart my butane soldering iron to try and figure out why its pizo-electric sparker wasn't working, but I held myself back.  (the previous is 100% All True™)

If you give a 🐭 a 🍪…


Fix node method calls

Should fix #23? Still need to do some testing.

cannot test before sunday but the changes look good from here.


Add blockchain state validation (with signature)

TODO:

When a node produces a blockchain state it signs it or attaches a signature received from primary validator (in latter case it should validate the correctness of the signature)
Use SignableMixin, it may require nest the blockchain state into message attribute
Blockchain state validation must optionally include validation that the current primary validator has signed it (this can be learned from primary_validator_schedule and last_block_number
Also we need to be able to attach a signature from primary validator to locally generated blockchain state (and then validate) - this is because nodes will be receiving just signatures which they should validate against current blockchain state
Invalid blockchain state cannot be added to the blockchain

@dmugtasimov Ready for review https://github.com/thenewboston-developers/thenewboston-node/pull/365
This feature is implemented

Use SignableMixin, it may require nest the blockchain state into message attribute

@andbortnik great work. Thank you, merged. Please, address comments in another PR

@dmugtasimov Some refactoring https://github.com/thenewboston-developers/thenewboston-node/pull/375

@andbortnik merged, thank you

@andbortnik I got the point. We should allow for a blockchain to be not signed, but if it is signed then the signature should be valid.

Do we attach the PV signature and validate it during generate_blockchain_state?

Yes

How do we make sure that the PV has generated the signature before the moment when regular nodes ask the PV for the signature

regular node will not ask PV for the signature. it will receive the signature. and once it receives it will create the blockchain state (from its local blockchain) and validate the signature against the blockchain state. if it matches it will attach the signature to the blockchain state

Right now generate_blockchain_state is called every snapshot_period_in_blocks blocks. The PV can sign the new blockchain state. But regular nodes and CVs have to wait until they get the signature and can call generate_blockchain_state. So only PV can make a new blockchain state by schedule. Every other node should just ignore snapshot_period_in_blocks and wait for the signature. Is that right? Do we implement it in the task?

@andbortnik no, let's keep creating the snapshots as before, but only current PV adds signature to its snapshots. The other nodes just add snapshots with current PV as signer, but no signature attached. Later we will add signature attaching feature. Also we will probably treat unsigned snapshots differently (for example do not list them in API, but use just for internal performance optimization).

@dmugtasimov Please review https://github.com/thenewboston-developers/thenewboston-node/pull/405

@andbortnik merged, thank you

@andbortnik is there anything else left to do about this task? Otherwise, please, close and move to done.


true is also required for regular builds, not just "Debug -> Start Debugging" runs.

When I do not set the DisableFastUpToDateCheck property to true and press on "Build Solution" or "Build ProjectName", then Visual Studio 2019 v16.2.5 just prints the following:

========== Build: 0 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========

This means, that msbuild was not run. Howver, the documentation states, that this behavior is only expected when using "Debug -> Start Debugging".

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f1010063-a8b2-7ff9-4ad6-10eebde154c3
Version Independent ID: 1202745a-e34a-aabd-7cde-337726579377
Content: Visual Studio Integration (MSBuild)
Content Source: docs/msbuild/visual-studio-integration-msbuild.md
Product: visual-studio-windows
Technology: msbuild
GitHub Login: @Mikejo5000
Microsoft Alias: mikejo

@Science-and-Motion-Sports Thanks! I'll update the doc.


none compression for json auto not working

Hello, I am not sure if this is a BUG or a documentation problem.
According to https://duckdb.org/docs/data/json/overview

The compression type for the file. By default this will be detected automatically from the file extension (e.g., t.json.gz will use gzip, t.json will use none). Options are 'none', 'gzip', 'zstd', and 'auto'.

But when explicitly specify the value none results in a fatal error with any json
CONTENT=$(cat <<<{"whatever":1}

)
echo "$CONTENT" | duckdb -c "SELECT * FROM read_json_auto('/dev/stdin',compression='none')"

result:
'Not implemented Error: Enum value: 'NONE' not implemented'

Hi @bgadrian, thanks for reporting this. This was indeed incorrect. I submitted a fix.


What sudo rights are really needed ?

Version
pacaur 4.7.1

Description
Hello, since latest version (4.7.1), everytime pacaur builds something from AUR I have sudo errors in my logs :
Output
command not allowed ; TTY=pts/1 ; PWD=/home/xxx/.cache/pacaur/mariadb-connector-c ; USER=root ; COMMAND=/usr/bin/touch /run/lock/pacaur.build.lck

command not allowed ; TTY=pts/1 ; PWD=/home/xxx/.cache/pacaur/mariadb-connector-c ; USER=root ; COMMAND=/usr/bin/rm /run/lock/pacaur.build.lck

In the pacaur documentation, it is said : "sudo should be configured accordingly to allow sudo access". But it is not clear what command we should allow. Before pacaur 4.7.1, I only allowed /usr/bin/pacman to run as root and everything was fine, but now I have these errors.
So my questions are :
Can we have a full list of command to allow in sudoers ?
Also, is there something I need to do manually because of these errors (like cleaning) ?
Thanks for all your work !

So is it a problem with my configuration or with pacaur ?

It's you that doesn't read error message...
I'll revert the lock file to its previous location, user complaints aren't worth it.

 Take a chill pill and learn how to interact with people, please.
I read error messages, but because I didn't get them before I wanted to know if the behaviour was intended. Of course, in the meantime, I added the commands to sudoers and I have no error, but that seems weird and it is not documented.
As you said, maybe the choice of the new location was just bad ?

 Take a chill pill and learn how to interact with people, please.

Multiply newbie behavior by hundred times, and maybe, maybe you might understand why I'm fed up with people asking question instead of using common sense. This isn't a forum.

My questions were legit and I, basically, just asked for a clarification in the documentation about a new behaviour. What is wrong with this ? It is a legit issue.
I already know I can add touch and rm to sudoers, but my question was : is it normal ? Because when you use a program for a long time, changes like this, about how sudo is used, (and undocumented) seem weird.
Also, I worked for IT support so I know what it is, and clearly here the problem is not me, it is just your bad aggressive and stupid behaviour.
Regards.


[$1000] Web - "Fake" appears in invite list

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

From userA, go to Settings > Workspaces
Click on new workspace button
Go to members
Invite userB to workspace
From userB, go to workspace chat
Create a thread from whisper message
From userA, open that thread
Go to  Settings > Workspaces > members > invite

Expected Result:
Should not show fake in list
Actual Result:
Fake appears in invite list
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/ba7e2aa9-3c4e-4844-add6-031448e3f2a2
https://github.com/Expensify/App/assets/93399543/847a7c25-2535-400f-a065-92367f3c62c9
Expensify/Expensify Issue URL:
Issue reported by: @avi-shek-jha
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1692735080202229
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~019bbd884645cbfe94
Upwork Job ID:<PHONE_NUMBER>794438656
Last Price Increase: 2023-09-20

Proposal
Please state again the problem we are trying to solve in this issue.
"Fake" appears in invite list.
What is the cause of this issue?
If user A open thread from whisper message, BE returns personalDetailsList as below.

We does not filter out this account, so "fake" appears.
https://github.com/Expensify/App/blob/63a468ef5b47deed961abcda301f88acac7c021e/src/libs/OptionsListUtils.js#L786-L799
What changes do you think we should make to solve the problem?
We should filter out account whom accountID is 0 in OptionsListUtils.getOptions.
    if (personalDetailOption.accountID === 0) {
        return;
    }

What alternative solutions have you investigated? (Optional)
None.

Please state again the problem we are trying to solve in this issue.
When Create a thread from whisper message From userA, open that thread Go to Settings > Workspaces > members > invite. "Fake" appears in invite list.
What is the cause of this issue?
The reason we are getting 'fake' in our output is because somewhere in our code or data source, there are personalDetailOption objects with an alternateText property set to 'fake'.

What changes do you think we should make to solve the problem?
In the OptionsListUtils component.  if we are getting 'fake' in our output, it might be due to the fact that some of the personalDetailOption objects have this value in their alternateText property.
To avoid getting 'fake' values in our output, we should add an additional condition to check for the alternateText property in below file:
https://github.com/Expensify/App/blob/main/src/libs/OptionsListUtils.js#L786-L799
Here is the changed code:
if (includePersonalDetails) {
    // Next loop over all personal details removing any that are selectedUsers or recentChats
    _.each(allPersonalDetailsOptions, (personalDetailOption) => {
        if (_.some(loginOptionsToExclude, (loginOptionToExclude) => loginOptionToExclude.login === personalDetailOption.login)) {
            return;
        }

        const { searchText, participantsList, isChatRoom, alternateText } = personalDetailOption;
        const participantNames = getParticipantNames(participantsList);
        if (searchValue && !isSearchStringMatch(searchValue, searchText, participantNames, isChatRoom)) {
            return;
        }

        // Add a condition to skip if alternateText is '__fake__'
        if (alternateText === '__fake__') {
            return;
        }

        personalDetailsOptions.push(personalDetailOption);
        console.log(personalDetailsOptions);
    });
}

Video:- https://drive.google.com/file/d/1VXUGk4KeU-PnvSdXmYXa49E_6P3pN8V3/view?usp=sharing

Thanks Fedi! Adding internal label

@cead22 what's the next step here?

@cead22 what's the next step here?

Sorry, the next step is me looking into this but I'm currently focused on W9

@cead22 should we move this to weekly?

Yes, done

@avi-shek-jha are you still able to reproduce this?

I bumped the question in Slack

No response, I'm going to assume that this is no longer an issue and close


ARROW-13466: [R] make installation fail if Arrow C++ dependencies cannot be installed

The first commit should fail on the "without-arrow" CI build. I'll then add an env var so we can still test that setup.

@github-actions crossbow submit test-r-without-arrow


Download button on the webiste is down.

Hitting the Download button displays an amazon aws link witth an error.

This XML file does not appear to have any style information associated with it. The document tree is shown below.

AllAccessDisabled
<Message>All access to this object has been disabled</Message>
<RequestId>A22C988041EDA02A</RequestId>
<HostId>
eVi5cdt0F5MMYN9yCivKZJp/zfScXbvUZER106WNoFrrhqslulBsUA9+Axc87wgZ9kYJcHJmvM8=
</HostId>
</Error>

This probably won't be fixed as this issue have been around for more than one year. You can find another issue discussing the same thing, there they mention an install through brew. Another thing you can do is build the project yourself, or download one of the snapshot builds I've made. The link for the snapshots should be in the project description of my fork , but I don't know the status of those links, so I would recommend building it yourself or the brew install.

Thanks @Onizuka89

Everything is back now


Lists method does not exist

In GuiController at line 33:
$scaffoldList = Scaffoldinterface::all()->lists('tablename');

The lists method does not exist.

Weird !!
I think it's an Illuminate\Database\Eloquent\Model laravel bug.
please check your laravel version.

From Illuminate\Support\Collection:
@deprecated since version 5.2. Use the "pluck" method directly.
It originally was an alias for the pluck() function.


Add Table Design, Maybe?

This is a really lovely stylesheet, something that I've been trying to replicate at csprite.github.io and pegvin.github.io.
Surely will use it.
I also made a sort of template/preview here: https://codepen.io/pegvin/pen/dyqNver, using your Stylesheet.
I liked everything except that code and pre code elements aren't designed which I assume isn't the aim considering what you're trying to replicate, also the table looks very default-y? maybe add borders for that.
Lovely design overall, and No I wasn't stalking you.

I planned to design a table in a minimalist style of Phys. Rev.:

but with a bold column titles. This is intentional, to maximize data-ink ratio and to discourage using table for non-tabular data.
I've tried to style the table, but I stuck on some issues with upper border. And I found, that I need a good HTML example (with tables surrounded by continuous text), which is difficult to find. I've started to create it by myself, but I'm not happy with it.
Now I'm thinking that using some real publication will be the easiest way to verify the stylesheet. I will inform you about the progress (with tables and pre/code).
Thanks for your request. It motivates me, to return to this project.


On-Task changes to have ConfigureBios Task and Job

Made the changes and ran the Hound checks.

Every new job, new baseTask, new task should have a corresponding unit-test file, you need to complete the unit-test


Test Traefik 2.9+

We have the requirement that Quick should work with the newest version of Traefik, which currently is 2.9.5. This should be tested.

@torbsto I have destroyed the old traefik and deployed the newest version and ran the e2e tests of Quick and it seems to me that all the requests arrive to the cluster and everything works as expected. So closing this issue.