Add area() function, to replace delta(..., 1).

This calculates how much a counter increases over
a given period of time, which is the area under the curve
of it's rate.
area(x[5m]) is equivilent to rate(x[5m]) * 300.
@juliusv @beorn7

:+1: otherwise

Should this still go into v0.14.0 or should we do a create a version branch before merging this?
I feel like there should be no features added after the RC is out.

On Sun, May 24, 2015 at 11:00 PM, Fabian Reinartz
<EMAIL_ADDRESS>wrote:

Should this still go into v0.14.0 or should we do a create a version branch before merging this?
I feel like there should be no features added after the RC is out.

In the past, we used to add low-risk non-breaking changes between RCs.
Essentially exactly those changes for which we would later not require
a RC either (going from 0.14.0 to 0.14.1).
I tend to believe this innocuous enough to go in.
--
Björn Rabenstein, Engineer
http://soundcloud.com/brabenstein
SoundCloud Ltd. | Rheinsberger Str. 76/77, 10115 Berlin, Germany
Managing Director: Alexander Ljung | Incorporated in England & Wales
with Company No. 6343600 | Local Branch Office | AG Charlottenburg  |
HRB 110657B

Hm, I find the function name misleading - naively area would mean the area under the raw time series, but it's returning the area under rate of the time series instead. Can anyone think of a better function name? I guess delta() is out unfortunately :)

@juliusv Yeah, good point... let's all think a day about a more fitting name...

@beorn7 It's certainly harmless enough to go in if that's what we've done in the past.
@juliusv diff? I think this is a general problem stemming from the fact that the storage is agnostic about types and units. We'll either have to be verbose or have one feature do two things with an implicit assumption. It's hard to come up with a name that's clear about all three (and then get people to not misuse it).
I think having a function that does the plain counter adjustment, i.e. counter() would be a good thing to have. Even for the pure sake of understandable semantics, i.e.

area(x[d]) is short for delta(counter(x[d]))
rate(x[d]) is short for delta(counter(x[d])) / (d / 1s)

Looking at this in the docs will make you question whether you really want to do counter(my_gauge[d]).

Having a function that does the plain counter adjustment, i.e. counter() would be a good thing to have. Even for the pure sake of understandable semantics, i.e.

That should be called gauge() surely, as it returns a gauge? It gets messy with summaries and histograms.
An integral isn't meaningful for a gauge (avg_over_time would make sense though), so I figure area() is an okay name to go with for counters.

Not saying it's meaningful, but potentially confusing.
Why does a function that handles the counter resets return a gauge? Doesn't it enforce monotonic increase?

an integral is meaningful for a gauge - depending on the meaning of the
gauge of course, but that itself might be a rate because that is what the
underlying system exposes, and I want to integrate over time?
I think "integral" is more general than area.

an integral is meaningful for a gauge - depending on the meaning of the
gauge of course,

Can you give an example? That sounds like it should be a counter.

@brian-brazil Example for integral of a gauge making sense: taking the integral of velocity (a gauge) over a certain time range gives you distance traveled. The integral over a request rate over some time gives you the total requests in that time.
But integral is still not a useful name here, because it conceptually means the same as area - it suggests doing the integral over the rate of a time series, not the integral over the time series itself.
This function really combines two operations:

taking the rate (including handling counter resets)
integrating over the rate

rateArea? rateIntegral? Not sure...

taking the integral of velocity (a gauge) over a certain time range gives you distance traveled.

That'd be better modelled as a counter, for which you'd then use area().
area() is the best name I've come up with so far. Maybe counter_increase?

But if it's a counter, then you are not taking the area. You are doing two operations: taking the rate and integrating over that (taking the area under the rate). We can't just mention one of those operations and make it the name, if the other one is essential too.

counter_increase could make sense, yeah.

Yes, the more I think about it, counter_increase is a great name for what's happening. If someone can think of a shorter version of that name, even better, but otherwise I'd vote for that one.

counter_inc?

Just increase()?
Conceptually, I don't like to put the metric type into the function name. Despite its helpfulness, it's inconsistent with rate() (which is not called counter_rate()). Also, one day the evaluation engine will be able to check that the function is applied to a counter.
inc alone sounds like "increment". increase captures that only increases matter (because decreases will be seen as counter reset).

:+1: for increase.

increase sounds good to me, I'll update the PR tonight.

That's updated.

:+1: I love the new testing language.

@brian-brazil We can’t automatically merge this pull request. Use the command line to resolve conflicts before continuing.

Hmm, thought I'd already resolved that. Looks good now.

@juliusv sorry, thought this one was ready.
I'll migrate the other function tests to functions.test tomorrow and fix this last comment while I'm there.


chore: configures project pom to java 8

Configures source / target compilation to be Java 8.

The clirr failure is occurring here, because it is comparing this version to 5.2.0, since no release of 6.0.0 has been completed yet. Once that completes, the clirr failure should be resolved.

Google-cloud-java repository says the client libraries work for Java 7. What's the background of this pull request?

Java Versions
Java 7 or above is required for using the clients in this repository.

@suztomo We have dropped support for Java 7 in this client library on release 6.0.0. We have been syncing with @lesv @elharo and @chingor13 on this matter.
For now we are doing the upgrade "manually", until the support of Java 7 for newer releases is done for all Yoshi-Java client libraries. The message you see in the README is because it is automatically generated and we have not changed the template yet.

You might wish to look at this


Move Java Release Config to public

Make Java release configuration public.

Is the intention to move the individual YAML files in a future PR?

Is the intention to move the individual YAML files in a future PR?

What Yaml files are you referring to?

/azp run java - template - ci

/azp run java - core - ci

/azp run java - core - ci

/azp run java - template - ci


Z-Axis NEMA 23 Mount.stl on Zip on Main Page don't have the Mounthing Hole

The "Z-Axis NEMA 23 Mount.stl" on the ZIP is using the wrong version.
I suggest removing any download files from the webpage and redirect people here where fille will be up to date.

For which beam Dimension?

Was for the 2x3

ok thx.
Asked Hoges if he could provide the right files.

Here in this project the files are now correct. But on the Homepage they are still wrong.
Will close the issue, when it's also done on the main page

Hoges fixed files

don't fix it, remove completely and point to the file here !


Poedit doesn’t respect (dark) theme colors under GTK+

Hallo,
I just tried Poedit 1.8.7 with a dark theme and I ran into 2 problems.
I. The sidebar font has similar colour as the background.
II. After typing something like " Ctr+2", to choose a suggested translation,
now, the text, in the box with the translated string
(that is, the text that was just added),
also changes colour to something similar to the background.
I am attaching two picture demonstrating the issue.
My system is...
Mageia 5
32bit
Poedit 1.8.7
IceWM
Gtk3 theme: BlackMate
The BlackMate theme is quite "standard", so I guess this is probably a Poedit issue.

The BlackMate theme is quite "standard”,

Well no, not really — never header of it, and all of your system is pretty crazily non-standard… That doesn’t mean it isn’t a bug, of course, but it decreases its priority.
An itemized list of specific issues would be nice. You posted some screenshots without any comments now, but aside from sidebar, it’s unclear which of the ugliness there is normal for the theme and which things exactly are deviations. What’s up with two different text colors (with no explanation about the different in state) for example?
(And of course, as always, patches would be even nicer!)

Ah, never mind, got lost in the original comment’s formatting...

"never header of it " ?
https://github.com/mate-desktop/mate-themes/tree/master/desktop-themes/BlackMATE
quote:
"and all of your system is pretty crazily non-standard"
With " Poedit 1.8.7"... I think you are right ;) .

"never header of it “ ?

Yes, this may shock you, but I really never heard about some of the more obscure themes used by more obscure DEs before. No, that doesn’t mean I do not believe in its existence and that you have to provide a link.
Please limit comments to things that contribute to fixing.

i have tested Poedit on many distros, KDE 5.x, standard dark themes, but on all it sems to have this issue with background there and the editable text problem.

on many distros

Doubtful about “many”. But sure, I don’t doubt reproducibility. Your PR would be welcome, but please don’t spam the issue tracker with pointless noise: first a duplicate issue, then this comment that adds nothing to the discussion.
If you contribute, great, it would be most welcome. If you don’t, that’s fine too, but at least please don’t take developers time from actual work. Thank you.

I don't spam anything, i just confirm this problem to. I have tested it on "many" distros: fedora, manjaro, linux mint, antergos, kaos linux, and so on..... changed the theme to dark, and the problem is there, on all of this distros. And this problem is presistent long time ago, i think about a year or maybe more, i have tested first time the Poedit on dark theme, and it was there. Today, this problem still there.

I don't think this is specific to BlackMate but to any dark theme. Here the 3 I'm using:

Arc Dark
Vertex Dark
Adwaita Dark

I also tested the Ubuntu dark one, same issue.
I think the issues is simply that white background color is hard coded on some widgets where it shouldn't (Every text entries, right sidebar...). This make the app barely useable with a dark theme because the cursor is white on white when editing entries. Suggestions (or any content that is in the right sidebar) is not readable to too.
Consequence: its really exhausting when you have thousands of translations to handle, you are searching for the cursor to fix an entry, or trying to use a suggestion.
(I would have contributed but I'm no C++ nor wxGTK developper)
PS: @vslavik no offense but I agree with @nikoss , even if BlackMate in particular is not a standard theme, having a dark theme is now standard on Linux (even Ubuntu come with one by default), the 3 ones I provided as example are some of the most used theme under gnome) and so it's not really a edge case.
PS2: I'm glad to help in any way if I can

I don't think this is specific to BlackMate

That's kind of obvious from all the references right above your comment; consequently, that super-long comment is unnecessary and adds precious little to the issue; please limit such noise.

(I would have contributed but I'm no C++ nor wxGTK developper)

Nobody is born one, you know...

Version 2.2 officially supports dark themes: https://poedit.net/news/xliff-and-dark-mode/
Any bugs in it should be filed as (separate) bugs.


Bot does not receive group messages

I added my bot to a group chat, but the onMessageReceived method does not get called when somebody sends a message. It works fine in private chat. Am I doing something wrong?

Should've spent some more time on Google. Privacy mode, which is enabled for all bots by default, makes it so that bots only receive messages in specific circumstances, such as when they begin with a slash.


Update typings.json and misc

I updated the pg-pool to use the registry instead of directly referencing github.
Also remove some entries in typings.json because it is not used, and added homepage
I don't know which version this is typed for (although I guess it is '6.0.2' https://github.com/typings/registry/pull/660/files). You can add that in.
I also kept author in there although it also doesn't do anything.
Last thing is I didn't update env~node to v6 because I don't know if that's what you want.
🌷

I agree with updating node to v6, at least we get rid of the warning message upon installing. Do you mind doing it before we merge this?

Done. Also added version


Minor addition to guide

Hi Burt
As per a problem I had when following this guide and the subsequent stackoverflow search to here: http://stackoverflow.com/questions/8979880/grails-heroku-plugin-unable-to-resolve-class-grails-plugin-cloudsupport-abstra
Can I propose the "compile ':cloud-support:1.0.8'" entry be added to the guide?

Scott, you shouldn't modify the HTML directly. It's generated from the *.gdoc files in the 'src/docs/guide' directory.

I probably should have said a bit more, sorry. The pull request should be for the 'master' branch with a modification to the 3.1 Basic Tutorial.gdoc file. Next time the user guide is generated, your change will be included.
BTW, this looks like a problem in the plugin. You shouldn't have to declare cloud-support explicitly. We'll look into it.

Ahh ok, thanks.
First github pull request and I guess I just wanted to jump on a little
potential problem.
Thanks all the same.
Regards
Scott Bennett-McLeish
On 30 January 2012 21:23, Peter Ledbrook <
<EMAIL_ADDRESS>
wrote:

I probably should have said a bit more, sorry. The pull request should be
for the 'master' branch with a modification to the 3.1 Basic Tutorial.gdoc
file.
Next time the user guide is generated, your change will be included.
BTW, this looks like a problem in the plugin. You shouldn't have to
declare cloud-support explicitly. We'll look into it.

Reply to this email directly or view it on GitHub:
https://github.com/grails-plugins/grails-heroku/pull/1#issuecomment-3719333

First github pull request and I guess I just wanted to jump on a little
potential problem.
Thanks all the same.

And the contribution is more than welcome. If you send another pull
request based on a gdoc change, that may go in. Unfortunately, this
issue is a bit more involved than it at first appears. As I mentioned,
you shouldn't have to add cloud-support explicitly, but this may
turn out to be a requirement.

re: cloud-support, yes I was just following Burt's guide for the Heroku
plugin but what I had done didn't build on heroku but after I added the
cloud-support it did.
On 30 January 2012 21:52, Peter Ledbrook <
<EMAIL_ADDRESS>
wrote:

First github pull request and I guess I just wanted to jump on a little
potential problem.
Thanks all the same.

And the contribution is more than welcome. If you send another pull
request based on a gdoc change, that may go in. Unfortunately, this
issue is a bit more involved than it at first appears. As I mentioned,
you shouldn't have to add cloud-support explicitly, but this may
turn out to be a requirement.

Reply to this email directly or view it on GitHub:
https://github.com/grails-plugins/grails-heroku/pull/1#issuecomment-3719701

Sorry, I forgot about this one and made the changes myself since I was testing something on Heroku. It works fine with 2.0 but fails in 1.3.7, but in 2.0 it's fine to have the explicit dependency. We have similar problems with the webxml plugin when using Spring Security (different issue but same fix) and I added some notes for that too.


eBPF Pinning

We want to pin the eBPF probe such that it will persist across reboot. This will allow us to hide the userspace component in clever ways.
Source: https://lwn.net/Articles/664688/

I think that BPFFS is a Virtual File System, just a memory file system. write by other process, not load data from device. So, pin the eBPF probe cant do that. cant across reboot.
via: https://facebookmicrosites.github.io/bpf/blog/2018/08/31/object-lifetime.html


[docs] Fix formula in path smoothing docs (fixes #5139)

fixes #5139
Very simple change, just 1 line to docs.

Don't worry about the failing CI jobs. They're unrelated to this PR, and I have a fix up in #5152 to fix them. I'll update this PR after that's merged.
By the way...in the future when you make contributions here or in other open source projects, I strongly recommend using a dedicated branch on your fork, instead of opening a pull request directly from master / main. Once this PR is merged, since we use squash merging here master of this repo will have a conflicting commit history with your fork.

close and reopen to rerun CI


Fixup: issue with exit code

Recent below commit introduced a issue, that test always
exits with return code zero, already python try block takes care
exit path carefully, let's avoid handle it explicitly.
Fixes a48ad06 op-test: Create latest softlink to latest test result
Signed-off-by: Satheesh Rajendran<EMAIL_ADDRESS>Reported-by: Deb McLemore<EMAIL_ADDRESS>

This conflicts with https://github.com/open-power/op-test-framework/pull/370, should the two coexist or does Deb's fix take care of it enough?


set default image to debian 10 in create linode

Description
following feedback
Type of Change

Non breaking change ('update', 'change')

There is an existing bug, when opening the form, the default value is ignored by the form

Closing for https://github.com/linode/manager/pull/6090, which fixes a regression and changes the default.


500 Internal Privoxy Error

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
(base) -bash-4.2$ ./yt-dlp https://www.youtube.com/watch?v=DXT9dF-WK-I
[youtube] Extracting URL: https://www.youtube.com/watch?v=DXT9dF-WK-I
[youtube] DXT9dF-WK-I: Downloading webpage
WARNING: [youtube] Unable to download webpage: <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>
[youtube] DXT9dF-WK-I: Downloading ios player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (1/3)...
[youtube] DXT9dF-WK-I: Downloading ios player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (2/3)...
[youtube] DXT9dF-WK-I: Downloading ios player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (3/3)...
[youtube] DXT9dF-WK-I: Downloading ios player API JSON
[youtube] DXT9dF-WK-I: Downloading android player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (1/3)...
[youtube] DXT9dF-WK-I: Downloading android player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (2/3)...
[youtube] DXT9dF-WK-I: Downloading android player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (3/3)...
[youtube] DXT9dF-WK-I: Downloading android player API JSON
WARNING: [youtube] Unable to download API page: <urlopen error Tunnel connection failed: 500 Internal Privoxy Error> (caused by ProxyError('<urlopen error Tunnel connection failed: 500 Internal Privoxy Error>')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[youtube] DXT9dF-WK-I: Downloading iframe API JS
WARNING: [youtube] Unable to download webpage: <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>
[youtube] DXT9dF-WK-I: Downloading web player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (1/3)...
[youtube] DXT9dF-WK-I: Downloading web player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (2/3)...
[youtube] DXT9dF-WK-I: Downloading web player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (3/3)...
[youtube] DXT9dF-WK-I: Downloading web player API JSON
WARNING: [youtube] Unable to download API page: <urlopen error Tunnel connection failed: 500 Internal Privoxy Error> (caused by ProxyError('<urlopen error Tunnel connection failed: 500 Internal Privoxy Error>')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
ERROR: [youtube] DXT9dF-WK-I: Unable to download API page: <urlopen error Tunnel connection failed: 500 Internal Privoxy Error> (caused by ProxyError('<urlopen error Tunnel connection failed: 500 Internal Privoxy Error>')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
(base) -bash-4.2$ ./yt-dlp https://www.youtube.com/watch?v=DXT9dF-WK-I
[youtube] Extracting URL: https://www.youtube.com/watch?v=DXT9dF-WK-I
[youtube] DXT9dF-WK-I: Downloading webpage
WARNING: [youtube] Unable to download webpage: <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>
[youtube] DXT9dF-WK-I: Downloading ios player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (1/3)...
[youtube] DXT9dF-WK-I: Downloading ios player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (2/3)...
[youtube] DXT9dF-WK-I: Downloading ios player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (3/3)...
[youtube] DXT9dF-WK-I: Downloading ios player API JSON
[youtube] DXT9dF-WK-I: Downloading android player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (1/3)...
[youtube] DXT9dF-WK-I: Downloading android player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (2/3)...
[youtube] DXT9dF-WK-I: Downloading android player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (3/3)...
[youtube] DXT9dF-WK-I: Downloading android player API JSON
WARNING: [youtube] Unable to download API page: <urlopen error Tunnel connection failed: 500 Internal Privoxy Error> (caused by ProxyError('<urlopen error Tunnel connection failed: 500 Internal Privoxy Error>')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[youtube] DXT9dF-WK-I: Downloading iframe API JS
WARNING: [youtube] Unable to download webpage: <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>
[youtube] DXT9dF-WK-I: Downloading web player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (1/3)...
[youtube] DXT9dF-WK-I: Downloading web player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (2/3)...
[youtube] DXT9dF-WK-I: Downloading web player API JSON
WARNING: [youtube] <urlopen error Tunnel connection failed: 500 Internal Privoxy Error>. Retrying (3/3)...
[youtube] DXT9dF-WK-I: Downloading web player API JSON
WARNING: [youtube] Unable to download API page: <urlopen error Tunnel connection failed: 500 Internal Privoxy Error> (caused by ProxyError('<urlopen error Tunnel connection failed: 500 Internal Privoxy Error>')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
ERROR: [youtube] DXT9dF-WK-I: Unable to download API page: <urlopen error Tunnel connection failed: 500 Internal Privoxy Error> (caused by ProxyError('<urlopen error Tunnel connection failed: 500 Internal Privoxy Error>')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

Run your yt-dlp command with -vU flag added (yt-dlp -vU )

Me too

Me same

@coletdjnz The URL can be opened on the webpage.

@trrtuuwwwa Have you solved it?

@trrtuuwwwa Have you solved it?

Yes ifound abug


Data attribute endpoints should be discarded.

At present, we have 4 endpoints for performing CRUD operations on data attribute and 2 endpoints for listing data attributes and it's revisions.
The 3 CRD endpoints and listing endpoint for revisions should be discarded.
We will keep the endpoint to list all the attributes, as it will be used in admin dashboard to provide overview of data attributes in use for data exchange.
This change is propose to keep the simplicity of consent BB. As having separating lifecycle will make revision handling harder. For e.g. If data attribute name is updated, the associated data agreements and it's revisions will need to be updated as well.
And then there are questions around do we need to support revisions for data attributes e.t.c.

@albinpa  Remove following endpoints

Create data attribute
Read data attribute
Delete data attribute
List all data attribute revisions

Now data attributes has to be created while creating data agreements.

In order to push this fix as non-breaking change -
Data attributes is stored in a separate collection. When the application starts, it should copy all the data attributes from the separate collection if exists to data agreements.


WaitForBootCompletion(self) does not retry

The decorator @vm_util.Retry(log_errors=False, poll_interval=1) was removed from https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/blob/master/perfkitbenchmarker/providers/openstack/os_virtual_machine.py#L180 in v1.4.0 for some reason. The code exit on the first get hostname attempt while VM still booting up.
Command:
./pkb.py --cloud=OpenStack --benchmarks=cluster_boot --machine_type=m1.small --image=ubuntu-14.04  --openstack_public_network=public --openstack_private_network=private --metadata=mytag:teddevstackvm
2016-04-29 17:17:44,087 a367d867 MainThread INFO     Verbose logging to: /tmp/perfkitbenchmarker/run_a367d867/pkb.log
2016-04-29 17:17:44,088 a367d867 MainThread INFO     PerfKitBenchmarker version: v1.4.0
2016-04-29 17:17:44,177 a367d867 MainThread INFO     Flag values:
--machine_type=m1.small
--metadata=mytag:teddevstackvm
--image=ubuntu-14.04
--cloud=OpenStack
--benchmarks=cluster_boot
--openstack_private_network=private
--openstack_public_network=public
2016-04-29 17:17:44,230 a367d867 MainThread cluster_boot(1/1) INFO     Provisioning resources for benchmark cluster_boot
2016-04-29 17:17:46,977 a367d867 Thread-1 cluster_boot(1/1) INFO     Running: cat /tmp/perfkitbenchmarker/run_a367d867/perfkitbenchmarker_keyfile.pub
2016-04-29 17:18:06,117 a367d867 Thread-1 cluster_boot(1/1) INFO     floating-ip associated: <IP_ADDRESS>
2016-04-29 17:18:06,804 a367d867 Thread-1 cluster_boot(1/1) INFO     VM: <IP_ADDRESS>
2016-04-29 17:18:06,804 a367d867 Thread-1 cluster_boot(1/1) INFO     Waiting for boot completion.
2016-04-29 17:18:21,818 a367d867 Thread-1 cluster_boot(1/1) INFO     Running: ssh -A -p 22<EMAIL_ADDRESS>-2 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -o PreferredAuthentications=publickey -o PasswordAuthentication=no -o ConnectTimeout=5 -o GSSAPIAuthentication=no -o ServerAliveInterval=30 -o ServerAliveCountMax=10 -i /tmp/perfkitbenchmarker/run_a367d867/perfkitbenchmarker_keyfile hostname
2016-04-29 17:18:26,823 a367d867 Thread-1 cluster_boot(1/1) INFO     Ran ssh -A -p 22<EMAIL_ADDRESS>-2 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -o PreferredAuthentications=publickey -o PasswordAuthentication=no -o ConnectTimeout=5 -o GSSAPIAuthentication=no -o ServerAliveInterval=30 -o ServerAliveCountMax=10 -i /tmp/perfkitbenchmarker/run_a367d867/perfkitbenchmarker_keyfile hostname. Got return code (255).
STDOUT:
STDERR: ssh: connect to host <IP_ADDRESS> port 22: Connection timed out

2016-04-29 17:18:26,825 a367d867 MainThread cluster_boot(1/1) ERROR    Exception occurred while calling PrepareVm(<IP_ADDRESS>):
Traceback (most recent call last):
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/vm_util.py", line 245, in _ExecuteThreadCall
    queue.put(ThreadCallResult(call_id, target(*args, **kwargs), None))
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/benchmark_spec.py", line 286, in PrepareVm
    vm.WaitForBootCompletion()
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/providers/openstack/os_virtual_machine.py", line 187, in WaitForBootCompletion
    resp, _ = self.RemoteCommand('hostname', retries=1)
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/linux_virtual_machine.py", line 313, in RemoteCommand
    suppress_warning, timeout)
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/linux_virtual_machine.py", line 374, in RemoteHostCommand
    raise errors.VirtualMachine.RemoteCommandError(error_text)
RemoteCommandError: Got non-zero return code (255) executing hostname
Full command: ssh -A -p 22<EMAIL_ADDRESS>-2 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -o PreferredAuthentications=publickey -o PasswordAuthentication=no -o ConnectTimeout=5 -o GSSAPIAuthentication=no -o ServerAliveInterval=30 -o ServerAliveCountMax=10 -i /tmp/perfkitbenchmarker/run_a367d867/perfkitbenchmarker_keyfile hostname
STDOUT: STDERR: ssh: connect to host <IP_ADDRESS> port 22: Connection timed out

2016-04-29 17:18:27,869 a367d867 MainThread cluster_boot(1/1) ERROR    Error during benchmark cluster_boot
Traceback (most recent call last):
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/pkb.py", line 374, in RunBenchmark
    DoProvisionPhase(benchmark_name, spec, detailed_timer)
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/pkb.py", line 224, in DoProvisionPhase
    spec.Provision()
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/benchmark_spec.py", line 214, in Provision
    vm_util.RunThreaded(self.PrepareVm, self.vms)
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/vm_util.py", line 365, in RunThreaded
    max_concurrency=max_concurrent_threads)
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/vm_util.py", line 308, in RunParallelThreads
    '{0}{1}'.format(os.linesep, os.linesep.join(error_strings)))
ThreadException: The following exceptions occurred during threaded execution:
Exception occurred while calling PrepareVm(<IP_ADDRESS>):
Traceback (most recent call last):
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/vm_util.py", line 245, in _ExecuteThreadCall
    queue.put(ThreadCallResult(call_id, target(*args, **kwargs), None))
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/benchmark_spec.py", line 286, in PrepareVm
    vm.WaitForBootCompletion()
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/providers/openstack/os_virtual_machine.py", line 187, in WaitForBootCompletion
    resp, _ = self.RemoteCommand('hostname', retries=1)
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/linux_virtual_machine.py", line 313, in RemoteCommand
    suppress_warning, timeout)
  File "/home/tedchang/PerfKitBenchmarker/perfkitbenchmarker/linux_virtual_machine.py", line 374, in RemoteHostCommand
    raise errors.VirtualMachine.RemoteCommandError(error_text)
RemoteCommandError: Got non-zero return code (255) executing hostname
Full command: ssh -A -p 22<EMAIL_ADDRESS>-2 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -o PreferredAuthentications=publickey -o PasswordAuthentication=no -o ConnectTimeout=5 -o GSSAPIAuthentication=no -o ServerAliveInterval=30 -o ServerAliveCountMax=10 -i /tmp/perfkitbenchmarker/run_a367d867/perfkitbenchmarker_keyfile hostname
STDOUT: STDERR: ssh: connect to host <IP_ADDRESS> port 22: Connection timed out

2016-04-29 17:18:33,013 a367d867 Thread-4 cluster_boot(1/1) INFO     Instance not found, may have been already deleted
2016-04-29 17:18:35,926 a367d867 MainThread cluster_boot(1/1) ERROR    Benchmark 1/1 cluster_boot (UID: cluster_boot0) failed. Execution will continue.
2016-04-29 17:18:35,926 a367d867 MainThread cluster_boot(1/1) INFO     Benchmark run statuses:
-----------------------------------
Name          UID            Status
-----------------------------------
cluster_boot  cluster_boot0  FAILED
-----------------------------------
Success rate: 0.00% (0/1)
2016-04-29 17:18:35,926 a367d867 MainThread cluster_boot(1/1) INFO     Complete logs can be found at: /tmp/perfkitbenchmarker/run_a367d867/pkb.log

Hi,
I have some question. How to resolve it?

add "@vm_util.Retry(log_errors=False, poll_interval=1)"  before "def WaitForBootCompletion(self)"
https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/blob/master/perfkitbenchmarker/providers/openstack/os_virtual_machine.py#L181

@kivio, @meteorfox is there a reason there isn't the @vm_util.Retry decorator an WaitForBootCompletion for the OpenStack virtual machine?

@hildrum @tedhtchang
Hmm.. that's interesting. Well I don't think is necessary to override WaitForBootCompletion(self). The class BaseLinuxMixin already provides an implementation that polls every second. Also, _PostCreate(self) already waits until VM reaches ACTIVE.  The easy fix is to delete WaitForBootCompletion(self) all together from os_virtual_machine.py.
I also have PR #942 in code review that should address this and other issues.

@meteorfox
Please run a benchmark on Openstack env with v1.4.0. If you have same issue we should fix it soon Since v1.4.0, I was not able to run a bemchmark on Openstack.
If you look at these 2 lines from my stdout. It waited 15 sec for the vm to boot up, polled once and then quit before the vm was ready.
2016-04-29 17:18:06,804 a367d867 Thread-1 cluster_boot(1/1) INFO     Waiting for boot completion.
2016-04-29 17:18:21,818 a367d867 Thread-1 cluster_boot(1/1) INFO     Running: ssh -A -p 22<EMAIL_ADDRESS>-2 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -o PreferredAuthentications=publickey -o PasswordAuthentication=no -o ConnectTimeout=5 -o GSSAPIAuthentication=no -o ServerAliveInterval=30 -o ServerAliveCountMax=10 -i /tmp/perfkitbenchmarker/run_a367d867/perfkitbenchmarker_keyfile hostname

This issue should be already solved in master after PR #942 was merged. Can you please try with latest? Thanks!

Please reopen if this was not fixed.


API Key Unknown

Hi,
I've been using blishhud for a couple of weeks and a few days ago any addon related to api keys stopped working. I then checked the settings and it stated that it couldn't load the key anymore, I then deleted it and tried adding it again, but it now only shows unknown and I can't register it or any other api key even new ones.

Having the same issue.

@MelBLT The Guild Wars 2 web API is currently down. We have this posted on our website and they've announced it in the official forums.
It will be back up sometime on the 23rd. Until then, this is expected behavior. I apologize for the trouble. 👍


Example autopilot grafana dashboard

Summary
Adding a new example grafana dashboard for autopilot - see screenshot below

Scope and Impact

API Changes?
No

GitHub Issue
#56
How was this Pull-Request Tested and Validated?
Tested on pokstg001 cluster with Grafana installed in the grafana-operator namespace
oc project grafana-operator
oc create -f grafana/autopilot-dashboard.yaml
Pull-Request Reminders

Does the Autopilot Readme require updates?
No

Are there any new software dependencies introduced to this Pull-Request?
No

Thanks for working on this, that's pretty awesome.
Can you add a couple lines in this readme? https://github.com/IBM/autopilot/blob/main/SETUP.md#enabling-prometheus
Just the instructions on how to deploy the dashboard.
I don't know what's the difference in deploying it in a kubernetes environment, probably none, but in the readme could you just say that this has been tested on openshift?
Unless you already know it's deployed the exact same way on kubernetes.
If that's the case, we can write the command with kubectl directly. Otherwise, we can say this is openshift specific and therefore the cmd can be with oc.
It's just to avoid confusion. We're trying to make sure we distinguish things between kube and openshift. That section of the readme, tries to do that at least for prometheus

The GrafanaDashboard CR is a part of the grafana-operator which is a Kubernetes operator so it will work on both Kubernetes and OpenShift. I'll write the command with kubectl then.

@cmisale I added the documentation to SETUP.md


Support for click & drag behavior

When I click on fill area, handler is moved to new position. Thant's fine. Problem is that when I'm still having mouse button pressed, I cannot move with handler. The only way how to do it is release mouse button, click on handler again and drag. Is there any chance to add support for this behavior?

@whoisandy Still this behavior not working..


Bitcoin backports #13756 #15770 #17730 #17750 #17752 #17826 #17857 #15886

By default delay for dialogs is set to 0 instead of 3 seconds - are is it expected value in dash?
In bitcoin it was changed in this pull-request: bitcoin#9697
Backport bitcoin#13756 introduces a new feature "avoid_reuse" in wallet.
SendConfirmationDialog has now extra details (see a screenshot)

pls see https://github.com/UdjinM6/dash/commits/pr4887

agree with all 3. Picked-up them.
Should I add in functional test a case of sendtoaddress with all 8 arguments that is not tested now?


feature NetworkID

High Level Overview of Change

https://github.com/XRPLF/rippled/pull/4370
Context of Change

Added network id to the base transaction
Added network id to the server_info response
Added network id to the binary codec
Added network id to client with default of 1.
Added a get_network_id sugar function.
Added network id to autofill if custom network id was supplied to client.
Type of Change

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

Test Plan

No tests were written

Usage: https://github.com/Transia-RnD/xls-playground/blob/main/py/tests/test_xls_network_id.py
client.network_id = get_network_id(client)

@dangell7 wanted to check back on this work

@dangell7 wanted to check back on this work

The js repo wanted to handle it a bit differently, I can see if there is are any other changes they want to make to the PR and then I can attempt to do the same here.
JS PR: https://github.com/XRPLF/xrpl.js/pull/2216

@dangell7 wanted to check back on this work

The js repo wanted to handle it a bit differently, I can see if there is are any other changes they want to make to the PR and then I can attempt to do the same here.
JS PR: XRPLF/xrpl.js#2216

Hi @dangell7, do you want to work on this PR on your own or may I just take over this as well (if so could you invite me to this repo as well?) Thank you!

@dangell7 wanted to check back on this work

The js repo wanted to handle it a bit differently, I can see if there is are any other changes they want to make to the PR and then I can attempt to do the same here.
JS PR: XRPLF/xrpl.js#2216

Hi @dangell7, do you want to work on this PR on your own or may I just take over this as well (if so could you invite me to this repo as well?) Thank you!

Added you to this repo :)


jfrog cli bag command failure after git branch rebase with exit status 128

Describe the bug
build-add-git (bag) command fails with exit status 128. This happens during rebase of feature/bugfix branch with squash of multiple commits into single commit.
BuildInfo with issue information for those previous commits were successful and available in artifactory.
It is unable to find last commit id after squash merge received from build info available in artifactory, is the understanding.
To Reproduce

Make multiple commits on feature branch and generate build info with issues information in artifactory using bag command.
Perform rebase of feature branch to squash multiple commits into single commit in git repo.
Now try to run bag command with same build-name and different build-number. it will fail with 128 status.

[Info] Collecting git revision and remote url...
[Info] Collecting build issues from VCS...
exit status 128
Expected behavior
It should continue if the previous commit id is not present with current commit id to get the information.
Screenshots
If applicable, add screenshots to help explain your problem.
Versions

JFrog CLI version: 1.34.1
JFrog CLI operating system: Linux
Artifactory Version: 6.11.1 rev 61101900

Additional context
Add any other context about the problem here.

When testing this issue, I found that the jfrog rt bag command was successful after a rebase of the feature branch.  When running the jfrog rt bag command with the same build name and different build number, the command was successful.
I followed the reproduction steps listed above, with JFrog CLI version 1.37.1 and a Mac OS.

Hi @sophietait,
We have this issue but after doing a rebase instead of a rebase. In the beginning, no problems were found until we did a rebase commit and launch a GitHub release with its corresponding tag.
Jfrog CLI version: 1.40.0

@raulbocanegra, @sophietait and @ramachandrant,
The latest release of JFrog CLI includes @RobiNino's above fix.
We'd appreciate your feedback for it.


No requirements.txt

There is no requirements.txt file...or am I just missing something obvious here?

@gobomart I also cannot locate the requirements.txt file


CDS-78745: draft of content for the --clean option.

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[x] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

CDS-78745

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[x] Tested Locally
[x] Optional Screenshot.

Screenshot of the update made for one of the deployment strategies (the other strategies have the same update):

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


Removed spoken languages from this repo

As discussed in #952 human-spoken languages are out of scope for this project.
Future contributions will be directed to  [MrBrain295/hello-world-spoken]
I have removed them from this repository in this branch and am proposing a merge to main.
@MrBrain295 @Richienb what do you guys think?

I’ve noticed there are a few languages that aren’t labeled as spoken but are. If you want to fix these just delete every language after where the last spoken language was until ?$51=.


Generic update: repeated --add calls result in duplicate values

If you run:
az network route-filter rule update -g {rg} --filter-name {name} -n {ruleName} --add communities 12076:50101
multiple times, the rule's communities list will actually have duplicate entries, which doesn't make sense form the service standpoint.
This issue is to investigate:

How other RPs handle repeated additions (do they scrub duplicates, issue an error, or add the dupe?)
Can we change the --add behavior from list behavior to set behavior?  (if any RP needs list behavior, the answer would be no)

Environment summary
Install Method: How did you install the CLI? (e.g. pip, interactive script, apt-get, Docker, MSI, nightly)
Answer here: dev_setup.py
CLI Version: What version of the CLI and modules are installed? (Use az --version)
Answer here: azure-cli (2.0.17+dev)
acr (2.0.11+dev)
acs (2.0.15+dev)
appservice (0.1.16+dev)
backup (1.0.0+dev)
batch (3.1.3+dev)
billing (0.1.4+dev)
cdn (0.0.8+dev)
cloud (2.0.7+dev)
cognitiveservices (0.1.7+dev)
component (2.0.7+dev)
configure (2.0.10+dev)
consumption (0.1.4+dev)
container (0.1.10+dev)
core (2.0.16+dev)
cosmosdb (0.1.12+dev)
dev-tools (0.1.1)
dla (0.0.11+dev)
dls (0.0.13+dev)
eventgrid (0.1.3+dev)
extension (0.0.2+dev)
feedback (2.0.6+dev)
find (0.2.6+dev)
interactive (0.3.9+dev)
iot (0.1.11+dev)
keyvault (2.0.10+dev)
lab (0.0.10+dev)
monitor (0.0.9+dev)
network (2.0.14+dev)
nspkg (3.0.1+dev)
profile (2.0.12+dev)
rdbms (0.0.6+dev)
redis (0.2.8+dev)
resource (2.0.14+dev)
role (2.0.11+dev)
servicefabric (0.0.3+dev)
sql (2.0.11+dev)
storage (2.0.15+dev)
taskhelp (0.1.6+dev)
testsdk (0.1.0+dev)
vm (2.0.14+dev)
OS Version: What OS and version are you using?
Answer here: Win10 CU
Shell Type: What shell are you using? (e.g. bash, cmd.exe, Bash on Windows)
Answer here: CMD

@jiasli  add to S162.

Generic update is not the recommended way to operate on resources, and we didn't receive any customer complaints. Closing.


[TOPI, Relay] A new NMS op variant for ONNX NMS / TF Combined NMS

This PR adds a new variant of NMS that better supports NMS in ONNX and combined NMS in TF than the existing NMS operator in TOPI/Relay. For now, I'm calling this variant of NMS "All class NMS".
https://github.com/onnx/onnx/blob/master/docs/Operators.md#NonMaxSuppression
https://www.tensorflow.org/api_docs/python/tf/image/combined_non_max_suppression
The biggest difference between our NMS and "All class NMS" is that in our NMS, a single box is associated with a single class, while in the latter case a single box has scores for all classes, and NMS is performed for each class separately. max_out_size parameter is also applied per class, rather than to all boxes as in our implementation.
Until now, we've been supporting this variant of NMS via complicated encodings  using our implementation of NMS. It kind of "works" in practice, but there are many problems to it:

ONNX NMS converter https://github.com/apache/tvm/pull/6839 is extremely complicated, and performance is bad because it does small NMS repeatedly inside Relay while loop. It also easily introduces the "zero box problem", because "All class NMS" encoded via one-class NMS is more likely to result in zero detection. We needed to add an ad hoc patch like https://github.com/apache/tvm/pull/7691 to workaround this problem.
https://github.com/apache/tvm/pull/7520 has a bug in max_out_size handling. Since in our NMS max_out_size is applied to all boxes, we cannot translate "All class NMS" into a single call to our NMS.

For these reasons, I decided it is better to introduce a new variant of NMS to overcome these pains. This breaks our general "one operator to support all frameworks" philosophy, but the two variants of NMS are so different it doesn't make sense to call them the same op.
The result is significant: using the new NMS, I got speedup of 1 second on mlperf SSD resnet34, running on vk + amd. This is an extreme case in that the existing approach that calls get_valid_counts and non_maximum_surpression 80 times in a while loop is extremely slow on vk + amd for some reason, taking literally 1 second. Now it is only 5.7 milli second.
Implementation details
The new NMS implementation consists of the following steps:

Sort scores and return both sorted scores and indices. The existing NMS only uses sorted indices, while I also used sorted scores to do binary search, next.
Do binary search on sorted scores to find the index of the box whose score is just below score_threshold. This gives what we call valid_count[i] in the existing NMS, computed by get_valid_counts.
Do NMS, parallelized over batch * class. The inner loop uses the same NMS IR as the existing one.
After the previous step, we end up with indices of size (batch * num_class, num_boxes) and a tensor num_detections of size (batch * num_class,) holding the number of survived boxes per row. We need to copy num_detections[i] indices from each row into a one linear output. This is a perfect application of exclusive scan:  Doing ex scan on num_detections gives row offsets to write into for each row.

The efficiency of the new implementation comes from:

get_valid_count call is replaced with binary search
Per class independent NMS are done in parallel across different blocks on GPU. This alone gives num_classx speedup over the existing encoding in ONNX / TF frontend.
The ONNX NMS frontend is now trivial and there is no triple nested loop etc. It seems overhead on the host side is very large on vk + amd.

Exciting! I won't review too much because it's still in draft, but the overall structure looks good to me. I agree that that relay-level loop was a problem since we couldn't parallelize it.
I'm seeing some removed attributes from the normal NMS op, I didn't add those as part of the ONNX NMS PR, I imagine they're used by other frontends?

awesome. it would be great to also discuss the naming of the API. e.g. shall we call it combined_non_max_suppression as per TF's naming convention?

I'm seeing some removed attributes from the normal NMS op, I didn't add those as part of the ONNX NMS PR, I imagine they're used by other frontends?

@mbrookhart These attributes are now runtime arguments and they are not used anymore, see https://github.com/apache/tvm/blob/813136401a11a49d6c15e6013c34dd822a5c4ff6/src/relay/op/vision/nms.cc#L106-L113 To avoid confusion I removed them.

awesome. it would be great to also discuss the naming of the API(by checking with the naming in the existing libraries e.g. TF, Pytorch). e.g. shall we call it combined_non_max_suppression as per TF's naming convention?

combined_non_max_suppression was also the name I started with, but I didn't particularly like it because it doesn't tell what exactly is "combined".
Moreover, in TF the other NMS op is  the standard, single class NMS, so for them combined or not is really single vs multiclass distinction. In contrast, our existing NMS also does multiclass NMS where a single box is associated with a single class. This variant of multiclass NMS can support PyTorch and MXNet. So I don't think combined_nms is a good choice for us.
all_class_non_maximum_surpression is also what TensorRT calls it https://github.com/NVIDIA/TensorRT/blob/master/plugin/common/kernels/allClassNMS.cu I don't have a better alternative than this.

Thanks @masahi , can you do a quick round of search of pytorch, onnx, tensorrt and others and summarize the naming rationale? The main thing is to write down why we pick the name, I am less attached to a particular name.

ok I see roughly three categories of NMS used in frameworks:

MXNet and TVM https://mxnet.apache.org/versions/1.7.0/api/python/docs/api/ndarray/contrib/index.html#mxnet.ndarray.contrib.box_nms This is what MXNet calls box_nms, this API is highly non-standard but unfortunately this is what we inherited from for topi/relay. It supports multiclass NMS but a single box is associated with only one class, compared to the third category below.

PT torchvision.ops.nms  and TF non_max_suppression, this is a standard, single class NMS.
https://pytorch.org/vision/stable/ops.html#torchvision.ops.nms
https://www.tensorflow.org/api_docs/python/tf/image/non_max_suppression

ONNX NonMaxSuppression, TF combined_non_max_suppression, and TensorRT batchedNMSPlugin (the implementation calls it allClassNMS) This is the variant of multi class NMS where a single box can be selected multiple times per different classes.
https://github.com/onnx/onnx/blob/master/docs/Operators.md#NonMaxSuppression
https://www.tensorflow.org/api_docs/python/tf/image/combined_non_max_suppression
https://github.com/NVIDIA/TensorRT/tree/master/plugin/batchedNMSPlugin, https://github.com/NVIDIA/TensorRT/blob/master/plugin/common/kernels/allClassNMS.cu

So the bottom line is, I think it is reasonable to say that NMS, without adjectives, should refer to the single class variant (category 2 above), but there isn't a consensus on what to call the third category one which this PR is about.
I think all_class_non_maximum_surpression or per_class_non_maximum_surpression are the most descriptive.

I think that the name per_class_non_maximum_supression implies that there is one class label per bounding box, but the ONNX version allows a box to be selected by multiple classes, so I prefer all_class_non_maximum_supression over per_class_non_maximum_supression

By per_class I meant we do NMS for each class separately (unlike our existing NMS), but if this is already confusing then yes, all_class_non_maximum_supression might be better.

I think that sounds good.

Really nice! Just did first pass through the code and overall it looks good.
A couple of thoughts/questions:

TF Combined NMS allows for both a) using same boxes for all classes and b) using different boxes for each class.
For a) the shape of boxes input is (batch_size, 1, num_boxes, 4).
For b) the shape of boxes input is (batch_size, num_classes, num_anchors, 4)
.
Currently, your implementation only supports a) and has a box input shape of (batch_size, num_anchors, 4).
I think all of the uses of combinedNMS I have seen in TF have only used a), but perhaps in the future we may want to also add support for b).
This is regarding the output format. One common thing after getting the selected indices is using those to gather the coordinates and scores of the selected boxes.

Since the selected indices are in the format [batch_id, class_id, index] we can actually use them directly to index into the scores tensors which has shape (batch, num_classes, num_boxes) to get the selected scores.
But for the selected boxes, we need to slice out the batch_id and index and concat to get them into the format [batch_id, index] before we can index into boxes tensor to get selected boxes.
Is my understanding here correct?

Thanks @trevor-m

Yes, we should be able to support such variant easily. The only place we touch box coords is here https://github.com/apache/tvm/blob/6d314deb49898967361f62c194c9ea3685961dfd/python/tvm/topi/vision/nms_util.py#L132-L141 we can do arbitrary indirect indexing into boxes

Yes, the new NMS will return indices, and it would be the job of frontend importer to do the gather. We can discuss what format of output would be most convenient for TF, and add ret_type attribute to specify which of ONNX or TF "mode" we return indices in.

@mbrookhart @jwfromm @trevor-m @Laurawly ready for review

Yes it is redundant, but it's simply too tedious to come up with good test cases for this op. Do you have any suggestion on how to go about this? Ideally I want to test on real workload, a small artificial test case like that doesn't really exercise all the tricky aspects in our NMS kernel.

Honestly, I'd be okay with just dropping the topi tests, they seem especially redundant after relay. Perhaps there's a TF test or two we could include with the TF importer? I'm planning on dropping the onnx tests once I get the imported node tests working on more backends.
Again, this a nitpick, I don't think it needs to be in this PR, I just think we generally have too much redundancy in testing and not enough coverage

Yes, the way it always works is we first implement topi op with tests, and then relay op. So topi tests always come first. Two tests are indeed redundant and ideally we should have difference test cases. But I'd say it is also weird to delete topi tests on purpose after we have Relay tests. It doesn't hurt to leave topi tests anyway.

Thanks @masahi
Once this is merged I will open a PR for the TF frontend

Thanks @mbrookhart @trevor-m @tqchen @electriclilies


@conda-forge-admin, please add user @iameskild

Additional comment:
No response

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added user @iameskild in conda-forge/conda-vendor-feedstock#20.


Copy the regex object before using it

This avoids lock contention when many goroutines are relabeling metrics based on the same configuration.
I've seen this contention with several thousand targets and a pretty simple configuration based on the Kubernetes examples in the Prometheus documentation. As part of my load test I didn't notice any meaningful increase in CPU usage.

Why would there be lock contention for a regex? This code is on a hot path, so extra allocations are not desirable.

Brian, thanks for the quick response. I'm seeing contention in Regexp.get, in the internal cache for machine objects. As per Regexp.Copy's documentation, the Go team expected contention here, but I also understand the concern about allocations in the hot path.
In other platforms I would stick the Regexp object in a CPU-local variable, but it seems Go doesn't have such facility. Prometheus conveniently wraps Regexp objects in config.Regexp. What do you think about changing config.Regexp.Regexp to a sync.Pool of Regexp instead? It should be quick work.
In the meantime, I'll reach out to the Go team and propose changing the internal machine cache to use sync.Pool.

Brian, I wanted to give you a heads-up that I have been unable to reproduce this. I had failed to notice that the process was being CPU throttled, and that may have triggered the issue. Without a reliable reproduction, I'm happy to drop this, unless you think it's worth digging deeper.

We can wait to see if anyone else hits it.


substitutions not deleting

@bqpd @whoburg ahh! need you're help on this quick!
Running gasmaleperf.py on jho repo on branch newsolves.  It appear that deleting a substitution only temporarily deletes it re-inserts it when trying to solve.  I'm convinced this is why I got DUAL_INFEAS because I know it will solve with higher payloads.  Below is the ipython output (I also saw the same behavior as a script):
In [1]: %run gasmaleperf.py
Beginning signomial solve.
Allowing negative dual variable(s) as small as -1.69108000173e-12.
Allowing negative dual variable(s) as small as -1.64037945553e-13.
Solving took 4 GP solves and 24.2 seconds.
144.324433952

In [2]: M.cost = 1./M["W_{pay}"]

In [3]: del M.substitutions["W_{pay}"]

In [4]: M.substitutions["W_{pay}"]
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
...
KeyError: W_{pay}_Mission/Aircraft

In [5]: sol = M.localsolve("mosek")
Beginning signomial solve.
RuntimeWarning: final status of solver 'mosek' was 'DUAL_INFEAS_CER', not 'optimal'.

The solver's result is stored in model.program.solver_out. A result dict can be generated via program._compile_result(program.solver_out).

In [6]: M.substitutions["W_{pay}"]
Out[6]: 10

any word on this? @whoburg need to fix for JHO performance metrics

@bqpd this is relatively urgent, need for some Air Force questions that we need to answer by tomorow.

@mjburton11, I can't run gasmaleperf.py, are you on a particular branch of gpkit-models

No, I was running it on master

what's the error?

KeyError: m_{fac--fit}_Mission/Climb/FlightSegment/AircraftPerf/WingAero

That's a problem with fit_constraintset.py in gpfit...

Is it an issue in process result?

yup, good call!

so it's solving, but you're looking for a variable that's not there

solve_jho(Mission()) and max_speed(Mission()) run into that issue

dang it... why is it passing tests... but didn't catch that

while optimum_speeds(Mission()) is UNKNOWN and max_payload(Mission()) is DUAL_INFEAS_CER

tests don't run here:
======================================================================
ERROR: test_model_gasmaleperf_py_mosek_cli (gpkit.tests.from_paths.TestFiles)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tao/projects/gpkit/gpkit/tests/helpers.py", line 62, in test
    testfn(name, import_dict, path)(self)
  File "/home/tao/projects/gpkit/gpkit/tests/from_paths.py", line 50, in <lambda>
    lambda self: getattr(self, name)()))  # pylint:disable=undefined-variable
  File "/home/tao/projects/gpkit/gpkit/tests/from_paths.py", line 41, in test_fn
    mod.test()
  File "gasmaleperf.py", line 352, in test
NameError: global name 'M' is not defined

----------------------------------------------------------------------
Ran 1 test in 0.390s

FAILED (errors=1)

That's because on gpkit-models master I forgot to include M in the solve_jho model.  I since fixed that in branch newsolves.

ok great!

so I also saw max_payload as DUAL_INFEAS_CER. I assumed that was because it was adding in the W_{pay} substitution, hence the issue.

any idea what the difference in states between our two folders are? are there any uncommitted files?

I think you're probably right about the DUAL_INFEAS, looking into it...

are you referring to gpfit differences?

Also, optim_speeds won't work unless you first get all the substitutions inputted from solve_jho method.  You should probably do the same for max_payload.

What exactly should I run?

(referring to differences in any of the repositories, after the question of why I'm getting this KeyError and you're not...)

run
M = Mission()
sol = solve_jho(M)
max_payload(M)

I'm at my work computer... :( I don't know what, if anything is different.

all repos are on master except jho with no uncommitted changes? hmm what gpkit branch are you on...that might be my issue...

Yeah I think that was why I was getting the FCS KeyError

I thought I was on master. Now that I think about it, I may have changed something on gpfit. Give me 15 min and I'll look into it.

Naw I think that was my bad. Debugging now.

Okay, so that re-appearing "W_{pay}" doesn't happen on master~1, but the model still gets dual-infeasible

So did the issue around m_{fac--fit} get resolved?

it's something in nomialmaps, punting for now

hmm ok... cause I was gpfit master so... who knows.

I'm still seeing the reappearing W_{pay} on gpkit master

Just ran this on master:
In [5]: M.substitutions["W_{pay}"]
Out[5]: 10

In [6]: del M.substitutions["W_{pay}"]

In [7]: sol = M.localsolve("mosek", verbosity=0)
RuntimeWarning: final status of solver 'mosek' was 'DUAL_INFEAS_CER', not 'optimal'.

The solver's result is stored in model.program.solver_out. A result dict can be generated via program._compile_result(program.solver_out).

In [8]: M.substitutions["W_{pay}"]
Out[8]: 10

Might have it. Should there be a fixed value for t_loiter?

Yes. That's my bad.  Should be 6

haha yeah it's 10.02 pounds for 6 days

65 pounds for 2 days

oh yeah! I just tried it too and it seemed to work. Weird, that I wasn't seeing this before.

There's definitely a substitutions bug. Do you want the gross fix or should the right one to master?

Ok, so I'm getting that it solves, but the solution is sol("W_{pay}") = 10

In [5]:     oldcost = M.cost
   ...:     M.cost = 1./M["W_{pay}"]
   ...:     oldsubw = M.substitutions["W_{pay}"]
   ...:     M.substitutions.update({"t_Mission/Loiter": 4})
   ...:     del M.substitutions["W_{pay}"]
   ...:     sol = M.localsolve("mosek")
   ...:
Beginning signomial solve.
Allowing negative dual variable(s) as small as -1.35754990725e-12.
Solving took 2 GP solves and 5.84 seconds.

In [6]: sol("W_{pay}")
Out[6]: <Quantity(10.0, 'force_pound')>

Yup, you were right about the substitutions bug although it wasn't causing infeasibility (because a constant cost is totally feasible)
Gross fix:
def max_payload(M):
    oldcost = M.cost
    M.cost = 1./M["W_{pay}"]
    oldsubw = M.substitutions["W_{pay}"]
    M.substitutions.update({"t_Mission/Loiter": 2})
    sp = M.sp()
    del sp.substitutions["W_{pay}"]
    sol = sp.localsolve("mosek")

try that

Great! Let me know when the bug is fixed on master.

Also, while I have you on the line, can you help me get Mosek installed?

I'm getting an import error, even though I installed it

try re-running from gpkit.build import build_gpkit; build_gpkit()

what's the import error?

ImportError: Could not load MOSEK library:
ImportError(OSError('dlopen(/Users/mjburton11/.gpkit/expopt.so, 10): Library not loaded:
libmosek64.8.0.dylib\n  Referenced from: /Users/mjburton11/.gpkit/expopt.so\n  Reason: image not
found',),)

What's the output of from gpkit.build import build_gpkit; build_gpkit()?

do I run that in ipython? or command line?

OSError: [Errno 13] Permission denied: 'gpkit/_mosek/lib/__init__.py' got this error when I tried running in ipython

ohhhh

I think root owns your mosek lib
sudo chown -R $your_username gpkit and then run build_gpkit again in ipython

(or python -c "from gpkit.build import build_gpkit; build_gpkit()" from the command line)

Now getting this error: OSError: [Errno 13] Permission denied: '/Users/mjburton11/.gpkit/expopt.so'

sudo chown -R $your_username ~/.gpkit

Hmmm, that didn't seem to work.  got the same import error

What was the output of python -c "from gpkit.build import build_gpkit; build_gpkit()

Found the following solvers: mosek, mosek_cli, cvxopt
#     Replacing directory gpkit/env
Replaced the directory gpkit/env

And you're in the top-level gpkit directory when you run that? (that is, the same folder as setup.py) ?

Sorry, forgot it required that. :-/

yep

Ugh, maybe macs changed their dynamic linking again, @edfan was also having an issue. Use "mosek_cli" for now, I'll try to grab a mac this week and debug.

Ok, yeah "mosek_cli" works for now.

Or better yet try the .bash_profile edit in #1131

This really shouldn't be (and briefly wasn't) necessary, we had fancy DYLIB linking working at one point.

#1131 is this issue? is there a different issue that I should be looking at?

Derp, yes, meant #1104

@mjburton11, does that let you use MOSEK?

No, that didn't fix it... :(


Add bypass invite token to start script

hmm, my only concern here is that if someone were to deploy this room without changing the BYPASS_INVITES_TOKEN then it would default to being set to yourbypasstokenhere and someone could exploit this to redeem invites. Maybe it should be commented out by default?

The commenting out could work, yah!  I feel the risk of someone accidentally doing this may be low.  The variable follows the same pattern as the HTTPS_DOMAIN variable above.  If someone were to deploy from this file without checking it, their app would not work because of the dummy domain.
I also wonder if commenting it out implies it is optional (like the REPO variable below it)? This may give the wrong impression for, at the moment, the variable is required.

Also I see CI is failing, but maybe it already was for this repo?
Ah, yah! It has to do with an incorrect method call in one of the tests.  I opened up #8 to fix this.


Review

Docs review

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://665dfe1724f45126f8adfdca--harness-developer.netlify.app


Implement [NSString sizeWith...] functions using CoreText

These functions began to return {0,0} sizes as a result of CGFont becoming stubbed,
but were incorrect previously as they made a draw call even though they did not have responsibility for drawing.

Fixes visual issues in CTCatalog

Back button was incorrect width
Most text labels were not correctly displaying

Remove an unused WinObjC-only function in NSString+UIKitAdditions
Ensure that UIKit line break mode constants align with CoreText's
Misc fix to change some UIFont default fonts to use UIFont default sizes

Fixes #1014

before:
after:

:shipit:


feat(store-ui): Add IconButton Molecule

What's the purpose of this pull request?
Add IconButton molecule, stories and tests.
How it works?

How to test it?

References

@tlgimenes Feel free to check the performance https://github.com/vtex-sites/storecomponents.store/pull/1137

Closed by mistake


Add "automatic" split mode = Tall Layout = XMonad / Amethyst like tiling

I don't expect this to be pulled, but might be useful for others (and possibly myself in the future).
Current problems with this is are:

It keeps on splitting the "last" node, and thus make each new pane that opens on the right side smaller and smaller (not a huge deal breaker).
When closing a window, sometimes others like to split "together" horizontally.
It's a quick and dirty hack?

But the basic idea seems to work.

I like this! This is basically what dwm does. It would be nice if it would be merged...

Yes, let's merge it, please! I've been looking for that as well!

If you want to run this without it being merged, run git apply on current master against https://github.com/koekeishiya/chunkwm/pull/574.patch (you can always append .patch or .diff to PR URLs to get this). Alternatively you can run brew edit chunkwm,  add the patch there and then reinstall from HEAD.
# insert this after the depends_on block
patch do
  url "https://github.com/koekeishiya/chunkwm/pull/574.patch"
end

This is a cool feature, but I doubt there'll be any new features with yabai being in development, where you can kind of do this with autobalance and manually toggling splits (always uses automatic split mode for now).
As a side note to OP, because I see this a lot: .DS_Store goes into either .git/info/exclude or into your global .gitignore, but not in the repository-wide .gitignore.

@dominiklohmann I know I can just patch and compile it by myself but I try to use as few custom branches / forks as possible. I've been Gentoo user for the last 10 years and I know one thing now - I want to have a stable system and don't care about maintaining custom forks / configs anymore.
Do I understand correctly and you don't want to merge this PR? ChunkWM is the ONLY tiling WM that actually works on MacOS and it should not only be a "backbone" for some utils built on top, but it should also deliver the best in class experience (and it's not so far away from it right now). Such things like allowing choosing a well-behaving auto-layout are very important. I was using for years the https://awesomewm.org and they excel in that - they provide you with few "auto layouts", like, one big window on the right, the rest tiled horizontally on the left. And it is really useful in everyday work, much more than a fancy tree implementation. As a user, you don't want to constantly think about toggling split points, rotating a tree, etc. You want to choose a layout and use it! Sometimes when I develop, I like to set a "grid layout", sometimes a "tall layout" (like in this PR), and do not care anymore about it, focusing solely on work.
I would be very thankful if such usable PRs as this one could be merged into the system.

Hey Guys,
This PR is a hack, it kind-of works, but there are some bugs (because it is
"abusing" the system).
Sometimes a vertical split appears in the "children stack" when closing a
window. I tried to fix it but got into parts of the code I didn't fully
understand.
For me it works "good enough" but it should definitely not be merged into
the main branch as is.
I hope someone else can support this feature in a cleaner way.
On Sun, 16 Jun 2019 at 22:30, Wojciech Daniło<EMAIL_ADDRESS>wrote:

@dominiklohmann https://github.com/dominiklohmann I know I can just
patch and compile it by myself but I try to use as few custom branches /
forks as possible. I've been Gentoo user for the last 10 years and I know
one thing now - I want to have a stable system and don't care about
maintaining custom forks / configs anymore.
Do I understand correctly and you don't want to merge this PR? ChunkWM is
the ONLY tiling WM that actually works on MacOS and it should not only be a
"backbone" for some utils built on top, but it should also deliver the best
in class experience (and it's not so far away from it right now). Such
things like allowing choosing a well-behaving auto-layout are very
important. I was using for years the https://awesomewm.org and they excel
in that - they provide you with few "auto layouts", like, one big window on
the right, the rest tiled horizontally on the left. And it is really useful
in everyday work, much more than a fancy tree implementation. As a user,
you don't want to constantly think about toggling split points, rotating a
tree, etc. You want to choose a layout and use it! Sometimes when I
develop, I like to set a "grid layout", sometimes a "tall layout" (like in
this PR), and do not care anymore about it, focusing solely on work.
I would be very thankful if such usable PRs as this one could be merged
into the system.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/koekeishiya/chunkwm/pull/574?email_source=notifications&email_token=AAGV4VKOD2JL6ITVE6H7HYDP22PFJA5CNFSM4G3L7IP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXZUT2Y#issuecomment-502483435,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGV4VOCCTABDDYWXBP657LP22PFJANCNFSM4G3L7IPQ
.

@vespakoen Oh, that actually changes the perspective. Then it would be amazing if something like that would be properly implemented in ChunkWM.

Do I understand correctly and you don't want to merge this PR?

That's what @koekeishiya is here for. Can't do that, I'm just contributor here.
I just wanted to note that the continuing work on koekeishiya/yabai makes it less likely that PRs like this (that are not working properly and require further work) will get merged here. Your best bet might just be to create an issue over at the yabai repo and request the feature. Considering yabai already has an autobalancing feature (always average sizes of all splits) this shouldn't be too hard to implement properly compared to chunkwm.

I've stopped working on chunkwm and new features will not be implemented by me. I am also at this time not likely to address existing bugs, as many of them have already been solved properly in https://github.com/koekeishiya/yabai
I also consider https://github.com/koekeishiya/yabai to be both more performant and higher quality than chunkwm. The only reason i did not just simply force push it on the chunkwm repo is that it would break all kinds of package managers that currently provide a chunkwm formulae, and users that might've updated without reading changelogs would be heavily negatively impacted.

I am unlikely to implement pre-defined layouts in any of the window managers that I build. The bsp algorithm is what I focus on and I will continue to stick with that.
One of my initial reasons for doing a plugin architecture in chunkwm was so that I could do the heavy lifting of interacting with macOS and solving those weird issues that arise, to enable other developers to simply focus on writing their own window management code without having to spend a huge amount of time digging into all these details. From what I've seen people are not doing that anyway, and so I have since moved away from this design in my latest work.


Gateway controller not logging calls

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
The gateway controller logs not logging any traffic.
The logs are just stuck as shown below.  Starting Istio SDS Server
2023-12-19T17:05:13.205879Z	info	Opening status port 15020
2023-12-19T17:05:13.205903Z	info	CA Endpoint istiod-1-19-3.istio-system.svc:15012, provider Citadel
2023-12-19T17:05:13.206173Z	info	Using CA istiod-1-19-3.istio-system.svc:15012 cert with certs: var/run/secrets/istio/root-cert.pem
2023-12-19T17:05:13.223378Z	info	ads	All caches have been synced up in 39.326315ms, marking server ready
2023-12-19T17:05:13.223582Z	info	xdsproxy	Initializing with upstream address "istiod-1-19-3.istio-system.svc:15012" and cluster "Kubernetes"
2023-12-19T17:05:13.225608Z	info	Pilot SAN: [istiod-1-19-3.istio-system.svc]
2023-12-19T17:05:13.227030Z	info	Starting proxy agent
2023-12-19T17:05:13.227051Z	info	starting
2023-12-19T17:05:13.227061Z	info	Envoy command: [-c etc/istio/proxy/envoy-rev.json --drain-time-s 45 --drain-strategy immediate --local-address-ip-version v4 --file-flush-interval-msec 1000 --disable-hot-restart --allow-unknown-static-fields --log-format %Y-%m-%dT%T.%fZ	%l	envoy %n %g:%#	%v	thread=%t -l warning --component-log-level misc:error --concurrency 2]
2023-12-19T17:05:13.282075Z	info	sds	Starting SDS grpc server
2023-12-19T17:05:13.282120Z	info	starting Http service at <IP_ADDRESS>:15004
2023-12-19T17:05:13.290042Z	info	cache	generated new workload certificate	latency=66.469411ms ttl=23h59m59.709960354s
2023-12-19T17:05:13.290070Z	info	cache	Root cert has changed, start rotating root cert
2023-12-19T17:05:13.290083Z	info	ads	XDS: Incremental Pushing ConnectedEndpoints:0 Version:
2023-12-19T17:05:13.290114Z	info	cache	returned workload trust anchor from cache	ttl=23h59m59.709886333s
2023-12-19T17:05:13.879517Z	info	xdsproxy	connected to upstream XDS server: istiod-1-19-3.istio-system.svc:15012
2023-12-19T17:05:13.907258Z	info	ads	ADS: new connection for node:istio-ingressgateway-6b4987b88b-s846n.ns-team-dc-istio-gateways-1
2023-12-19T17:05:13.907338Z	info	cache	returned workload certificate from cache	ttl=23h59m59.09266383s
2023-12-19T17:05:13.907337Z	info	ads	ADS: new connection for node:istio-ingressgateway-6b4987b88b-s846n.ns-team-dc-istio-gateways-2
2023-12-19T17:05:13.907506Z	info	cache	returned workload trust anchor from cache	ttl=23h59m59.092495548s
2023-12-19T17:05:13.907589Z	info	ads	SDS: PUSH request for node:istio-ingressgateway-6b4987b88b-s846n.ns-team-dc-istio-gateways resources:1 size:4.0kB resource:default
2023-12-19T17:05:13.907618Z	info	ads	SDS: PUSH request for node:istio-ingressgateway-6b4987b88b-s846n.ns-team-dc-istio-gateways resources:1 size:1.1kB resource:ROOTCA
2023-12-19T17:05:14.292632Z	info	Readiness succeeded in 1.112714494s
2023-12-19T17:05:14.292976Z	info	Envoy proxy is ready

Version
istioctl version
client version: 1.19.0
control plane version: 1.19.3
data plane version: 1.19.3 (37 proxies)

kubectl version
Client Version: v1.28.4
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.26.11-eks-8cb36c9

helm version --short
v3.12.3+g3a31588

Additional Information
The gateway has been configured to terminate the TLS at gateway.

Have you ever setting log file?
can you check you setting with istioctl pc l

You can check and set the log levels with istioctl pc logs.

this is what I get:
active loggers:
  admin: warning
  alternate_protocols_cache: warning
  aws: warning
  assert: warning
  backtrace: warning
  cache_filter: warning
  client: warning
  config: warning
  connection: warning
  conn_handler: warning
  decompression: warning
  dns: warning
  dubbo: warning
  envoy_bug: warning
  ext_authz: warning
  ext_proc: warning
  rocketmq: warning
  file: warning
  filter: warning
  forward_proxy: warning
  grpc: warning
  happy_eyeballs: warning
  hc: warning
  health_checker: warning
  http: warning
  http2: warning
  hystrix: warning
  init: warning
  io: warning
  jwt: warning
  kafka: warning
  key_value_store: warning
  lua: warning
  main: warning
  matcher: warning
  misc: error
  mongo: warning
  multi_connection: warning
  oauth2: warning
  quic: warning
  quic_stream: warning
  pool: warning
  rate_limit_quota: warning
  rbac: warning
  rds: warning
  redis: warning
  router: warning
  runtime: warning
  stats: warning
  secret: warning
  tap: warning
  testing: warning
  thrift: warning
  tracing: warning
  upstream: warning
  udp: warning
  wasm: warning
  websocket: warning
  golang: warning

this is what I get:
active loggers:
  admin: warning
  alternate_protocols_cache: warning
  aws: warning
  assert: warning
  backtrace: warning
  cache_filter: warning
  client: warning
  config: warning
  connection: warning
  conn_handler: warning
  decompression: warning
  dns: warning
  dubbo: warning
  envoy_bug: warning
  ext_authz: warning
  ext_proc: warning
  rocketmq: warning
  file: warning
  filter: warning
  forward_proxy: warning
  grpc: warning
  happy_eyeballs: warning
  hc: warning
  health_checker: warning
  http: warning
  http2: warning
  hystrix: warning
  init: warning
  io: warning
  jwt: warning
  kafka: warning
  key_value_store: warning
  lua: warning
  main: warning
  matcher: warning
  misc: error
  mongo: warning
  multi_connection: warning
  oauth2: warning
  quic: warning
  quic_stream: warning
  pool: warning
  rate_limit_quota: warning
  rbac: warning
  rds: warning
  redis: warning
  router: warning
  runtime: warning
  stats: warning
  secret: warning
  tap: warning
  testing: warning
  thrift: warning
  tracing: warning
  upstream: warning
  udp: warning
  wasm: warning
  websocket: warning
  golang: warning

You need to change the log level to debug to see the requests. However I think you can also try accesslog which is clearer.

That's how it's configured:
  mesh: |-
    accessLogEncoding: JSON
    accessLogFile: /dev/stdout

Have you ever setting log file? can you check you setting with istioctl pc l

ping

This is what I see in the filters:

              logName: otel_envoy_accesslog
              transportApiVersion: V3
            disableBuiltinLabels: true
        forwardClientCertDetails: FORWARD_ONLY
        httpFilters:
        - name: istio.metadata_exchange
          typedConfig:
            '@type': type.googleapis.com/udpa.type.v1.TypedStruct
            typeUrl: type.googleapis.com/io.istio.http.peer_metadata.Config
            value:
              upstream_discovery:
              - istio_headers: {}
              - workload_discovery: {}
              upstream_propagation:
              - istio_headers: {}

So basically that's the issue. The pods for which it's working has the filter and a path to stdout whereas the other pods don't. Now the question is that why is that happening?
- accessLog:
  - filter:
      responseFlagFilter:
        flags:
        - NR
    name: envoy.access_loggers.file
    typedConfig:
      '@type': type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog
      logFormat:
        jsonFormat:
          authority: '%REQ(:AUTHORITY)%'
          bytes_received: '%BYTES_RECEIVED%'
          bytes_sent: '%BYTES_SENT%'
          connection_termination_details: '%CONNECTION_TERMINATION_DETAILS%'
          downstream_local_address: '%DOWNSTREAM_LOCAL_ADDRESS%'
          downstream_remote_address: '%DOWNSTREAM_REMOTE_ADDRESS%'
          duration: '%DURATION%'
          method: '%REQ(:METHOD)%'
          path: '%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%'
          protocol: '%PROTOCOL%'
          request_id: '%REQ(X-REQUEST-ID)%'
          requested_server_name: '%REQUESTED_SERVER_NAME%'
          response_code: '%RESPONSE_CODE%'
          response_code_details: '%RESPONSE_CODE_DETAILS%'
          response_flags: '%RESPONSE_FLAGS%'
          route_name: '%ROUTE_NAME%'
          start_time: '%START_TIME%'
          upstream_cluster: '%UPSTREAM_CLUSTER%'
          upstream_host: '%UPSTREAM_HOST%'
          upstream_local_address: '%UPSTREAM_LOCAL_ADDRESS%'
          upstream_service_time: '%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%'
          upstream_transport_failure_reason: '%UPSTREAM_TRANSPORT_FAILURE_REASON%'
          user_agent: '%REQ(USER-AGENT)%'
          x_forwarded_for: '%REQ(X-FORWARDED-FOR)%'
      path: /dev/stdout
  address:
    socketAddress:
      address: <IP_ADDRESS>
      portValue: 80
  continueOnListenerFiltersTimeout: true

It's not not working for me, the logs was sent to an gRPC backend(outbound|4317||istio-ingressgateway-collector.ns-team-dc-istio-gateways.svc.cluster.local), you should check there.
I think someone may enable Telemetry API in your enviroment, please check with kubectl get telemetry -A.

Yes the telemetry is enabled with Otel which sends the logs to splunk but the expectation is that the logs would still stdout.

sure, add anothere provider, following is an example:
apiVersion: telemetry.istio.io/v1alpha1
kind: Telemetry
metadata:
  name: istio-ingressgateway
spec:
  accessLogging:
  - providers:
    - name: otel
    - name: envoy

Awesome thanks, this worked like a charm.


Migrate to package:ffi 1.0.0

Makes this package compatible with Dart 2.12 and package:ffi 1.0.0.
Tested locally on iPod.

@am15h, CI for Android fails with requiring Dart 2.7, can we update this to Dart 2.12-beta.9?
(Also, the iOS CI fails completely and has been for a while looking at past commits.)
@mit-mit PTAL at the migration.

I just added an issue to that topic and wanted to make a PR, then I saw yours. Phew!

@dcharkes Thanks a lot for the PR.

@am15h, CI for Android fails with requiring Dart 2.7, can we update this to Dart 2.12-beta.9?

Sure, I will update this.

(Also, the iOS CI fails completely and has been for a while looking at past commits.)

The current setup using GitHub actions isn't working well, it requires constantly updating the ios device version and some time ago it started exiting flutter driver after executing some intitial tests, (I tried to troubleshoot it here).
I am planning to shift CI to code magic. Please let me know if there is a better option.

@dcharkes Thanks a lot for the PR.

@am15h, CI for Android fails with requiring Dart 2.7, can we update this to Dart 2.12-beta.9?

Sure, I will update this.

(Also, the iOS CI fails completely and has been for a while looking at past commits.)

The current setup using GitHub actions isn't working well, it requires constantly updating the ios device version and some time ago it started exiting flutter driver after executing some intitial tests, (I tried to troubleshoot it here).
I am planning to shift CI to code magic. Please let me know if there is a better option.

cc @mannprerak2 how does our setup on package:ffigen work?

@dcharkes the CI for package:ffigen is much simpler than this one, since we only run dart tests, the initial setup is also quite simple since all we need to do is install libclang (llvm), overall structure however seems similar.
The errors all seem very weird to me, I think code magic might be better, especially when it comes to iOS, but I don't have any experience to say.

Sure, I will update this.

Okay, let's see if the Android CI turns green after that.

@dcharkes the CI for package:ffigen is much simpler than this one, since we only run dart tests, the initial setup is also quite simple since all we need to do is install libclang (llvm).

Ah yeah, of course. We don't do any Flutter things on that repo.

@dcharkes Thanks again for this migration, I have merged the PR and updated the CI workflow, unfortunately it is still failing. Logs: https://github.com/am15h/tflite_flutter_plugin/runs/2020313197?check_suite_focus=true

Hey, now that Flutter 2 is released, can you try bumping the SDK constraint to Flutter 2? I'd hope Flutter driver is migrated to null-safety in the release.
Alternatively, you could pass the --no-sound-null-safety flag.
Let me know if you need more help.

Unfortunately, these two steps do not resolve the error. You may have a look at the latest 3 commits in update_workflow branch and latest logs

Seems like the flutter driver doesn't run with sound null safety yet.

@am15h Will you publish it on pub.dev as 0.6.0 version?

Sorry for the delay @tomk9, v0.6.0 is now published.
Thanks @dcharkes for the PR and @mannprerak2 for the help in fixing ci. Android is now green.


[MODINVOICE-387] New error when approving an invoice with multiple fiscal years

Purpose
MODINVOICE-387 - Insufficient fund validation to approve invoice
Approach
Updated the test with multiple fiscal years to check the new returned error.

@a-churakov please verify


db.stream() has no timeout

Currently there is no timeout on database stream connections.
This can be observed by patching https://github.com/gajus/slonik/issues/347 and then creating a large number of slow, streamed connections (e.g. submission zip export), until central-backend stops responding to requests.  You can check for open connections in postgres with SELECT COUNT(*) FROM pg_stat_activity;.
This may be because the version of Slonik currently in-use has various timeout settings disabled.
Slonik does not appear to implement its own stream timeout functionality.
It seems like slonik streams use pg-cursor under the hood, which may use postgres cusrors.  I haven't found clear documentation of how/if postgres cursors are timed out.  However, when the lockup occurs there are clear, relevant entries in both pg_stat_activity and pg_locks, but there are no rows returned by SELECT * FROM pg_cursors;.  This may mean that PostgreSQL Cursors are not actually being used.
Timeouts might not be necessary if central-backend reliably destroys streams in all code paths.  It's hinted this may not be the case at https://github.com/getodk/central-backend/blob/master/lib/resources/submissions.js#L282.  Either way, it might be pragmatic to add timeout handling in lib/util/db.js.
Related:

https://github.com/brianc/node-postgres/issues/2103
https://github.com/gajus/slonik/issues/347
https://github.com/getodk/central-backend/issues/485
https://github.com/getodk/central-backend/issues/482

yeah, the current intended mechanism is that the client timeout will terminate all active queries, not just streams. of course, if the client decides to never time out that’s a problem but i think nginx will in most cases.

On Aug 7, 2022, at 06:09, Alex Anderson @.***> wrote:

Currently there is no timeout on database stream connections.
This can be observed by patching gajus/slonik#347 and then creating a large number of slow, streamed connections (e.g. submission zip export), until central-backend stops responding to requests. You can check for open connections in postgres with SELECT COUNT(*) FROM pg_stat_activity;.
This may be because the version of Slonik currently in-use has various timeout settings disabled.
Slonik does not appear to implement its own stream timeout functionality.
It seems like slonik streams use pg-cursor under the hood, which may use postgres cusrors. I haven't found clear documentation of how/if postgres cursors are timed out. However, when the lockup occurs there are clear, relevant entries in both pg_stat_activity and pg_locks, but there are no rows returned by SELECT * FROM pg_cursors;. This may mean that PostgreSQL Cursors are not actually being used.
Timeouts might not be necessary if central-backend reliably destroys streams in all code paths. It's hinted this may not be the case at https://github.com/getodk/central-backend/blob/master/lib/resources/submissions.js#L282. Either way, it might be pragmatic to add timeout handling in lib/util/db.js.
Related:
brianc/node-postgres#2103
gajus/slonik#347
#485
#482
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.

if the client decides to never time out that’s a problem but i think nginx will in most cases.

From what I've seen, the nginx timeout doesn't have an effect on Backend: it doesn't actually terminate active queries. For example, if you send a non-GET request, and the nginx timeout kicks in, then the client will receive an error response; but Backend will continue working on the request. That means that despite the error response, the request may ultimately have its intended effect.

From what I've seen, the nginx timeout doesn't have an effect on Backend: it doesn't actually terminate active queries.

I'm observing the same.

if you send a non-GET request, and the nginx timeout kicks in, then the client will receive an error response; but Backend will continue working on the request

@matthew-white is the behaviour different for GET requests?

is the behaviour different for GET requests?

I only remember seeing this for non-GET requests, but I would guess that it's the same for GET requests.

Closed by #604.


upcoming: [M3-7857] - Account Management Copy Updates & Improvements

Description 📝
This PR addresses some updating messaging and account management fixes / improvements.
Changes  🔄

Update Proxy Account Tooltip (Proxy User):

When attempting to close an account as a proxy user, the tooltip should now read: "Contact customer support to close this account."

Clarify Account Closure Instructions (Proxy User):

Change the tooltip text from "Remove indirect customers before closing the account." to "Remove child accounts before closing the account."

Update Account Login Indicator (General):

Modify the account indicator text from "You are currently logged in as:" to "Current account:"

New PAT Tooltip for Proxy View (Proxy User):

For proxy users, introduce a new tooltip for disabled Personal Access Tokens (PAT) creation with the text: "You can’t create access tokens for child accounts. Instead, switch to your account and create the token there."

Fix Billing Contact Info Bug (Parent User):

Address the bug preventing parent users from updating billing contact information due to the company field not being omitted from the payload.

Limit Proxy Account Login Toast (Proxy User):

Ensure the login toast for proxy accounts only appears once per session by utilizing local storage to manage its visibility.

Target release date 🗓
3/18
Preview 📷

Before
After

Now you can update contact information!

How to test 🧪
Prerequisites
(How to setup test environment)

Update parent to proxy in [MSW] (https://github.com/linode/manager/blob/develop/packages/manager/src/mocks/serverHandlers.ts#L558) when needed.
or use your Parent/Child accounts

Verification steps

Verify changes above...

As an Author I have considered 🤔
Check all that apply

[x] 👀 Doing a self review
[x] ❔ Our contribution guidelines
[x] 🤏 Splitting feature into small PRs
[x] ➕ Adding a changeset
[x] 🧪 Providing/Improving test coverage
[ ] 🔐 Removing all sensitive information from the code and PR description
[ ] 🚩 Using a feature flag to protect the release
[ ] 👣 Providing comprehensive reproduction steps
[ ] 📑 Providing or updating our documentation
[ ] 🕛 Scheduling a pair reviewing session
[ ] 📱 Providing mobile support
[ ] ♿  Providing accessibility support

@dwiley-akamai We'll look into updating MSW, since it's not always a perfect reflection of the feature.


multi-field placeholders

Allow placeholders to check TWO FIELDS rather than just one. Great for groups, especially link url + text pairs. Use natural language to specify which properties to check.
field1 AND field2
field1 or field2
field1 XOR field2

Fixes #490
Note: We're not allowing an arbitrary number of fields because that would require writing a recursive descent parser.

Coverage increased (+0.08%) to 86.282% when pulling 38b82704b1eb14cc926d12bec4b46dc2888a726e on multi-field-placeholders into 332db4e0a8f459e4b51d9f185fd2a60d72cefac1 on master.

Coverage increased (+0.1%) to 86.318% when pulling 69dd7769a6135ac8c2ea333c943fa479a6fb49ef on multi-field-placeholders into 332db4e0a8f459e4b51d9f185fd2a60d72cefac1 on master.

Coverage increased (+0.08%) to 86.282% when pulling 7bafa44de0383a60afc2686da670e134060bef26 on multi-field-placeholders into 332db4e0a8f459e4b51d9f185fd2a60d72cefac1 on master.

⭐ ⭐ ⭐ ⭐ ¾


bug: Error detected while processing command line: Not an editor command: Lazy

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
v0.9.0
Operating system/version
Arch Linux; kernel version 6.3.3-arch1-1
Describe the bug
attempting to pass lazy Lazy commands from command line gives the following error.
$ nvim +Lazy

Error detected while processing command line:
E492: Not an editor command: Lazy

Steps To Reproduce
Run nvim +Lazy from a shell
Expected Behavior
The Lazy menu to open
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "folke/LazyVim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Check the lazy.nvim docs

The only thing I could find that seemed related in any way is

Any command can have a bang to make the command wait till it finished. For example, if you want to sync lazy from the cmdline, you can use:

$ nvim --headless "+Lazy! sync" +qa

yes, use --headless, or do something like autocmd VeryLazy ....


TimeSlider: Don't assume that TimeSteps is a List

~The TimeSteps property is now settable, so~ we can't assume that it's implemented by a List.
https://github.com/Esri/arcgis-toolkit-dotnet/blob/2467b1e44ac706def70af250c1edfec6a8d83bf4/src/Esri.ArcGISRuntime.Toolkit/Esri.ArcGISRuntime.Toolkit/UI/Controls/TimeSlider/TimeSlider.cs#L1463-L1465
In fact, TimeSlider itself sets it to a non-List value here:
https://github.com/Esri/arcgis-toolkit-dotnet/blob/2467b1e44ac706def70af250c1edfec6a8d83bf4/src/Esri.ArcGISRuntime.Toolkit/Esri.ArcGISRuntime.Toolkit/UI/Controls/TimeSlider/TimeSlider.cs#L790

Something like this should do the trick:
            var timeStepsList = (TimeSteps as IList<DateTimeOffset>) ?? TimeSteps.ToList();

I'll fix. I actually had that fix locally early on and things were working, but somehow got lost in committing. Thanks