TAG-Runtime: Presentation Discussion

I'm one of the co-chairs of the CNCF TAG-Runtime, I'm reaching out and think it would be great for you to present/discuss the project at one of our meetings. An overview of the project would be great.
Let me know if this something you'd be interested in doing. If yes, please feel free to add it to our agenda or reach out to me (raravena80 at gmail.com)
Thanks!

@raravena80 We are pleased to present this project on TAG-Runtime. We plan to attend on this meeting after National Day holiday after Oct 10. I will reach out to you once the schedule is confirmed.

@jiazhang0 thanks let us kniw!

@jiazhang0 following up here. Would Dec 16th 8am PT work to present in our meeting? Thanks!

@raravena80 No problem. It is suitable for us now.


Remove JSON Schema in favor of RAML

JIRA issues: MARATHON-7978

@jdef anything else of which you're aware that we need to do for this?

isn't there a unit test (or more than one) that attempts to load the schema file and test various properties?

for example: https://github.com/mesosphere/marathon/blob/15e85e5f30c549aa975ac852597cef9de00daa67/src/test/scala/mesosphere/marathon/api/v2/json/AppDefinitionSchemaJSONTest.scala

some things to double-check:

[ ] DC/OS CLI dependency on schema (if any)
[ ] DC/OS UI dependency on schema (if any)
[ ] Marathon Java Client dependency on schema (if any)

To which endpoint are you referring?
On Wed, Dec 20, 2017 at 8:28 AM, Karsten Jeschkies<EMAIL_ADDRESS>
wrote:

@jeschkies commented on this pull request.
I generally like removing things but why can we just remove an endpoint? I
thought we don't want to break the API. What am I missing?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mesosphere/marathon/pull/5837#pullrequestreview-84761747,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACPVLD-WABmZpM9ZJtI_nFSQLkOUAxWwks5tCQuagaJpZM4RHWTF
.

I agree with @jeschkies regarding the backwards compatibility.

I agree that removing the endpoint and the schemas should be considered a breaking change, we don't know who's relying on it. We could mitigate that by redirecting to the 1.5 content on GH? 😬
However, the raml is the source of truth and AFAIK we don't even have tests that verify the compatibility between the two, so it is also questionable how much value the endpoint and the schema are actually providing.

Yes, I had all of the same concerns. It's doubtful that it is being used. In the JIRA I raised this question.
After sleeping on it for a night I feel worse about it. We should deprecate the endpoint with a flag, and then remove in a subsequent major version.

I have a follow up PR that uses the newly introduced deprecation mechanism, which will allow us to phase this out more gracefully:
https://github.com/mesosphere/marathon/pull/6280


Clarified the behavior of the Two-Stage Fallback

Proposed changes:

Clarified behavior of Two-Stage Fallback when the user denies the rephrased intent

Status (please check what you already did):

[ ] added some tests for the functionality
[x] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

Thanks for opening a draft pull request 🚀If you have any questions, you can direct them to @Ghostvv ✨


Add origin detection and compensation for joystick axes

Fixes #3802, possibly (resolves) #2854
The selected origin depends on the initial axis values, as explained on this diagram:

Deadzone detection is then adjusted accordingly be measured around the detected origin rather than around the 0 mark.

I really don't know if this is the correct direction. Sure it may work for gamepads, but it's not a universal solution and is adding more local assumptions.
If we are to do this, though, it 100% needs tests written since the math logic here is hard to parse, and is not enough to let me know the assumptions and expectations of this change. I'd hope unit tests (not visual tests) can cover each case, showing what the raw readouts should be giving for each of the three origin decisions.
Also, we should probably rename this from "raw" to "normalised" or "transposed" and also expose the raw values for consumers that don't want this post-processing.

Another idea I had would have been to implement per-controller-type joystick handler but there doesn't seem to be a way to accurately detect what controller has been connected across OSes.
Currently, the first 8 characters of the GUID are vendor and product code concatenated, so that should help, but as far as I can remember, at least for the Dualshock 4, that part of the GUID is different between Windows and Manjaro Linux, and I don't believe that a lot of specific handlers is something that would be accepted.
That could separate some of the assumptions this PR makes as it is a valid concern (might close and start from scratch depending on where this ends up going).

Honestly I would prefer to keep things simple where possible. If this change is going to cover the average cases in a way joysticks can be consumed in the way you/other framework consumers need I think it's fine.
But we do need test coverage.

Replaced by #3844 for the time being. We can reconsider this if the need comes up in the future.


Question: 5V from serial port?

Is there a reason, why we shouldnt use the 5v serial port to power our pi zero? Using this port would give me a lot more space, cause i wouldnt need a transormator.

There's been a few people who have powered their Pis from the 5V pin on the printer mainboard. See #202 and #130 for two examples of that.
That said, I have no idea how much current that pin can provide (much less if this varies between printers). So who knows how stable the Pi will be or if powering it from that pin has any side-effects to the printer. I prefer to use a buck converter personally. They're cheap and small.


Update conf.j2 for 0.10.3 defaults

For #16 I've gone through the defaults for 0.10.3 and updated/inserted all of the new default values.

Looks like knocked out #14 too


Add Nong Song

Song Name
Moon Fries
Artist Name
KingSammelot
Source
Youtube
Youtube Link
https://www.youtube.com/watch?v=2YUYTV428VI
Direct File Link
No response
Song ID
467339
Extra
Used in the level 92311421, and it's unavailable for use.

OOPS! Real song id is 1106112! Sorry!


React 0.13 support

Probably need to ditch react-a11y until it supports React 0.13.

The starterkit now installs React 0.13.1. Temporarily exclude react-a11y until they upgrade their React version.


Setup CI using OCaml CI

I've requested for the OCaml CI app to be enabled for this repo, here

Along with this, it would be nice to enable:

[ ] Branch protection on main
[ ] Prevent merge commits, enforce Rebase and merge
[ ] Require code review
[ ] Successful CI status before any merges

@shonfeder I don't seem to have the permissions to do this. Could you do this?

Added the rules! I also fixed your permissions so you should be able to do manage it in the future.

I think we have this in place now.

Added the rules! I also fixed your permissions so you should be able to do manage it in the future.

Thank you!


"waiting" on the world to change

Not to draw parallels to John Mayer with my title :stuck_out_tongue:... but what on earth are all these departures waiting for? Most in the screenshot were taxiied as much as ten minutes ago, and they just never seem to pop up at the runway ready to go.
Getting that taxi time reduced would also help with the strip organization issues brought up in #340.

I run into this at least once per session. I restate the entire command to taxi (alt, speed, runway) and they appear. They won't jump the line (they queue up as if they only just received clearance) but it gets the job done.
I've always assumed that I accidentally assigned it a fix or SID without ever directing it to taxi. But now that I see you're experiencing the same thing I'll look back at some old footage to verify that.

I have never seen aircraft order to taxi which don't end up at the runway.
However, there is an odd timing behavior which you may be running into.  If an aircraft is ordered to taxi to a runway and no aircraft is waiting then it will take 'delay' seconds plus zero to three seconds to arrive on the runway.  At SFO this means an aircraft takes from 2-5 seconds to show up after you issue a wait command.  If there is already an aircraft waiting to show up, then the delay becomes 60 seconds from the time the next aircraft appears.  Could this be the behavior which you are noticing?
This does seem backward to me, having a line of aircraft waiting for the runway should mean they are ready for takeoff much quicker than having to taxi from the apron.

The issue is probably related to that, it sounds kinda overly-complicated... But not quite even, its much more than 60s. It only happens occasionally, but when they skmrwhow get stuck like this, nobody shows up at the runway ever.
If it helps, using other runways will still work, until that one gets jammed up too. And they all seem to be getting there, because they will tell you who they're waiting behind.  Maybe it's just a problem with the first guy in line not showing up, but still being ready to go. It's just tough to figure out who is first. I suspect that if I cleared the first in line of the pileup for takeoff, the subsequent ones would continue appearing as normal, but I have yet to verify this; its just my hunch.

@erikquinn this might be related to what i found out here #105

@harp71 oooh definitely-- good catch. that will be very helpful to track down what's causing it.

Resolved by #400.


Combine Service Account to Map with Resource Type

Description:
Update the term Service Account to map with ServiceAccount Kubernetes resource type. Triggered based on https://github.com/kubernetes/website/pull/30008#discussion_r730461327.

Page preview:
https://deploy-preview-30125--kubernetes-io-main-staging.netlify.app/docs/reference/access-authn-authz/authorization/#checking-api-access

/approve


Why create_colocated_worker_cls and spawn

It seems that there are two ways to make two worker group to use the same resource pool:

Separate Workers on Same Resource Pool:

# Creates two separate worker groups sharing resources
actor_wg = RayWorkerGroup(resource_pool=resource_pool, ray_cls_with_init=actor_cls)
critic_wg = RayWorkerGroup(resource_pool=resource_pool, ray_cls_with_init=critic_cls)

Colocated Workers:

# Creates a single worker group that implements both actor and critic
cls_dict = {'actor': actor_cls, 'critic': critic_cls}
ray_cls_with_init = create_colocated_worker_cls(cls_dict)
wg_dict = RayWorkerGroup(resource_pool=resource_pool, ray_cls_with_init=ray_cls_with_init)

# Spawns interfaces to access different functionalities
spawn_wg = wg_dict.spawn(prefix_set=cls_dict.keys())

With the latest main branch of Ray package where the fix https://github.com/ray-project/ray/pull/48088 is merged, the first method should work without any problem to allow two different worker group to re-use the same GPUs. It appears that the 2nd method is not that straightforward. But the PPO implementation uses the second method to put all worker groups to the global pool. Is there any specific reason for preferring the 2nd method? Thanks.

Hi @eelxpeng , thanks for your question.
Yes, you are right that the latest branch fixed this bundle issue and we are able to implement the first case with RayResourcePool(..., max_colocate=5) to support Separate Workers on the Same Resource Pool. We'll check the functionality of the latest Ray release and update veRL accordingly.
To discuss the two methods.
The first case is particularly useful for the Megatron-LM backend. Different model may require distinct 3D parallel groups, so each model needs to be stored in a separate WorkerGroup.
On the other hand, the second case is highly efficient for the FSDP backend deployed with Colocate Placement. Colocating different models within the same set of processes can save unnecessary storage of multiple CUDA contexts for different models in different WorkerGroup Processes. This approach can save GPU memory usage.
In our initial release, the bundle issue in Ray was not fixed. As a result, we implemented PPO using the second method with RayResourcePool(..., max_colocate=1). We will make these two options selectable later once we've checked the functionality of the latest Ray release.

Thanks for the explanation. It helps a lot. And thank you and other authors for open-sourcing the package. Closing the issue.


Code quality issues

A general bug for any code-quality issues.
See https://hackmd.io/s/HJL3YGm_7 for details, add your own issues there.

Which information is provided by your link to an other content management system?

@elfring i added all the others you reported there.
https://hackmd.io/s/HJL3YGm_7 has notes, to edit, click the pencil in the top corner (illustrated here https://d.pr/free/i/yhPUcq).

(I've also fixed the permissions issue you noted before)

Or...scratch that, I just put notes on the wiki instead...
https://github.com/google/graphd/wiki/Code-cleanups

:crystal_ball: Can it be that possible adjustments need to be split between the bundled libraries for this software tool?

Can it be that possible adjustments need to be split between the bundled libraries for this software tool?

Not sure what you mean..can you elaborate a bit?

Do you know if any included software libraries come from other sources?
Will related areas need updates for affected components?

Do any additional software maintainers need to get informed about mentioned update candidates?

Do any additional software maintainers need to get informed about mentioned update candidates?

I'm sorry I'm having a really hard time understanding your questions.. ;)
If you're asking if other parties other than the maintainers of THIS software need to be informed, clearly not, since this software has never been public before..? This repo is brand new.

This repo is brand new.

This view can be clear according to the commit log here while more background information can be considered, can't it?
This software is using library names which can be found also for other development approaches. I guess that it is a general challenge to distinguish better between them.

This software is using library names which can be found also for other development approaches. I guess that it is a general challenge to distinguish better between them.

Can you give me an example? In any case I dont think it matters...the code here is all self-contained, there are no external dependencies.

i dont think we care about this anymore, we can re-open later if it comes back up.


Flight.allInfo() has been remodeled!

Update Rocket class:

Some changes in the addFins() function to allow Fin analysis in the flight class
Inertia details now prints data using .format options

Several changes in Flight class:

Flight.allInfo () has been separated into 12 other functions, now we can plot specific graphics more freely. However, Flight.allInfo () still exists and still works as usual.
Some changes in what is printed by the functions, numerical and graphic information. Better axis limits for various graphs. Added some prints for the Burn Out Time.
Added a function capable of estimating the critical speed of fin flutter.
Added a new attribute: thrustToWeight, it is defined as the ratio between the thrust force of the motor and the weight of the rocket
Added a function that allows you to export pressure signals to an external file, I hope it will be useful for the Eletronics Subsystem team.
Important: There are now two more parameters to be used as the rail length! The "effective1RL" represents the distance between the upper rail button and the top of the launch rail.

@giovaniceotto , I have finished all your requests!!
Am I supposed to ask a "pull request" again? Or is there another way to proceed?


Can't play album list

After selecting a song to play it plays correctly, but instead of continue playing the next song on the list that this plugin is showing, it continues playing from the last song I played on the Spotify GUI.
Is there a way to make it to continue playing the list that is displayed on this VIM plugin?
I'm using Ubuntu 14.04.

This is a shortcoming of how the track is launched on Linux using "spotify " system call. On OSX you can use applescript to execute a song play in context of an album. If you can work out a way of doing this with a plain system call then it can be done. Sorry took so long to get back.


Update podspec on cocoapods

Describe
Hi, it would be great if someone can update the podspec to the latest version on cocoapods
https://github.com/CocoaPods/Specs/blob/master/Specs/9/b/d/Connectivity/5.0.0/Connectivity.podspec.json
Thanks!

Hi @orenidan - thanks for letting me know about this. Unfortunately there's an issue with Cocoapods itself currently which prevents pushing new podspecs:
https://github.com/CocoaPods/CocoaPods/issues/11547
I'm not aware of a workaround just yet.

Update: @orenidan I've worked around the issue and you should find the latest version published on Cocoapods now.

Thank you 🙏


Integration Helm operator with quay.io

From Intercom:

We are running kubernetes, and we wanted to use Helm App Registories on quay, as announced here:
https://coreos.com/blog/quay-application-registry-for-kubernetes.html
So we pushed our helm chart to this repo:
https://quay.io/application/[org]/[app]
However now we need to be able to download this chart.
That leads to the questions:

Where is the root of the App Repository?
How do we authentica (Should we use Robots?)
How do we set this up with Flux and the flux-helm-operator.

We’re trying to use HelmRelease CDR’s in our k8s cluster, that point to the Helm App Repo.
However its not working, like the way we want:
https://github.com/weaveworks/flux/blob/master/site/helm-integration.md#authentication
Currently we’re getting errors:
[flux-helm-operator-6cdbc96c5c-wfgft] ts=2019-01-15T15:06:13.596946245Z caller=chartsync.go:340 component=chartsync info=“chart download failed” releaseName=... resource=default:helmrelease/... err=“Looks like “https://quay.io/cnr/api/v1/packages/...” is not a valid chart repository or cannot be reached: Failed to fetch https://quay.io/cnr/api/v1/packages/.../index.yaml : 403 Forbidden”

App Registry does not appear to be very active or widespread: https://github.com/app-registry/spec (two maintainers, both from CoreOS; last commit Oct 2017).

Helm v3 supports Docker Registry v2 for charts. We will be looking into support that instead of Quay App Registry.


Add include directory to clang-tidy

Enable clang-tidy on all files in include directory. This is helpful to keep code clean and also self-sufficient header files. (Related to #24676)

This PR is causing breakages internally - http://sponge2/faaba52d-998d-4c41-864a-ece8a7a252e1


consul: 0.7.5 -> 0.8.5

Motivation for this change
Version update

consul: 0.7.5 -> 0.8.5
consul-alerts: 0.3.3 -> 0.5.0
consul-alerts: added explicit --log-level, it fails to start without
consul service: removed legacy option 'leaveOnStop', since 0.7 it can be set in 'extraConfig'
consul service: removed insecure and useless option 'dropPrivileges' which allowed to run consul daemon as root

Things done

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

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I am not happy with restartTriggers logic, it would be better to send SIGHUP to the daemon.

LGTM. One thing to consider is that removing options is a breaking change. For convenience, you could add corresponding mkRemovedOptionModules. (I don't personally care too much in this case, but something to think about in general).

my consul service diverged from this one too much.


Prometheus operator doesn't get CPU/memory metrics

@howardjohn commented on Sat May 11 2019
Installed prom operator, and see that dashboards show some stuff, but missing others -- specifically CPU is missing.
Grafana queries for irate(process_cpu_seconds_total{job="pilot"}[1m])
But prometheus gets metrics like:
process_cpu_seconds_total{endpoint="http-monitoring",instance="<IP_ADDRESS>:15014",job="istio-pilot",namespace="istio-control",pod="istio-pilot-5f477dfd7b-csffx",service="istio-pilot"}
The fix isn't that hard but we need to make sure it works for operator and not operator. Probably we update the job name for not operator + grafana dashboard?

@howardjohn commented on Mon May 13 2019
Doug if you are busy one of us can make the change, just want your insight on best solution

@douglas-reid commented on Mon May 13 2019
What's missing is the servicemonitors for k8s resources. not clear if Istio should own that or not.

@howardjohn commented on Mon May 13 2019
It seems we do have these? Or is kubernetes-pods-monitor something different? My opinion is anything in the dashboards should work out of the box (even if its a values option) with the operator

@douglas-reid commented on Mon May 13 2019
That is distinct.  For CPU, etc., you need the service monitors that mirror the cAdvisor stuff: https://github.com/istio/istio/blob/master/install/kubernetes/helm/istio/charts/prometheus/templates/configmap.yaml#L180-L209.
See also: https://github.com/coreos/prometheus-operator/issues/1686#issuecomment-407676698
I think this is the missing piece: https://github.com/coreos/kube-prometheus/blob/master/manifests/prometheus-serviceMonitorKubelet.yaml

@howardjohn commented on Wed May 15 2019

Endpoint
State
Labels
Last Scrape
Scrape Duration
Error

https://<IP_ADDRESS>:10250/metrics/cadvisor
DOWN
endpoint="https-metrics" instance="<IP_ADDRESS>:10250" namespace="kube-system"node="gke-howardjohn-istio-default-pool-d71c7ad1-z8m7" service="istio-kubelet"
26.427s ago
10s
Get https://<IP_ADDRESS>:10250/metrics/cadvisor: context deadline exceeded

https://<IP_ADDRESS>:10250/metrics/cadvisor
DOWN
endpoint="https-metrics" instance="<IP_ADDRESS>:10250" namespace="kube-system"node="gke-howardjohn-istio-default-pool-d71c7ad1-pw77" service="istio-kubelet"
37.636s ago
10s
Get https://<IP_ADDRESS>:10250/metrics/cadvisor: context deadline exceeded

https://<IP_ADDRESS>:10250/metrics/cadvisor
DOWN
endpoint="https-metrics" instance="<IP_ADDRESS>:10250" namespace="kube-system"node="gke-howardjohn-istio-default-pool-d71c7ad1-fflb" service="kubelet"
28.412s ago
5.398ms
server returned HTTP status 403 Forbidden

https://<IP_ADDRESS>:10250/metrics/cadvisor
DOWN
endpoint="https-metrics" instance="<IP_ADDRESS>:10250" namespace="kube-system"node="gke-howardjohn-istio-default-pool-d71c7ad1-z8m7" service="kubelet"
26.629s ago
3.62ms
server returned HTTP status 403 Forbidden

{{- if .Values.prometheus.createKubeletMonitor }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: kubelet-monitor
  namespace: {{ .Release.Namespace }}
  labels:
    monitoring: kubelet
    release: {{ .Release.Name }}
spec:
  endpoints:
  -
    honorLabels: true
    interval: 30s
    metricRelabelings:
    - action: labelmap
      regex: __meta_kubernetes_node_label_(.+)
    - targetLabel: __address__
      replacement: kubernetes.default.svc:443
    - sourceLabels: [__meta_kubernetes_node_name]
      regex: (.+)
      targetLabel: __metrics_path__
      replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
    path: /metrics/cadvisor
    port: https-metrics
    scheme: https
    tlsConfig:
      caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
  jobLabel: kubernetes-cadvisor
  namespaceSelector:
    any: true
  selector:
    matchExpressions:
      - {key: istio-prometheus-ignore, operator: DoesNotExist}
{{- end }}

@douglas-reid trying to get it set up to match https://github.com/istio/istio/blob/master/install/kubernetes/helm/istio/charts/prometheus/templates/configmap.yaml#L180-L209 but having some difficulties. Seems like we don't have permission?
Any ideas?

@douglas-reid commented on Wed May 15 2019
Probably something to do with the token stuff (for instance, I bet that secret doesn't exist in your Prom instance). I can help troubleshoot after I finish some other stuff.

@howardjohn commented on Wed May 15 2019
@douglas-reid the bearerTokenFile does seem to exist in prometheus. Maybe it is invalid, but looks good to me (base64 decoded):
{"alg":"RS256","kid":""}{"iss":"kubernetes/serviceaccount","kubernetes.io/serviceaccount/namespace":"istio-prometheus","kubernetes.io/serviceaccount/secret.name":"prometheus-token-5729x","kubernetes.io/serviceaccount/service-account.name":"prometheus","kubernetes.io/serviceaccount/service-account.uid":"6a0299cf-7697-11e9-b9f2-42010a800026","sub":"system:serviceaccount:istio-prometheus:prometheus"}SOMEBINARYDATA

I have the prometheus service account too

@douglas-reid commented on Wed May 15 2019
Well, that's surprising. Needs more investigation, I suppose.

@howardjohn commented on Wed May 15 2019
@douglas-reid I added a wip PR with what I have now https://github.com/istio/installer/pull/174
If you want my exact setup, https://github.com/istio/tools/pull/122 then run
SMALL_INSTALL=1 DNS_DOMAIN=howardjohn.qualistio.org ./setup_istio_new_installer.sh gcr.io/istio-release master-latest-daily from perf/istio-install folder.

@howardjohn commented on Wed May 15 2019
@douglas-reid I got a little closer maybe. I manually curled with the bear token I pasted above and get
"message": "forbidden: User \"system:serviceaccount:istio-prometheus:prometheus\" cannot get path \"/metrics/cadvisor\": no RBAC policy matched",

Then i updated the role to allow /metrics/cadvisor URl, and it works, but I was querying metrics-server not kubelet so it doesn't actually have the metrics.
From what I ahve seen I need to hit the node IP address instead, but when I do that I get
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 10250 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to <IP_ADDRESS>:10250
* stopped the pause stream!
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to <IP_ADDRESS>:10250

@douglas-reid commented on Wed May 15 2019
What if we stop trying to use any tokens whatsoever?  Would that be easier?
Otherwise, we probably need to figure out what the kube-prom setup is doing differently.

@howardjohn commented on Wed May 15 2019
I get the same problem without passing the token

@howardjohn commented on Wed May 15 2019
Adding - nodes/metrics seems to fix (at least partially)

@howardjohn commented on Wed May 15 2019
More issues -- go_goroutines{job="pilot"} fails because prometheus reports go_goroutines{job="istio-pilot"}
pilot_xds_write_timeout, etc stats are also using the wrong job.
Its not clear to me what the job means and why its wrong in all of these metrics @douglas-reid

@douglas-reid commented on Wed May 15 2019
IIUC, the job stuff is taken from the name of the service when using ServiceMonitors, so yes, this would likely be different than the previous job names (which were taken directly from prom config).

Is there a workaround for this issue right now?
I'm trying to have cAdvisor metrics be reported to Prometheus though it isn't starting up as mentioned here, though the error appears to be different to whats shown in the Targets' error column: 401 instead of 403. I've installed prometheus from its helm chart.
![Uploading Screenshot 2019-05-27 at 5.44.39 PM.png…](Kubelet status)

Fixed, via https://github.com/istio/installer/pull/203.


Redstone conduits dont update properly

When using redstone(dust) together with redstone conduits of insulated redstone conduits, afters unpowering the redstone(dust) the conduits stay powered until you manually give it a block update. might be related to #2740 but not sure considering that one was fixed??
#### What happens:
The conduit does not update properly
#### What you expected to happen:
For the conduit to update properly
#### Steps to reproduce:

Place a redstone line
Connect a redstone conduit or Insulated redstone conduit to it
Power the redstone line(not the conduit)
Unpower the redstone line

#### Affected Versions:
Minecraft 1.7.10
Forge mod loader <IP_ADDRESS>6-1.7.10
EnderIO 1.7.10-<IP_ADDRESS>5
EnderCore 1.7.10-<IP_ADDRESS>

Getting (I assume) the same issue on my 1.10.2 server.
In my case I'm trying to power a row of adjacent redstone lamps with a row of insulated redstone conduits, all set to different colours, and all powered by a line of redstone connected to a redstone block (to be replaced with a daylight sensor eventually).
When breaking the redstone at the start, not all lamps turn off. Most do, some don't. Repeating this process seems to have the same result with the same lamps misbehaving.
I haven't tested it with a real line of lamps yet, in my test I've made a 15x15 "diamond" that I'm trying to power, but the effect should be the same.
Can provide screenshots tomorrow if wanted.

Has this been fixed, or was this closed for other reasons?
Last time I checked the issue was still very much there, and I don't see a commit related to this issue,  although I might be overlooking it.

I batch-closed all 1.7 tickets because there will be no new release for 1.7.

Ah. Should I make a new ticket for this issue on 1.10.2 then?

As the redstone conduit code is completely different between 1.7 and 1.10, that'd make sense...

BTW, I just tried the setup from above with the current version and cannot reproduce the problem.


how to save a batch results?

I get a wifiScanResults which contains many access point informaction, and want to save them into the sqlite database with litepal with the following codes.
But something interesting happens, only the last one of the batch results is correctly saved. The others are lost , however, "wifiTable.isSaved()" returns true during the for loop.
for(ScanResult result : wifiScanResults){
wifiTable.setSsid(result.SSID);
wifiTable.setBssid(result.BSSID);
wifiTable.setRssi(result.level);
wifiTable.setCapbility(result.capabilities);
wifiTable.setFrequency(result.frequency);
wifiTable.save();
Log.e(tag,"wifiTable is saved :"+ wifiTable.isSaved());
}

problem has been solved.   the code  written above is wrong.
the following ones works:
for(ScanResult result : wifiScanResults){
wifiInfoTable wifiTable = new wifiInfoTable();
wifiTable.setSsid(result.SSID);
wifiTable.setBssid(result.BSSID);
wifiTable.setRssi(result.level);
wifiTable.setCapbility(result.capabilities);
wifiTable.setFrequency(result.frequency);
wifiTable.save();
Log.e(tag,"wifiTable is saved :"+ wifiTable.isSaved());
}


Introduce documentation

The project needs documentation. I have some alternatives for how to organize the documentation url and repository-wise:

Hosted at https://kubearchive.github.io/, documentation lives between the repositories kubearchive.github.io (pulls kubearchive) and kubearchive (where the docs live).
Hosted at https://kubearchive.github.io/, all documentation lives on the kubearchive.github.io repository.
Hosted at https://kubearchive.github.io/kubearchive, all documentation lives on the kubearchive repository.

The kubearchive.github.io repository is needed to host at root level (/) on https://kubearchive.github.io/ . However that complicates a little the setup if we want to keep the code and the documentation on the same repository (kubearchive). The dual repository complicates the release, as the kubearchive repository will need to schedule a workflow in the kubearchive.github.io repository to generate the site.
I think the option 3 is the way to go, as we keep documentation in the same repository as code, reducing complexity and the only thing bad thing is that we show the documentation on https://kubearchive.github.io/kubearchive/ instead.
What do you think?

I don't understand the differences between the options.

I don't understand the differences between the options.

The difference is between having one or two repositories to manage the documentation and having to serve the documentation in https://kubearchive.github.io/ vs serving it under https://kubearchive.github.io/kubearchive.


Doubt

Is the coupon code generated unique?

I have no guarantees that the coupon will be unique, however, there should be sufficiently many possibilities that you'll be okay unless you're generating millions and billions of them.
Anyway, ascertaining that each one is unique should be the work of your database or datastore. If inserting into the database, you'll want a unique constraint on that column to make sure each is unique. If the store fails due to a copy being inserted, then you'll have to re-generate and try again.


Difference with machine/packrat parsers and captures

Without captures, a repetition operator has the same behavior with the packrat and machine parsers:
>>> import pe
>>> pe.match('"a"+', 'aaa', parser="packrat")
<Match object; span=(0, 3), match='aaa'>
>>> pe.match('"a"+', 'aaa', parser="machine")
<Match object; span=(0, 3), match='aaa'>

But when captures are used, they differ:
>>> pe.match('~"a"+', 'aaa', parser="packrat")
<Match object; span=(0, 3), match='aaa'>
>>> pe.match('~"a"+', 'aaa', parser="machine")
<Match object; span=(0, 1), match='a'>

This issue only affects the cython machine parser. The issue is that repetitions with non-zero minimum occurrences reuse the parsing instruction object for each occurrence (below, pis is a list of parsing instructions):
https://github.com/goodmami/pe/blob/41676575ac4b8728f1fdce507099e9d4f166fb17/pe/_cy_machine.pyx#L405-L408
When the capture modifies the instruction to mark the start of a capture, it marks all of them. The Python machine parser is not susceptible to this bug because it uses immutable tuples instead of Instruction objects (at least for now).


Adds verify-helm-docs.sh and update-helm-docs.sh scripts. Verify helm-docs during lint

/assign @SgtCoDFish
This PR adds a scripts, run at make lint, which verifies that the helm chart README.md file is kept up to date.
An update script is also added which will update the helm chart README.md.

Moved to https://github.com/cert-manager/trust/pull/28
/close


Load shading with Zuul

Zuul documentation say that Netflix uses it for load shading(throttling)  however no where I am able to find how to configure load shading limits for my service.
Can anyone point me to the code samples or the documentation that explains how to achieve throttling with Zuul?
Thanks
SS

marking


getpooled function is unexpected

const Child = () => {
  const [ setRef ] = useIntersectionObserver(() => {}, { root: document.body });

  return

}

function App() {
  return (

      <Child />
      <Child />

  );
}

Expected behavior

the observer instance create in first child would be reuse in second child
Current behavior

two child create two observer instance

@saitonakamura would you happen to have time to have a look?

Yeah, i will


Make the function local to the script

Stop the implementation from leaking out of the script.
cpoptions needs to be set and restored because <SID> would break if the < flag is present in cpoptions when the script is run.
Feel free to oppose this one if you don't feel that it's appropriate.

Good point, there is no reason for ParagraphMove to be accessible outside of this plugin!


Add machine pool logic

Addition of some machine pool logic, which validates machine pool (replica) node count --but does not currently validate name, taint or labels
constructs the payload and executes
Closes #
Verification Steps

Do x
Do y

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation change
[ ] Other (please specify)

I've seen the demo of this working end to end. Thanks for the great work @dimakis
I'll let other experienced in the codebase have a look at the code.

Thanks a million for your great and thorough help on this. Always a pleasure working with you 😁


Can not package MQTTnet into a .NET Core 3.1 library.

Describe the bug
My requirement is to provide MQTT services in a dynamically loadable / unloadable assembly plug-in.
Which project is your bug related to?

ManagedClient

To Reproduce
Steps to reproduce the behavior:

Using this version of Managed MQTTnet 3.0.15
Create a .NET Core 3.1 Library project and add Managed MQTTnet 3.0.15.
Create a .NET Core 3.1 Console application and consume the above library project.
The code will not function without the library project being defined as a Console application with a main().

Expected behavior
Expected the ability to package MQTT functionality into a Library and consume it elsewhere.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context / logging
Add any other context about the problem here.
Include debugging or logging information here:
\\ Put your logging output here.

Code example
Please provide full code examples below where possible to make it easier for the developers to check your issues.
\\ Put your code here.

I assume the issue is solved.


[FEATURE] Create sponsors, partners and volunteers section

Summary
na
Description
na
Use Case
No response
Alternatives
No response
Affected Area
Frontend

Working on this


ref is called after componentDidUpdate?

Summary:
ref is called after componentDidUpdate
Steps to reproduce:

Attach a ref in any component in the children of the modal
The componentDidUpdate will get called before ref get attached to any children of the modal.

Expected behavior:
ref should get attached before componentDidUpdate
Additional notes:
I created a couple codepens to further explain this issue.
This codepen will reproduce this bug. Simply open the console, and click the Trigger Modal button. You should see two log messages, "componentDidUpdate" and follow by a "attach ref".
This codepen will show a normal react lift cycle if I remove change the Modal component to a div. When you click Trigger Modal button, you should see two "attach ref" follow by a "componentDidUpdate" after clicking the Tigger Modal button.
This codepen is a workaround I discovered. Open up the console, and click Tigger Modal, then click the number button. You should see two "attach ref" follow by a "componentDidUpdate" after clicking the number button.
Basically, if you can handle all the state and update in a component without declaring as the direct children of Modal, then you can create another component to wrap around all the logic, and put that component as the child of the Modal component.
I think this behavior would surprise a lot of people if they need the correct sequence of attaching ref and componentDidUpdate. I skimmed through the source a little bit, and I think it's likely relate to how ModalPortal get created. I think at the very least this needs to be either documented or fixed.

Just got burned by this as well.

Yes this doesn't seem like the behavior one would expect, +1

@stevenguh @griffinmichl @MrRacoon @micdah and everyone.
This is the "expected" behavior when you create a closed Modal (note that at this point the ModalPortal is not rendered, so no refs yet).
The lifecycle is actually correct. On the class Example, the refs will be built after the update, since the ModalPortal will be mounted after this update. Your ModalContent wrapper works as expected, because the refs are local to the this class.
Hope now it's explained why it works this way.

@outdooricon Oh my...That was the worst explanation 🤦♂ .
Ref: Adding a Ref to a DOM Element
ModalPortal.js#L301
This line will prevent any children from been mounted on the react tree, so if the modal is closed the ref callback won't be called, only when the modal is open.

I'm still really unclear how to solve this.  I want the close button to be focused as soon as the modal opens.  Can someone provide an example as to how to accomplish this?  I've tried callinghandleOpenModal() and that still seems to happen before my ref has been set.

Totally agreed @stevenguh. I had the same problem.
Issue : ref in componentDidUpdate is ref of element of "render before", not the "updated render". It's a bug

+1
@erin-doyle any update?

@ysz this is not my library so no update from me.  IIRC in the project where I was using this I ended up having to set:
shouldFocusAfterRender={true}
shouldReturnFocusAfterClose={false}
I gave up trying to set focus to anything specific within the modal when it opens and had to add code managing focus explicitly on onRequestClose to make sure the focus returns to the corrrect location when the modal closes.


Use specified branch of arrow-rs with workaround to invalid offset buffers from Java Arrow

What is the problem the feature request solves?
To unblock #212, as per discussion with @andygrove, I will go to use a branch of  my forked arrow-rs repo to add a workaround at Rust code that accepts the invalid offset buffers passed from Java Arrow. It is hacky and the buffer is invalid, but without that we cannot easily move forward because the Java Arrow issue.
Describe the potential solution
No response
Additional context
No response

The branch is created at https://github.com/viirya/arrow-rs/tree/workaround_java_offset_bufs

And DataFusion branch uses the branch of arrow-rs: https://github.com/viirya/arrow-datafusion/tree/workaround_java_offset_


Add openrazer

There was a failed effort to create an akmod spec and build for openrazer over at their official build on OBS
https://github.com/openrazer/OBS-packaging/pull/8
We could probably pickup the contributed akmod spec file and build it in COPR then it would be easy to add here with our new akmods flow.
It is a bit more commitment than just using existing akmods though.

https://openrazer.github.io/

As it stands today, this would require copying the prototype spec from OBS packaging branch above to our own repo for maintenance), building probably done in COPR (or whatever we choose ublue-os specific RPM repo).
After that, we could then build the akmod in this akmods project like others.
See #26 for related idea.


setlocal nobackup security fix affects all buffers

With the implementation of #14, having any suda:// buffer will globally set nobackup. This is because backup is global only and cannot be set buffer-local, and setlocal is the same as set when used with global options.
The more user-friendly way to do this would be to set nobackup as required before writing a suda:// scheme buffer, and restore it to the previously set value afterward.

I see. I'll fix that.

For the record, I was incorrect. Removing setlocal nobackup was the correct choice of action. Even if backup is set, suda will not save a backup file if using sudo to write—nor will it with :write since it saves to a new filename every time.


Cleans up InternalElasticsearchClient and fixes aggregation bug

This cleans up InternalElasticsearchClient in preparation of
Elasticsearch 5 work.
Formerly, the client implementation was required to search the response
of a request for specific paths of aggregation bucket keys. This
required an intermediary to allow the same response to be read for two
paths. Since implementations are trusted, the change is that we search
for "any" bucket keys. This is simpler to test and requires less
coordination.
On that note, there was a bug in the aggregation logic, where annotation
aggregations weren't treated as nested. This fixes the bug and rewrites
the test to expose it in the future.
In order to plug-in a different span indexer, I needed to re-organize
that code. Now, there's a BulkSpanIndexer type which can be exteded as
needed.
See #1312

cc @openzipkin/elasticsearch ps this is net less main code, the increase in lines is due to backfilling tests on the aggregation bucket code which has a bug


Doesn't work with Quora

Am I using it correctly?  This works for many sites, but unfortunately, it doesn't with Quora.
Try copying and pasting the following into an HTML file:
<html>
<script type="module" src="https://unpkg.com/x-frame-bypass"></script>
<iframe name="Framename" sandbox="allow-forms allow-scripts" is="x-frame-bypass" src="https://www.quora.com/Why-don-t-people-take-INTJ-advice" frameborder="0" style="width: 100%; height: 500px;"> </iframe>
</html>

It works for me:

That said, it reloads after a while. This is due to some JS code on that page, which I cannot modify.


Release artifacts for release v0.2.0

Release Notes Draft:

Unit tests for all resources currently included in pkg/resource
Helm image is updated to be Helm 3.7 compatible #119

⚠ Breaking Change Helm versions < 3.7 are no longer compatible

Update ACK Runtime from 0.14.0 to 0.15.1 #120

⚠ Breaking Change aws-account-id can no longer be set and has been removed from the charts.
Please refer to https://github.com/aws-controllers-k8s/runtime/releases for a detailed list of changes

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/lgtm


Window not defined in vue/entry-client

I cloned this repo to try out the Vue example.
Installed all the packages defined in package.json and was wondering why it didn't work out of the box.
The first error is this:

So I went into vue/src/main.ts and changed import viteSSR, { ClientOnly } from 'vite-ssr' to import viteSSR, { ClientOnly } from 'vite-ssr/vue'.
Now the server starts but upon visiting localhost:1337 I get this:

How shall I fix this?
Thank you.

@PascalAOMS Can you downgrade to<EMAIL_ADDRESS>I haven't had the chance yet to check 2.8 and it looks like something is not backwards compatible. I guess you used a package manager differnt from Yarn, right? Otherwise it should have respected yarn.lock.

Thank you for the quick response.
Oh wow, it worked with Yarn using the correct lock file.
Appreciate your help.

https://github.com/frandiox/vite-ssr/discussions/143#discussioncomment-2294141
I just made a fix for vite 2.8.x. Can you check it out?

I got the same error.
/node_modules/vite-ssr/vue/entry-client.js:24
ReferenceError: window is not defined


baz-v8

/run-performance-comparison
exampleAppName: helm-deployment # helm-deployment, microservices, etc.
exampleSrcFile: main.go # main.go, leeroy-app/app.go, etc.
commentText: //per-dev-iteration-comment # go/js: //comment, python: #comment, etc.
devIterations: 2 # number of dev iterations to run per binary
#firstSkaffoldFlags: "--build-concurrency=0" # NOTE: only supports one flag
#secondSkaffoldFlags: "--build-concurrency=1" # NOTE: only supports one flag

invalid comment, shouldn't start the test (no rocket emoji :( )


Add <engines> tests

Proposed Changes
This adds test cases along the lines of what we defined here.
Checklist
To ensure you provided everything we need to look at your PR:

[x] Brief textual description of the changes present
[ ] Visual demo attached
[ ] Steps to try out present, i.e. using the @bpmn-io/sr tool
[x] Related issue linked via Closes {LINK_TO_ISSUE} or Related to {LINK_TO_ISSUE}

Thank you. Merging into my feature branch.


[BUG] Long sequence parallelism (Ulysses) got error list index out of range

Describe the bug
test ulysses got error list index out of range
To Reproduce
test ulysses with test_ulysses.py
torchrun  --nproc_per_node=8 test_ulysses.py
Expected behavior
work fine
ds_report output
collect2: error: ld returned 1 exit status
gds .................... [NO] ....... [NO]
transformer_inference .. [NO] ....... [OKAY]
inference_core_ops ..... [NO] ....... [OKAY]
cutlass_ops ............ [NO] ....... [OKAY]
quantizer .............. [NO] ....... [OKAY]
ragged_device_ops ...... [NO] ....... [OKAY]
ragged_ops ............. [NO] ....... [OKAY]
random_ltd ............. [NO] ....... [OKAY]
 [WARNING]  sparse_attn requires a torch version >= 1.5 and < 2.0 but detected 2.3
 [WARNING]  using untested triton version (2.3.0), only 1.0.0 is known to be compatible
sparse_attn ............ [NO] ....... [NO]
spatial_inference ...... [NO] ....... [OKAY]
transformer ............ [NO] ....... [OKAY]
stochastic_transformer . [NO] ....... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/opt/conda/lib/python3.10/site-packages/torch']
torch version .................... 2.3.0+cu121
deepspeed install path ........... ['/opt/conda/lib/python3.10/site-packages/deepspeed']
deepspeed info ................... 0.15.2, unknown, unknown
torch cuda version ............... 12.1
torch hip version ................ None
nvcc version ..................... 12.1
deepspeed wheel compiled w. ...... torch 2.3, cuda 12.1
shared memory (/dev/shm) size .... 100.00 GB

Screenshots
got error: list index out of range
[rank6]: Traceback (most recent call last):
[rank6]:   File "/data1/nfs15/nfs/zhanglei335/mlsys/train/long-context-train/llm-train/uly_sp_test.py", line 166, in <module>
[rank6]:     get_loss(model, data_loader, DS_CONFIG)
[rank6]:   File "/data1/nfs15/nfs/zhanglei335/mlsys/train/long-context-train/llm-train/uly_sp_test.py", line 112, in get_loss
[rank6]:     model, _, _, _ = deepspeed.initialize(model=model,
[rank6]:   File "/opt/conda/lib/python3.10/site-packages/deepspeed/__init__.py", line 193, in initialize
[rank6]:     engine = DeepSpeedEngine(args=args,
[rank6]:   File "/opt/conda/lib/python3.10/site-packages/deepspeed/runtime/engine.py", line 269, in __init__
[rank6]:     self._configure_distributed_model(model)
[rank6]:   File "/opt/conda/lib/python3.10/site-packages/deepspeed/runtime/engine.py", line 1188, in _configure_distributed_model
[rank6]:     self.data_parallel_group = groups._get_data_parallel_group()
[rank6]:   File "/opt/conda/lib/python3.10/site-packages/deepspeed/utils/groups.py", line 405, in _get_data_parallel_group
[rank6]:     return mesh_device.get_group(mesh_dim="data_parallel")
[rank6]:   File "/opt/conda/lib/python3.10/site-packages/torch/distributed/device_mesh.py", line 423, in get_group
[rank6]:     _find_pg_by_ranks_and_tag(*self._dim_group_infos[mesh_dim][:2])
[rank6]: IndexError: list index out of range
[rank7]: Traceback (most recent call last):
[rank7]:   File "/data1/nfs15/nfs/zhanglei335/mlsys/train/long-context-train/llm-train/uly_sp_test.py", line 166, in <module>
[rank7]:     get_loss(model, data_loader, DS_CONFIG)
[rank7]:   File "/data1/nfs15/nfs/zhanglei335/mlsys/train/long-context-train/llm-train/uly_sp_test.py", line 112, in get_loss
[rank7]:     model, _, _, _ = deepspeed.initialize(model=model,
[rank7]:   File "/opt/conda/lib/python3.10/site-packages/deepspeed/__init__.py", line 193, in initialize
[rank7]:     engine = DeepSpeedEngine(args=args,
[rank7]:   File "/opt/conda/lib/python3.10/site-packages/deepspeed/runtime/engine.py", line 269, in __init__
[rank7]:     self._configure_distributed_model(model)
[rank7]:   File "/opt/conda/lib/python3.10/site-packages/deepspeed/runtime/engine.py", line 1188, in _configure_distributed_model
[rank7]:     self.data_parallel_group = groups._get_data_parallel_group()
[rank7]:   File "/opt/conda/lib/python3.10/site-packages/deepspeed/utils/groups.py", line 405, in _get_data_parallel_group
[rank7]:     return mesh_device.get_group(mesh_dim="data_parallel")
[rank7]:   File "/opt/conda/lib/python3.10/site-packages/torch/distributed/device_mesh.py", line 423, in get_group
[rank7]:     _find_pg_by_ranks_and_tag(*self._dim_group_infos[mesh_dim][:2])
[rank7]: IndexError: list index out of range

Launcher context
Are you launching your experiment with the deepspeed launcher, MPI, or something else?

I think that we should make a bit modification to line 39~50 of test_ulysses.py like below. Because the new version of deepspeed acquires sub_group_size,  stage3_prefetch_bucket_size, stage3_max_live_parameters, stage3_max_reuse_distance to be int type, and default model_persistence_threshold may exceed the range.
    'zero_optimization': {
        'stage': 1,
        'overlap_comm': True,
        'contiguous_gradients': True,
        'sub_group_size': 1e9,
        'sub_group_size':<PHONE_NUMBER>,
        'reduce_bucket_size': 16777216,
        'stage3_prefetch_bucket_size': 15099494,
        'stage3_max_live_parameters':<PHONE_NUMBER>,
        'stage3_max_reuse_distance':<PHONE_NUMBER>,
        'stage3_gather_16bit_weights_on_model_save': True,
        'model_persistence_threshold': 1e18
    }

then you can run this script like this:
pip install deepspeed
deepspeed --num_gpus=8 test_ulysses.py

I test with new zero_optimization still got same error, deepspeed versiuon is 0.15.2


fix: perfcard tooltip position

Signed-off-by: Milouu<EMAIL_ADDRESS>

Linked to this ASANA TASK
Description
Fix the tooltip on performance cards in the performance tab in compute plan details page.
Tried making just a bit transparent to not completely hide informations under.
n.b: Waiting for decision to possibly remove the tooltip entirely instead.

Finally decided to entirely remove the tooltip for now


How do you implement Sign in With Apple in Ios

FOR: "@capacitor-community/apple-sign-in": "^0.2.0",
How do you implement OPTIONS in native IoS?
      const options = {
        clientId: '<<appId>>',
        scopes: 'email name',
        redirectURI: '<<appId>>',
        state: '12345',
        nonce: 'nonce',
      }

currently this is my current implementation on what I saw on the other issues raised, however, it was not working. can someone please help me in setting up this options? thank you

Have you tried #65 ?

#65 works for me with the updated comment about aws lib


what's the meaning of custom metrics with dimensions?

In this section, it mentions "custom metrics with dimensions".
Not clear about "custom metrics with dimensions", can you please explain? thanks.

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

ID: 2ca73876-268e-c89b-aaaa-0834234c239c
Version Independent ID: 7d408ea5-f7bc-0ed2-5e05-daeab325e294
Content: Log-based and pre-aggregated metrics in Azure Application Insights
Content Source: articles/azure-monitor/app/pre-aggregated-metrics-log-metrics.md
Service: application-insights
GitHub Login: @vgorbenko
Microsoft Alias: vitalyg

@imeya Thank you for the question! We are investigating this and will get back to you shortly.

Here is a detailed documentation on custom metric dimensions - https://docs.microsoft.com/en-us/azure/azure-monitor/platform/metrics-custom-overview#dimension-keys.
We are going to close this thread as resolved but if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.


Add missing ret code checks in PEM module

Add missing return code checks in the functions pem_des_decrypt(),
pem_3des_decrypt() and pem_aes_decrypt() so that the calling function
mbedtls_pem_read_buffer() is notified of errors reported by the crypto
primitives AES, DES and 3DES.
NOTES:

This PR addresses https://github.com/ARMmbed/mbedtls/issues/756
The PR includes a test based on the PEM data in the description of https://github.com/ARMmbed/mbedtls/issues/756
The changes need to be backported to mbed TLS versions 2.1 and 1.3

The CI failure is expected, refer to this for more information.

Added tests suggested by @yanesca

Rebased fix on top of development branch

CI failed only due to timing tests (known issue), ok to merge


[REEF-910] Assemble entire driver configuration on driver instead of client

This addressed the issue by

Adds the Bootstrap Launcher for YARN, which removes Java dependency if submitted through REST.
Modifies DriverLauncher to accomodate other types of launchers.
Moves YARN submission through .NET into the new two-step process.

JIRA:
REEF-910

I will review it.

In general changes LGTM. I would suggest you to add unittests for appropriate logic.

I am done my pass.

@jwang98052 Addressed your comments, please have another look, thanks! Also, if it's not too much trouble, could you test the C# portion on HDInsight as well? They are passing on my side.

+1


Add CI

Initial commit for GitHub Action's CI.
Add a test, coverage and lint.
Base on the configuration:
https://github.com/goccy/go-json

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@0bdbbee). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #1   +/-   ##
=======================================
  Coverage        ?   14.86%
=======================================
  Files           ?        1
  Lines           ?       74
  Branches        ?        0
=======================================
  Hits            ?       11
  Misses          ?       63
  Partials        ?        0

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


Show subcommand description in help menu

Subcommands should include their descriptions in the help menu, not just the subcommand itself

#18


Create workloads namespace during OPI pre-start

As part of this commit, 9f9bda32943881ea8a95eaa3a7716476f1580a5c, we
added functionality for connecting to the OCI registry with basic auth,
which requires the presence of a k8s docker-registry secret in the workloads namespace
Previously we created the workloads namespace as part of the
configure-eirini-bosh errand but now the creation of that namespace must
happen before job deployment otherwise the job will fail to start

@jimmykarily @mudler Could we please also cut a new release? The previous release, 0.0.16, is broken from the changes we introduced and are now attempting to fix with this PR.
Thanks,
Josh + @jspawar

I added 2 commits that should complement this PR here: https://github.com/cloudfoundry-community/eirini-bosh-release/pull/53/files Feel free to merge both.

Ahh, good catch @jimmykarily. Thanks for the review! I'll merge both PRs then. 😁

I think the merges happened in the wrong order. I don't see this in master now: https://github.com/cloudfoundry-community/eirini-bosh-release/commit/d18907492b263ba9170e0b02f69e2eb95dab4b36 . I will open a PR again.

Opened again here: https://github.com/cloudfoundry-community/eirini-bosh-release/pull/54


[Module Store UI] Modules and themes are missing from store

Describe the bug
There are no modules or themes shown in their respective stores
To Reproduce
Steps to reproduce the behavior:

Go to the Settings
Click on Plugins or Themes under the Goosemod section
See error

Expected behavior
The module store shows a list of modules
Screenshots

Upon switching to the Themes section:

GooseMod info:

Update Channel: release, dev
Version: GooseMod 9.6.0 (d5c7c9c)
Modules: Unable to give full list due to error, but includes (names from settings) WYSIWYG, Sticky Notes, Fuckalytics, Discord Debug, Channel Icons, and Custom CSS

Discord info:

Update Channel: Canary
OS: Arch Linux
Host Version: 0.0.126
Web Version: Canary 90048 (af1b588)

Additional context
Store in Home is disabled

Don't use store in settings, it is known to be buggy. Likely removed or fixed at some point in the future, but low priority as it is discouraged to be used generally anyway.

I see, I hope it's fixed and not removed since I really dislike store in home, but it does work with store in home enabled

Was fixed.


S1 Snow Depth Assimilation

Description
Replace this text with a concise description of what was changed and why.

Testcase

@IBrangers
Have you seen the change request? And the comment for you in:
https://github.com/KUL-RSDA/LISF/pull/20
Would be good to merge this pull request soon. Thanks.

I didn't see the comment in the S1 SM reader yet, thanks for mentioning it. I incorporated the same changes for the SNWD reader so that it can read files for any area. The compilation worked. I'll do a testrun as soon as the hpc works again and commit the changes.

@IBrangers please complete the latest commit with an error message, and then this PR should be fine.

@IBrangers please complete the latest commit with an error message, and then this PR should be fine.

Should be fixed now!

In Noah-MP, the multi-layer snowpack is now updated via DA as follows below and replaces the original copy-paste of the SNOWWATER module of module_sf_noahmplsm_36.F90 :

dsnowh and dsneqv (effective increments) enter 'noahmp36_snowsimple_update',
the key prognostic variables (snice, snliq, stc, dzsnso, zsnso, sice) and their associated sneqv and snowh are initialized (blank), using a priori estimates,
sneqv and snowh are then updated with dsnowh and dsneqv to determine how the layering should change and to partition the updated sneqv and snowh into the key prognostic variables per layer, i.e. snice and dzsnso (no direct update to snliq, stc or sice assumed),
if there is any snow left, the updated snice and dzsnso are redistributed via the modules COMBINE and DIVIDE; if the updated snow goes below zero, all snow is simply removed,
the key prognostic variables (snice, snliq, stc, dzsnso, zsnso, sice) and their associated sneqv and snowh are set to a posteriori estimates.

This algorithm is used in Brangers et al. (2023), "Sentinel-1 snow depth assimilation to improve river discharge estimates in the western European Alps".


Regression: v2.1.0 makes folder globbing impossible in vitest.workspace.ts (No loader is configured for ".gitignore" files: .gitignore)

Describe the bug
I am aware that v2.1.0 made backwards incompatible changes, and that this was intentional.
It appears to be impossible (since v2.1.0) to glob for folders instead of files in vitest.workspace.ts.
The documentation states that this is valid configuration:
export default [
  'packages/*'
]

This appears to be incorrect, as it will now match any files in packages/ as a config file (i.e. packages/.gitignore, etc.)
I believe that this should be updated to read:
export default [
  'packages/*/'
]

Unfortunately this also does not work; it is additionally matching other files within the sub-folder as configuration files. (i.e.packages/package-1/.gitignore)
Reproduction
Previously (before v2.1.0), my vitest.workspace.ts contained:
export default ["./*"];

So all direct sub-folders (one level down) were considered packages in the workspace.
Today (when upgrading to ^2.1.0)
This works:
export default ["*/*vitest*"];

But the following all break (with some variant of No loader is configured for ".gitignore" files: .gitignore):

original, broken as expected by v2.1.0

export default ["./*"];

Same but ending with /.  I think we should expect this to only match folders, not files in those folders?export default ["./*/"];

Excluding ./ but ending with /.  I think we should expect this to only match folders, not files in those folders?export default ["*/"];

System Info
`vitest ^2.1.0`

Tested with vitest `2.1.1`.

Used Package Manager
pnpm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

The glob you mentioned is correct since it only matches the first level assuming you only have folders there:

Vitest will consider every folder in packages as a separate project even if it doesn't have a config file inside

The glob you mentioned is correct since it only matches the first level assuming you only have folders there:

Vitest will consider every folder in packages as a separate project even if it doesn't have a config file inside

This is not actually the issue I am reporting, though it is related.
Typically when globbing, a trailing / indicates to only match folders, not files.
This is not being respected (seems like every file under this path is matched), so there is no way to match only folders, and thus no way to restore the old behaviour.

I'm having a similar problem but the issue is with .DS_Store files:
No loader is configured for ".DS_Store" files: .DS_Store

My vitest workspace is configured as:
import { defineWorkspace } from 'vitest/config';

export default defineWorkspace([
  'packages/*',
]);

This configuration works in 2.0.5, but breaks in 2.1.0 and 2.1.1. I'm running macOS 15. This is notably absent when running the same command in a github workflow, presumably because .DS_Store files are macOS specific.

@treardon17 Note that there was a breaking change made for workspaces in v2.1.0, check the release notes.

This is not actually the issue I am reporting, though it is related.
Typically when globbing, a trailing / indicates to only match folders, not files.
This is not being respected (seems like every file under this path is matched), so there is no way to match only folders, and thus no way to restore the old behaviour.

This is just not true. The glob that matches only folders works correctly with / and without / at the end: https://stackblitz.com/edit/vitest-dev-vitest-9cztj4?file=vitest.workspace.ts&initialPath=vitest/

This is not actually the issue I am reporting, though it is related.
Typically when globbing, a trailing / indicates to only match folders, not files.
This is not being respected (seems like every file under this path is matched), so there is no way to match only folders, and thus no way to restore the old behaviour.

This is just not true. The glob that matches only folders works correctly with / and without / at the end: stackblitz.com/edit/vitest-dev-vitest-9cztj4?file=vitest.workspace.ts&initialPath=vitest/

This fails if a plain file exists in packages/.
Here the only thing I changed was to add an empty packages/.gitignore file:

And it fails correctly because the file matches your glob. If Vitest sees a file, it assumes that it’s a Vitest config. This is mentioned in the documentation.

No, packages/*/ should not match packages/.gitignore.

No, packages/*/ should not match packages/.gitignore

As I said before:

The tinyglobby package also matches files <when glob ends with "/">; this might be an upstream issue.

Ok, I see what you're saying now; I misunderstood your original comment.
I wonder if it's worth using a more mature glob library if tinyglobby doesn't support this today.
Again, I see this as a regression.

My thoughts on this:

.DS_Store is a bug, we should ignore it by default
Not respecting the / at the end is a bug
Glob logic itself works correctly, but it will be better to change the packages/* to packages/*/ in the example

investigating the trailing / issue it looks like fast-glob has really inconsistent behavior around trailing / in patterns and the behavior of only returning directories is only presented if the pattern is dynamic (and otherwise fast-glob matches files too). because of this, i'm not sure if fixing this (and therefore making tinyglobby inconsistent as well) would be a good idea
you can test this inconsistency in fast-glob this way:
import glob from 'fast-glob';

// dynamic pattern, only returns folders so no files are matched
await glob(['*.ts/'], {
  onlyFiles: false
});

import glob from 'fast-glob';

// static pattern, returns files too
await glob(['index.ts/'], {
  onlyFiles: false
});

you can test this inconsistency in fast-glob this way

I think this is just a bug in fast-glob. Personally, I don't expect any files to be matched with a glob ending with /

yeah but i imagine making tinyglobby not return files if the pattern ends with / in a consistent way would probably break way more users and existing usecases

Would it make sense to upstream this issue to fast-glob, and see whether it's considered a bug there?

yeah but i imagine making tinyglobby not return files if the pattern ends with / in a consistent way would probably break way more users and existing usecases

Can you give an example of a use case that it breaks? I didn't find tools online that support having a / at the end for file paths

basically what i mentioned above, using a pattern like src/index.ts/ which currently matches src/index.ts (assuming it's a file) in both fast-glob and tinyglobby. i'm not sure how often that's used but i imagine it's used more frequently than a dynamic pattern leading with a /

basically what i mentioned above, using a pattern like src/index.ts/ which currently matches src/index.ts (assuming it's a file) in both fast-glob and tinyglobby. i'm not sure how often that's used but i imagine it's used more frequently than a dynamic pattern leading with a /

Can you explain why you think that is the case? I don't see why people would use it that way

Arguably, **/*.js/ should never match /hello/world.js, since there is no sequence of characters that you can replace the *'s with to make these identical.
**/ would be the exception which proves the rule, but that's because ** specifically means "match the following at any number of directories down, including the current one".
I suspect what we're seeing here is a bug related to this^ exception.

The new built-in fs.glob API also returns only folders correctly (tested with a Vitest repo):
> require('fs').globSync('./shims.d.ts')
[ 'shims.d.ts' ]
> require('fs').globSync('./shims.d.ts/')
[]
> require('fs').globSync('./*/')
[
  'test',
  'scripts',
  'patches',
  'packages',
  'node_modules',
  'examples',
  'docs'
]

how does fs.glob handle patterns without trailing slashes that refer to directories (i.e. a "src" pattern)? all i know is that fast-glob matches directories without needing a trailing slash on them

how does fs.glob handle patterns without trailing slashes that refer to directories (i.e. a "src" pattern)? all i know is that fast-glob matches directories without needing a trailing slash on the pattern

Like you would expect:
> require('fs').globSync('./patches')
[ 'patches' ]
> require('fs').globSync('./patches/')
[ 'patches' ]
> require('fs').globSync('patches')
[ 'patches' ]

just opened mrmlnc/fast-glob#458


Can't find egg-linked development module

I'm developing a Python package (in Windows) which is linked to my global site-packages with the usual setup.py develop. When I activate the virtualenv using the plugin and try to import mymodule I get an ImportError. Other locally installed packages (i.e. not egg-linked) work fine.
I thought this might be an issue with my virtualenv, but if I activate it from a command prompt and open a Python shell I can import my module without any issues. It seems like there's an problem with Sublime not recognizing egg-linked modules -- is there some workaround for this?
Many thanks

Hi. Were you finally able to make it work?

Hi Adrian, yes I was. I just had to put python in front of setup.py develop. Oh Windows...


A big step forward for performance linting

This is some code I wrote last month and never opened a PR for. I wanted to close out #1677, but there is one more cop which is needed. Unfortunately, implementing that one cop will require a more sophisticated way of auto-correction.
Basically, implementing auto-correction in that last cop will be very tricky using just textual manipulation (regexes and "cut-and-paste"). We need the ability to manipulate Ruby code at the AST level.
unparser can do this; it can take an AST produced by parser and convert it back to syntactically correct Ruby code. You can parse Ruby code into an AST, add some nodes, delete some nodes, or move nodes around in the tree, then "unparse" it to Ruby code. If you tried doing this using "cut-and-paste", there would be all kinds of issues with operator precedence and other things which would cause breakage.
With the power of unparser, all kinds of auto-corrections which would otherwise be insanely difficult become trivially easy.
The problem is that the code emitted by unparser is not formatted the way we would like. I wrote some patches for unparser which make the output much nicer, to the point that it could be usable by RuboCop, but the maintainer is taking forever to review the patches, and there are other reasons why I feel unparser may not integrate well into RuboCop.
One option is to fork unparser and remake it into something more suitable for RC. Another is to write something comparable from scratch.
Anyways, rather than holding onto this code and not letting anyone benefit from it, I am opening a partial PR first. This almost finishes up #1677.

One option is to fork unparser and remake it into something more suitable for RC. Another is to write something comparable from scratch.

Both options are ok for me. Haven't played with unparser, so I can't really say how much do we need from it. I'm not also not sure how robust it is in general...

Yep. Sometimes this communicates what the commit is about, in a briefer and less repetitious way.

Haven't played with unparser, so I can't really say how much do we need from it. I'm not also not sure how robust it is in general...

In terms of emitting Ruby code which "works", it's industrial strength. Heavy duty. Tested, tried, and true. You can sleep soundly with unparser unparsing your ASTs.
Its problem is not in emitting correct Ruby code, but 1) emitting code with the desired formatting, and 2) pulling in too many other dependencies, which could cause gem version conflicts for some RC users.
It also has the slight problem of munching up your comments like a delicious snack, but I have fixed that one (if the maintainer ever merges my patches).
I was just fixing up this PR, then ran into a problem with parser, and wrote a couple patches to fix it up. We'll see what @whitequark says. Then this PR can go ahead.

Still need to add a couple more tests.

Resolved problem with changelog.
Resolved issue with Pry.rescue... thanks to @rrosenblum for that one.
Performance/RedundantMerge is much smarter now about when not to register an error... thanks to @rrosenblum.

Still need to add more tests.

Added 1 spec for each new cop which checks the generated error message.
Performance/RedundantMatch has become smarter about when it is OK to convert match to =~.

This is failing solely because of the bug in the latest Bundler. I think @bbatsov is already aware of it (from my posts over at the parser repo).

Just slipped in a couple other fixes and enhancements...
This will be broken until a new parser gem is released. Hoping it comes very soon.

Bumped parser to 2.3.0.pre.5. I had to adjust one spec due to a small change in the line number which a syntax error is reported on -- but it actually makes more sense the new way. Otherwise, all specs still pass with the latest parser.

Do you have more work to do on this PR?

Hi @bbatsov... I put a lot in this PR in an attempt to avoid extra rebasing. I'm not going to jam anything more in, because it is already too big. Once you think this one is ready to merge, I will open another PR with some other commits which I have prepared since then.
In short: no.

Updated based on suggestions from @bbatsov.

You'll also have to rebase.

Rebased.

:+1:

Thanks!

I just got bitten by the cop to use yield instead of block.call. I use a block parameter all over the place. Mostly because it adds documentation. You can read the signature of a method and immediately see if the method takes a block or not.

@alexdowad Hi, just saw this (for context, I'm the unparser maintainer you mention above multiple times).
At the time you where writing this unparser was on life support. OSS is a funny economy to deal with given unless a project is insanely popular you earn 0$ - which does not help in feeding kids etc.
Recently I turned mutant into a commercial offering, which changed the "life support" status of unparser significantly. Since re-wrote unparser with full 2.7 support and fixed lots of AST invariance bugs, many of them via re-using the parser test suite as edge case source. Also the emitted source is now way cleaner, especially dynamic strings.
I've to admit I was a bit triggered by your "if the maintainer ever" etc comments I had to read above. But I think you also had your reasons, no bad feelings at this point from me.
Anyhow this is a heads up. Should you ever have to look at unparser again I'd want to ask that you re-evaluate it, as its now an integral part of what makes my living.


NS-11 | fix: cache directory permission errors when running ruff & pytest

Description
fix: cache directory permission errors when running ruff & pytest
tested with Windows 11 + Docker Desktop + WSL2 using
"docker compose up --build" +
"docker exec -it notification_service-api bash"
before this PR:
(app-root) bash-5.1$ ruff format
error: Failed to initialize cache at /app/.ruff_cache: Permission denied
(os error 13)
ruff failed
  Cause: Failed to create temporary file
  Cause: No such file or directory (os error 2) at path
  "/app/.ruff_cache/0.7.0/.tmp6gIgNI"
(app-root) bash-5.1$ pytest . -vv
...
========================================================== warnings s...
../opt/app-root/lib64/python3.11/site-packages/_pytest/cacheprovider....
/opt/app-root/lib64/python3.11/site-packages/_pytest/cacheprovider.py:
451: PytestCacheWarning: could not create cache path /app/.pytest_cache/
v/cache/nodeids: [Errno 13] Permission denied: '/app/.pytest_cache'
	config.cache.set("cache/nodeids", sorted(self.cached_nodeids))

../opt/app-root/lib64/python3.11/site-packages/_pytest/stepwise.py:56
  /opt/app-root/lib64/python3.11/site-packages/_pytest/stepwise.py:56:
  PytestCacheWarning: could not create cache path /app/.pytest_cache/v/
  cache/stepwise: [Errno 13] Permission denied: '/app/.pytest_cache'
	session.config.cache.set(STEPWISE_CACHE_DIR, [])

after this PR:
$ docker exec -it notification_service-api bash
(app-root) bash-5.1$ ruff format
39 files left unchanged
(app-root) bash-5.1$ ruff check
All checks passed!
(app-root) bash-5.1$ pytest . -vv
========================================================================
platform linux -- Python 3.11.7, pytest-7.4.3, pluggy-1.3.0 -- /opt/app-
cachedir: .pytest_cache
django: version: 4.2.7, settings: notification_service.settings (from in
...
========================================================================
4 snapshots passed.
========================================================================
(app-root) bash-5.1$

refs NS-11
Related
NS-11

I tried this on macOS Seqoia, latest docker (brew) running on DOCKER_HOST on debian VM also running latest docker and dockerd. Works fine.
❯ docker exec -it notification_service-api ruff format
2 files reformatted, 45 files left unchanged


Room's to Default

I have discovered an issue where all devices served by this plugin automatically change back to the 'default' room after reboot of the homebridge device. All other plugins are fine. Tested this on 2 different homebridges and experiences same results.

What kind of devices are you using with the plugin? I haven't seen this issue reported yet before, so do you mind also stating your environment?

Closing: Inactive.


ARROW-2049: [Python] Try searching for the Cython executable according to sysconfig

setup.py doesn't even try to detect the right cython executable specially when it is used in virtualenv. Instead it always tries to use the one found in the search path.

@moriyoshi What do you think about @pitrou's comment?

This has a merge conflict. Could we see a revised version of this PR?

Got it, submitting a new PR.

Closing in favor of #1583


Screenshot of Video

the library support screenshot of Video?

Never tried it. Ideally, it should be able to take a screenshot because it takes a snapshot of the view, so if the video is running inside a view you should be able to take a screenshot.
It is a good point though. I can give it a go sometime later in the week.

Same here... can't take a screenshot of a Video view. It appears completely black.


Add build-essential to instructions

@Faithy3 asked me to make a PR for this, as he said it's required to build oppai

At least make and gcc were required, I installed build-essential as a catch-all after the second dependency error.


[RFC] Gradient clipping hooks in the LightningModule

🚀 Feature
Add clipping hooks to the LightningModule
Motivation
It's currently very difficult to change the clipping logic
Pitch
class LightningModule:
    def clip_gradients(self, optimizer, optimizer_idx):
        ...

The default implementation would be the same as we currently provide, where the trainer's clipping flags are used.
Maybe those would be deprecated in favor of LightningModule properties.
class LightningOptimizer
    def step(closure=closure)
        if closure is None:
            closure = do_nothing_closure
        def wrapper_closure()
            closure()
            self._trainer.call_hook("clip_gradients", self.optimizer)
        self.optimizer.step(closure=wrapper_closure)

Need to evaluate the limitations since clipping is currently tied to plugins
Additional context
This would fix #5096, https://github.com/PyTorchLightning/pytorch-lightning/pull/6123#discussion_r587415267, https://github.com/PyTorchLightning/pytorch-lightning/issues/5671, https://github.com/PyTorchLightning/pytorch-lightning/issues/5982, and allow easily implementing new clipping techniques without having to merge them into Lightning
cc: @rohitgr7 who has been pushing for this for a while

@SeanNaren Any thoughts ?

Thanks @carmocca for bringing this up ☺. This is on my TODO list actually but I kept pushing it further due to refactors. It would be great to have this since it's a part of optimization just like optimizer_step.

@rohitgr7 firendly ping?

Being able to customize gradient clipping is still really important to the NeMo team. I hope these hooks can be added soon.

yes, working on it.. will update soon.

@rohitgr7 @carmocca Some of the issues we ought to resolve here:

What's the expected API on the LightningModule?
How do we reconcile the LightningModule that the user sees vs the automatically parallelized model the trainer sees? Not all gradient clipping techniques are compatible with DeepSpeed or FSDP. For example: https://github.com/PyTorchLightning/pytorch-lightning/blob/c7451b3ccf742b0e8971332caf2e041ceabd9fe8/pytorch_lightning/plugins/precision/fully_sharded_native_amp.py#L28-L46

Using self.trainer.accelerator as part of the default implementation in the LightningModule is too fragile: someone will override the whole method with a custom implementation, and it'll fail when using different trainer flags. It also goes against the principle of #7315

on_after_backward

Hey @ananthsub,
1 ) I believe we could pass the clip_val and gradient_clip_algorithm as extra arguments to the function. However, users might ignore both if they have a custom implementation.
2 ) DeepSpeed and FSDP don't support gradient clipping as the gradients are concatenated. I don't think we should block the features entirely for 2 plugins which are non mature for this feature.

The PrecisionPlugin should raise a MisConfiguration if the values are being provided and the plugins doesn't support it. If the users override the clip_gradient, we would just put a warning.

on_after_backward  is actually the wrong place to implement this. This won't work with accumulated_grad_batches as it is called after each backward, it should be done in on_before_optimizer_step hook. The fact we are confused ourself where to apply gradient clipping makes me think users will be too. A dedicated hook seems simpler

Should we do loop -> lightning module -> trainer -> accelerator or loop -> accelerator -> lightning module. I would prefer the first one as it is makes maintenance simpler and remove the need for duplicated code across PrecisionPlugin. But don't have a strong opinion there.

Best,
T.C

+1 to passing the existing arguments to the hook so that they can be used for a default implementation

+1 to passing the existing arguments to the hook so that they can be used for a default implementation

so are you suggesting keeping both trainer arguments add adding arguments in the new clip_gradients hook? I'd prefer not to since it might confuse users a little bit.. like having the same hparams at 2 different locations.. but that's just a personal opinion.

regarding loop -> lightning module -> trainer -> accelerator part I think we have the same workflow for optimizer_step so this looks ok to me.

ok seems like keeping trainer arguments is a good option and we can pass them to this hook directly as defaults.
for now I can think of 2 ways for api design.

def clip_gradients(self, opt, opt_idx, clip_val, clip_algo):
    # if someone wants to use the internal implementation, use super
   if opt_idx == 0:
     super().clip_gradients(opt, clip_val, clip_algo)
   else:
      # implement your own

on this one, pointed out by @awaelchli that setting the values in the hooks signature and then calling super() is not something we have anywhere in Lightning so it will be very unfamiliar to users.

or we can put the current implementation inside clip_gradients and make configure_gradient_clipping available to users

def configure_gradient_clipping(self, optimizer, optimizer_idx, clip_val, clip_algo):
    if optimizer_idx == 0:
        self.clip_gradients(optimizer, clip_val, clip_algo). # lightning will handle this
    else:
        # implement your own

but open to suggestions :)

Hey @rohitgr7,
Interesting. It is a great point !
I like the option 2.
@ananthsub @carmocca Any thoughts ?
Best,
T.C


Better error handling when server can not parse config file.

When there is problem to parse the config file, the client just gets an "connect" error as below.

The message should be better formated, but also better handled so that the client can get a more helpful message.

Stack traces were added for each error handling routine.


Unable to connect via gradio client

Hi, I just trying to communicate via API that documented in /?view=api or can be accessed in footer then click "Use Via API". I use node-js and after install gradio client, i just copy and paste the code and got error ECONREFUSED. Please, can anyone help me?

Installation = local installation
OS = windows 11
Browser = Firefox
Runtime = Nodejs v18.14.0

I used it on browser ecosystem and its work fine


Nuke: Merge avalon's implementation int OpenPype

Brief description
Moved implementation of Nuke from avalon to OpenPype.
Description
Had to do some modifications of code and reorganize few files to avoid recursive imports.
Testing notes:

All nuke features should work as before

[ ] Check if all creators can be used
[ ] Check publish plugins (at least if are discovered)
[ ] Check if event callbacks work as expected (change of context, etc.)

Task linked: OP-2358 Move Nuke to OpenPype

When I do Create Render this is happending

Fixed


vote: add sboschman as approver for k8saudit-gke, and add the plugin to the registry

@Issif or @leogr , as we handed out plugin id 16 for k8saudit-gke, it might be useful to list it in the plugins readme

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: sboschman
Once this PR has been reviewed and has the lgtm label, please assign jasondellaluce for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

The list of plugins is auto-generated from the registry.yaml. See the other entries as examples and update it, then run make update-readme.
BTW, as the original author of the plugin, I would recommend you to create an OWNER file at the root of the plugin, like this one https://github.com/falcosecurity/plugins/blob/master/plugins/k8saudit-eks/OWNERS, it will allow you to review/approve futures PR.
cc @leogr @jasondellaluce @mstemm

The following users are mentioned in OWNERS file(s) but are untrusted for the following reasons. One way to make the user trusted is to add them as members of the falcosecurity org. You can then trigger verification by writing /verify-owners in a comment.

sboschman

User is not a member of the org. Satisfy at least one of these conditions to make the user trusted.

LGTM label has been added.  Git tree hash: e3f8f18508af6906760d23338ec5d26b4448923c

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce, sboschman
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

We got the majority and also week has passed, so
/unhold
Welcome on board @sboschman :clap:
We will take care of the procedure to set up your account as a maintainer.
cc @FedeDP @LucaGuerra
@sboschman meanwhile, could I just ask you to add yourself to this file?

N.B. @sboschman you get an GitHub invitation to the falcosecurity organization once this PR gets merged.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce, leogr, sboschman
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Begin sanitizing model migrations

This begins sanitizing the output of migrate.js. For the remaining values (default value and type), I'll need to either restrict it via an ENUM somehow, or create a map (similar to an ORM layer) for each property. For now, arbitrary SQL commands are allowed.

To help with the sanitization of types, the list linked to in this issue ( https://github.com/jmeas/api-pls/issues/66#issue-205409197 ) could be useful. Other references:
https://www.postgresql.org/docs/current/static/catalog-pg-type.html
http://stackoverflow.com/questions/16343285/postgresql-how-to-list-all-available-datatypes


Add method to coalesce changes across multiple controls and properties

That looks pretty close to what I want. The only thing I'm missing now is some method to coalesce disparate changes across multiple controls and properties (although I'm not sure how that would look API-wise).
– @tonyarnold

Batch updates are supported in v4. Closing.


Support fonts and colors within a TextView with markupEnabled

Something like this:
textView.set({
  markupEnabled: true,
  text: 'Hello World'
});

Should also allow to style  tags.

Not sure about the syntax, also to what degree is this possible on iOS?

We could build such a thing on top of the ability to load external fonts.

iOS part has been already implemented as far as I can tell.


not all "side effects " are harmonics

The text implies that additional frequency components in a spectrum will always be integer multiples of a fundamental. This conflates the important notion of partials -- spectral components that may or may not be integer multiples of a fundamental, as in non-harmonic spectra like bell sounds -- with the notion of harmonics, spectral components that bear an integer-multiple relationship to a fundamental frequency.

+1

Hm, is there copy in the text that you're thinking of specifically? Unless I've missed something, the discussion is exclusively about the harmonics of a few specific waveforms.
Maybe it'd be beneficial to have a note about how there are other kinds of sounds that don't follow the same rules, but I kinda already gave one (about white noise). It's not clear to me how to add clarify around this subject without introducing a new topic, and there's already so many topics introduced... I've received some feedback that it can be a little overwhelming, and so I'm trying to strike a balance between accuracy and accessibility.
That said, if there's specific copy that is misleading, please do let me know! Happy to make clarifying changes like that.


Revert "Add binary motion sensor"

Reverts planbnet/livisi_unofficial#64
Unfortunatly, this break my setup. On startup, I get an undefined error for off_delay and binary_sensor does not get initialized. I tried to fix this, but changing back the status after the delay is off still does not work. I‘m reverting this for now..

Can you try again in the future and give me a stacktrace? Than I could try to trace where it is coming from.

Unfortunately I did the mistake to merge this PR early and had to revert it. Now I cannot reopen it. If you create a new one, I will keep it open until it runs on may and a completely new setup (I think this was my problem, undefined configs which probably were created for you when you incrementally developed the entities)


Add submodule in rkboot

Codecov Report

Merging #35 (73f7e7b) into master (1d1fe41) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #35   +/-   ##
=======================================
  Coverage   85.45%   85.45%
=======================================
  Files           1        1
  Lines          55       55
=======================================
  Hits           47       47
  Misses          5        5
  Partials        3        3

Continue to review full report at Codecov.

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


add named locks for iterating

I have prepared PR for it.
How do you want to use named lock for iterating?
We can add new methods or change them. For example:
module ClassMethods
  # A scope to retrieve all locked documents in the collection.
  #
  # @return [Mongoid::Criteria]
  def locked
    where(locked_name_field.exists: => true, locked_name_field.ne => nil)
  end

  def locked_expired
    where locked_until_field.gt => Time.now.utc
  end

Using :locked_name field allows us be free from fields with time.
Can we rely on :locked_name field in these cases?