Proposal: Let PR originators merge their own PRs where practical

At the moment whoever does the second approval of a PR in the build and pipelines repositories (or the first approval in the infrastructure repo) frequently merges it.
From my own perspective I generally try to hold off and let the originator merge it unless they do not have access. Reasons as follows:

The originator of the PR is best place to resolve any issues when it goes wrong, therefore it ensures they are available to do so.
It allows the originator of any potentially problematic PRs to mitigate the risk of merging by doing so at a time of day where they can run any final pipelines to verify their change
It may be that there are other changes in other repositories (more likely after https://github.com/AdoptOpenJDK/openjdk-build/issues/2455) and this makes it easier to co-ordinate changes without marking as draft (which may look like "not ready to review" to people who might otherwise review.

I propose implementing this policy (first proposed in https://adoptopenjdk.slack.com/archives/C09NW3L2J/p1593165920153600?thread_ts=1593160796.150600&cid=C09NW3L2J last year) in both the build, pipelines and infrastructure repositories, and if the originator doesn't merge then the person merging has a responsibility for ensuring any "obvious" side effects from their PR are dealt with in a timely manner. I believe this will give us better stability in our core business of producing openjdk builds. Obviously there will be cases where, for emergency build break reasons for example, something needs to be done quickly so this can be bypassed but that generally applies to a small number of PRs.
All thoughts welcome.

@sxa totally happy with this change, I'd suggest a bot that adds a label ready-to-merge and pings to the author

@gdams took the words right out of my mouth for both the approval and bot suggestion. +1 from me for this 👍

Agreed - makes sense with our TZ's as well.

I don't want more noise (GitHub already notifies me of approvals)

What extra noise are you expecting from this? Is that in relation to having a bot that adds the tag or are you thinking about something else?

If I'm responsible that everything goes smoothly, I have to reserve time and maybe wait hours

I get that, but my counter point is that it's a much better option than the hourse I've spend trying to debug why something's suddenly get wrong, which is a frequent problem that I and @andrew-m-leonard inevitable end up dealing with, which is why I actually don't think the author should have to actively make that decision - I'm sure many authors would rather someone else deal with any fallout from their PRs :-)
Superficially that seems slightly at odds with your comment about not wanting more notifications. I'd personally rather not enforce it unless we can't expect people to just be sensible about it - as I said there may be a need to override such a ruling and I'd rather not have that require more overhead.

How do we know which repository has that rule and which does not?

We could add that information into the PR template which ought to make it clear - either way I don't think that's a reason not to at least trial it here. I'm curious about why you think it might discourage new contributors though? They shouldn't be affected unless there's a use case I'm not thinking of,  or are you thinking about new collaborators who would get the privileges to merge?

I believe, this issue is at least in part an attempt to address the case where reviewers have not read thoroughly the comments or requests of the originator ("please wait until xxxx has been verified...", "this change needs to be co-ordinated with x and y changes...", "I am asking specifically for Z to review this change...").  When these requests are ignored by reviewers who then proceed to merge, it is not a good thing.
This has also been an issue in the openjdk-tests repo, where hasty reviews and merges have occurred without enough understanding or testing.  This is very stressful to the team.  It prompted us to add the 2nd reviewer required gate, in order to address it.  In the case of the tests repo, I mostly do not want the originator to merge, because we have lots of originators that do not have write access.  If I have reviewed something and do want them to merge (because I know they have write permissions, I can request that they merge when they are ready).
I do not want someone who does not understand how to properly test the PR to merge it.  Most of the time, we are not in a race at the project.  We should be calmly assess each PR and soberly decide to merge them when they are fully tested and on a timing that makes sense for the change (a number of possibilities, including but not limited to 1. merge asap because everything is broken and it can not get worse, or 2. next day, when someone can watch a build, or 3. after an upcoming release, so as not to destabilize the project).  How we manage this is really what we need to decide.
If the originator has special requests or comments regarding the PR, those should be read/understood/honoured.  We can decide on a default behaviour and then expect originator and reviewers to communicate via comments on the merge plan if it diverges from the default behaviour.  All of this does require both reviewers and originator to pay attention and communicate.  If everyone already did that, might not need this discussion in the first place.

George and Morgan want a bot that pings the author.

That already exists. I just suggest expanding it with more useful information that just (please ping someone to run tests). https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/issues/59 intends to do that by making the noise more useful that just noise. It might help with the babysitting point you raised too

I just suggest expanding it with more useful information that just (please ping someone to run tests).

While the bot says what has to be done next, it neither states who can perform those steps nor where to find that information. It also does not require an initial code review which is hopefully the point of this exercise (because of the stateful nature of our machines we don't want to run unverified code on them).
Small side note re: https://github.com/AdoptOpenJDK/ci-jenkins-pipelines/issues/59. A newcomer is unlikely to be able to come up with ideas themselves. They need a clear objective and a step by step guide what to do ("Get info from that API, display it, ..."). As it stands, the ticket is rather for a veteran 😉

Can we make use of "Draft" for this purpose, ie.if the Author would like to merge it then they mark it as Draft, arrange reviews, and when they're happy merge... as the premise here is for some cases we want to be sure it's ready for merge, so until that point it is draft...

Can we make use of "Draft" for this purpose, ie.if the Author would like to merge it then they mark it as Draft, arrange reviews, and when they're happy merge... as the premise here is for some cases we want to be sure it's ready for merge, so until that point it is draft...

My problem with that is as stated in the original description: "[draft] may look like "not ready to review" to people who might otherwise review." I think there's an important difference between draft (I'm still actively changing stuff) and ready to review (Looking for feedback but it doesn't mean I'm totally confident it'll work when merged)

But the solution offered here is terrible, too.
making it more difficult to contribute

I think calling it "terrible" is a bit harsh. This is intended to solve a problem I see on a regular basis at the moment.

So by default it should be the reviewer's job to get my PR into the project because then "It wasn't me".

It should certainly be the reviewers job to encourage the contribution and help them fix any issues, and in the case of new (Read scared, intimidated by the thought of breaking something) contributers this won't change anything (they can't merge themselves after all) so I'm unclear on what the concern is. Adding extra labels (either self-merge or ready-to-merge seem a bit of an extra overhead to me personally, but I'd be ok with them if it's what people want. I just don't want to continue in a situation where PR originators don't have any responsibility post-merge (especially within the current group members - I'm ok if a new contributor has a problem - in that case the reviewer should hopefully help them debug if it goes in and fails)

If I'm new somewhere I want someone to babysit me to through my contributions.

I agree completely which is why I've tried to push for improved documentation but it's often felt like a lone cause - I think we've lost active people in the project rather than gained them over the last year, and the workload has not gone down so it's not that easy to make this happen. I do think that's separate from this proposal though, which should not change that scenario.

I think calling it "terrible" is a bit harsh. This is intended to solve a problem I see on a regular basis at the moment.

You haven't noticed the label on my forehead that reads "BEWARE Strong opinions"? :grin:
Again, we're trying to fix the wrong problem here. You would see those problems significantly less if the PRs were properly validated. If a bash syntax problem can make it undetected into the main branch and cause build breaks, the problem isn't the person who merges something or that the author isn't there to babysit the problem. I push back because what you're suggesting tries to work around the problem instead of fixing it. The state of openjdk-build has been known for a long time, but we're kicking the can down the road because it hasn't hurt enough, yet. We have money for community managers and what not, but we don't have money or people to fix our core problems.
We need less problems, not more. As soon as we remove the pain with a quick win, we have the tendency to forget it even existed. Example: With 2d9445348c70ec565874fb92f4c09971f71a5d23, PR testing on macOS was disabled by commenting it out. With a82104c77a79d707d533415163cf00dac33678d4, we lost the part that was commented out. Who remembers now that we had macOS PR testing, that it was disabled and that we should bring it back? There's not even an issue for it.
The TSC should be focused on those issues like Sauron's eye in Lord of the Rings.

It should certainly be the reviewers job to encourage the contribution and help them fix any issues, and in the case of new (Read scared, intimidated by the thought of breaking something) contributers this won't change anything (they can't merge themselves after all) so I'm unclear on what the concern is.

We're going to train the reviewers to abandon the PRs once they've hit that "Approve" button because that's the default. As a newcomer/person without privileges, you have then to find and chase somebody to merge on your behalf. That's the OpenJDK experience, and I don't enjoy that one (this isn't a dig towards OpenJDK, things are like they are for a reason).

You haven't noticed the label on my forehead that reads "BEWARE Strong opinions"? grin

Missed that but then I haven't had a video call with you recently ;-) Good example on the macos PR tester though...

We're going to train the reviewers to abandon the PRs once they've hit that "Approve" button because that's the default. As a newcomer/person without privileges, you have then to find and chase somebody to merge on your behalf. That's the OpenJDK experience, and I don't enjoy that one (this isn't a dig towards OpenJDK, things are like they are for a reason).

I hope that won't be the case at this project and if it does then I hope we can handle it. I'm still willing to take the risk on it personally. For now, with such a small team (which is part of the problem ... and isn't a problem for openjdk) I think the approvers (it's pretty much @gdams @karianna @andrew-m-leonard @M-Davies and myself who do them for this repo) all know who is capable to merging things and who isn't so I would hope they wouldn't leave non-committers in the dark and not have too much of an overhead. I'd be delighted if we were able to scale the team to the point where this policy was no longer needed. I really think it's worth trying and if we see such problems then we can revisit. I just don't want to "do nothing"


churn doesn't work in firefox

The peerconnection never establishes.
Logs excerpt:
...
...
{churn}.info: SocksToRtc: configured obfuscating pipe between {"address":"<IP_ADDRESS>","port":48486} and {"address":"<IP_ADDRESS>","port":44379}
{churn}.info: RtcToNet: configured obfuscating pipe between {"address":"<IP_ADDRESS>","port":44379} and {"address":"<IP_ADDRESS>","port":48486}
{PeerConnection}.error: SocksToRtc-obfuscated: Connection lost: failed
{PeerConnection}.debug: SocksToRtc-obfuscated: failed to connect, not available for  debugging in peerConnections
{PeerConnection}.error: SocksToRtc-obfuscated: negotiateConnection: Error: Connection lost: failed; this.toString()= SocksToRtc-obfuscated: {
  : : opennedSuccessfully_=undefined
}
{SocksToRtc}.info: peerconnection terminated
{SocksToRtc}.debug: freeing resources
{PeerConnection}.info: SocksToRtc-obfuscated: close
{simple-socks}.error: failed to start SocksToRtc: Connection lost: failed
{PeerConnection}.info: SocksToRtc-obfuscated: close
{PeerConnection}.error: RtcToNet-obfuscated: Connection lost: failed
{PeerConnection}.debug: RtcToNet-obfuscated: failed to connect, not available for  debugging in peerConnections
{RtcToNet}.debug: peerconnection terminated
{simple-socks}.error: failed to start RtcToNet: Connection lost: failed
{RtcToNet}.debug: freeing resources
{PeerConnection}.info: RtcToNet-obfuscated: close
{PeerConnection}.info: RtcToNet-obfuscated: close

So, about:webrtc reveals the following errors:
ICE(PC:1430774622955091 (id=5 url=resource://gre-resources/hiddenWindow.html)): Error parsing attribute: candidate:0 1 UDP<PHONE_NUMBER> localhost 36584 typ host

It seems that, on Firefox, the UDP socket provider's getInfo method returns the resolved hostname rather than the IP. Iin this case, that's localhost vs. <IP_ADDRESS> -- even though churn explicitly binds the local pipe to <IP_ADDRESS>. Once I hack churn to always rewrite candidate lines with <IP_ADDRESS>, churn works just fine on Firefox.
So, easily fixed, but the other oddity is why onIceCandidate doesn't reject when it presented with a bad candidate line.

OK, I filed this issue against freedom-for-firefox:
https://github.com/freedomjs/freedom-for-firefox/issues/62
And I have a workaround for churn here:
https://github.com/uProxy/uproxy-networking/pull/256

Fixed in 10.0.3.


SecurityContext should be able to define locale dependency and available permissions

Currently the SecurityContext is a simple string defined in the Bundle's Admin-class. However, the SecurityContext should also be able to tell the Security system if it is dependent on the locale and which of the seven available permissions (view, write, edit, delete, ...) should be available.

@danrot still an issue?

Partly. I have implemented that a security context can tell the system which permission types(view, write, ...)  are available, but not yet if the permission is dependent on the locale. However, I'd say that's the responsibility of the controller anyway, so I close this issue.


Update aws-java-sdk-core to 1.12.418

Updates com.amazonaws:aws-java-sdk-core from 1.12.415 to 1.12.418.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-core" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #449.


[Operator Tool] Add VerifyValidatorState command to compare local and on-chain state

Motivation
This PR adds a new command, VerifyValidatorState, to the operator tool. This new command allows validator operators to compare their local validator state against the validator state held on-chain and ensure that both states are consistent (Issue #9177).
Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan

Initially, start 4 validator nodes, and verify that the validator's local state is consistent with its state on-chain.
Rotate the consensus key locally, and verify that the validator's local state is no longer consistent with its state on-chain.

Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/diem/diem/tree/main/developers.diem.com, and link to your PR here.)
If targeting a release branch, please fill the below out as well

Justification and breaking nature (who does it affect? validators, full nodes, tooling, operators, AOS, etc.)
Comprehensive test results that demonstrate the fix working and not breaking existing workflows.
Why we must have it for V1 launch.
What workarounds and alternative we have if we do not push the PR.

Beautiful @khiemngo! 😄 All of my comments are nits/small things that might change in the future (given we're going to iterate). So, feel free to proceed how you see fit 🚀

Thanks @JoshLind for the feedback! I'd usually try to address all nits before landing. However, given (1) we're going to iterate on this VerifyValidatorState, and (2) next few days are holiday, I'll go ahead with landing and address the nits in another PR next week. Happy holidays @JoshLind ! 🎉

/land


doc: add more info about alpha

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: gene-redpanda:x: actions-userYou have signed the CLA already but the status is still pending? Let us recheck it.


Nexcloud typo

one of the commits is important, because
nexcloud_computed_major_version has a typo and breaks the role

No idea.


Message that criticalmaps is active & sharing location not showing anymore

Hello,
in the past I remember the app showed a permament message in the message center, that notified you that the app was actively sharing location.
At some point this message vanished and so it happens often that I forget to quit the program/stop share my location.
Is this a bug or how do I get this message back?
I checked notification settings for the app and did not find anything.

Which Android version? It still works for me.

I am using Android 14 on a OnePlus device.

I can reproduce this problem with Android 14 (LineageOS). Critical Maps ran for multiple hours in the background, I just noticed that the location symbol was active at the status bar. I'm using Critical Maps 2.9.0.
There are no notifications which could be enabled (app information):

Thanks for bringing this up! I can confirm that this happens when installing the app for the first time on an Android 14 device.
Prior to Android 14 you could run a background service with a notification without having the notification permission as you were only allowed to run a background service that has a notification to prevent exactly what we're seeing now.
Starting with android 14, you do need that permission even for background services. Since we're still targeting an older android version it seems we're in a weird spot where we can run the service but are not allowed to post the notification.
Note, that interestingly this does not happen when you had the app installed before updating the device to android 14 - probably since in this case we already have a notification channel registered.
I will try to update the app as soon as possible to target the newest android version and also request the notification permission on newer devices. Unfortunately I'm a little short on time and this might take a week or two.


How do I make a video play when the player presses 7? (LUA)

Describe your problem here.
How do I make a video play when the player presses 7 (enters the chart editor)
I want to stop the player from accesing the chart editor and I want it to play a video before chrashing the game on purpose.
I have tried doing it but it either plays a video every frame or it goes into the chart editor before the video can play
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No

Mix 7 thing with cutscene script
i think...

You can probably use keyJustPressed(), but the hard part is getting the keys to work since, according to the wiki, you can only use left, right, up, down, enter, space, backspace, and escape.  It's definitely possible to do what you want to do, I just don't know how to do it.

Lorekeeper49
i tried getPropertyFromClass('flixel.FlxG', 'keys.justPressed.7') which works but it the game enters the chart editor before anything could happen

i don't tested but will probably works:
function onUpdate()
    if getPropertyFromClass('flixel.FlxG', 'keys.justPressed.SEVEN') then
        setProperty('inCutscene', true)
        startVideo('yourVideo')
        runTimer('crash', 5) --change the 5 number for your video duration
    end
end

function onTimerCompleted(tag)
    if tag == 'crash' then
        setProperty('inCutscene', false)
        close()
    end
end

if not worked try this: (i don't tested too)
function onUpdate()
    if getPropertyFromClass('flixel.FlxG', 'keys.justPressed.SEVEN') then
        setProperty('inCutscene', true)
        endSong()
        startVideo('yourVideo')
        runTimer('crash', 5) --change the 5 number for your video duration
    end
end

function onTimerCompleted(tag)
    if tag == 'crash' then
        close()
    end
end


Update Go protos + minor fix.

Fix the go package used for the expansion service (subsumes the Go portion of https://github.com/apache/beam/pull/8124)

I do not have the setup/expertise to make the java side changes.

Update gen.go to be aware of the new proto files (metrics, expansion_api)

If one is moving protos around and adding/removing files, this file needs updating, otherwise Go won't get the protos.
We may be able to automate writing the command-line generation step in the future.

Generate the new Go protos.
Fix some incorrect formatting strings from the migration to the new errors package.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @chamikaramj
cc: @youngoli @ananvay

Run Python PostCommit

Thanks for catching the format string errors!

LGTM. Thanks.

 Please merge at your discretion. Thanks!


help function doesn't return

Description of issue
When trying to call the next-generator help function with the command 'nextGen help', nothing happens.
Done Agreement Requirements

[ ] When using the command ''nextGen help', The next-generator help page should be displayed in the terminal.

Done Agreement Signatures

@traceton
another team member

Extra Context

This is an example ticket, the help function does work.

@Traceton Completed Development

@Traceton Code Review Completed

@Traceton Round 1 testing completed successfully.

@Traceton Merged feature branch into main.


Allow dynamic width on reader

Description
Add option for a wider reader for bigger screens.The current value of --max-width:var(--main-width) leaves too much empty space for desktop screens.
(Optional:) Please add any files, screenshots, or other information here.
Disabling --max-width:var(--main-width) in html fills the whole width but it looks odd
(Required) What is this issue most closely related to? Select one.
Other
Internal issue ID
9b10aaaa-dd6c-4e7b-8254-c5832e9553d3
Paper URL
https://arxiv.org/html/2212.00133v4
Browser
Firefox/131.0
Device Type
Desktop

Wikipedia has implemented something simmilar


Add support for winget update.

Pending on https://github.com/microsoft/winget-pkgs/pull/45622 to be committed.


Using FileStateStore instead of MemoryStore in TestApp

As discussed in #1518 FileStateStore is required to survive configuration changes in Android.
After testing every screen state is saved as expected 🚀 , thanks to @veyndan 🙏🏼
Side notes : Sometimes the back button functionality doesn't work in Repo Search screen

@veyndan glad that i can help 🙏🏼


new package: pinentry 1.1.0

Description of package
Checklist

[x] Latest upstream version.
[x] I agree to maintain this package (required).
[x] I agree to notify KISS if I can no longer maintain this package (required).

done


jquery.min.map missing

Just throws a 404, I can't find a copy of it as it's using 1.9.1 so may easier for @matigo to add it.
Is it that particular version due to dependencies?

404 be gone! Thanks for letting me know. I don't think I've seen errors related to this file before, but am glad to whisk them away from the people who do.

It's only on this version, nothing I could see on nice.social, glad it's sorted, cleans up the console a bit more


deprecated or remove hasPermission

Please describe the changes this PR makes and why it should be merged:
Since hasPermissions was deprecated a while ago and all Permission related stuff was moved to the Permission Class but hasPermission wasn't, even when mostly everything you do with hasPermission is possible with 2 lines of code and the has method, would i recommend deprecating it aswell or even remove it completly since V12 isn't released yet.
because i just dont see why hasPermissions should be deprecated/removed and hasPermission not when the Permission Class offers everything you need
Semantic versioning classification:

[ ] This PR changes the library's interface (methods or parameters added)

[x] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)

[ ] This PR only includes non-code changes, like changes to documentation, README, etc.

But GuildMember.hasPermission isn't deprecated at all.

no the point why i think GuildMember.hasPermission is that it is mostly just redundant with GuildMember.permissions.has and i dont get why both do the same thing, the only difference is that you can also check with hasPermission if he is owner what you could do yourself with 1 line anyways

I get what you are saying but look, if we start here why don't you bring up missingPermissions then?
In the permissions rewrite Gawdl3y did he specifically left those things in.

hmm that is true, but why did he left this things in? for what reason

since Gawdly said he won't remove/deprecated that because of optimised to be independent from GuildMember#permissions i will close this


BitBox02 support for lace wallet

Hello.
There currently appears to be no Wallet UI for Cardano that is compatible with BitBox02 to use for dApps.
There is adalite that allows to transact and stake Ada with the BitBox02, but it cannot be used to interact with dApps.
I would like to kick off a discussion to explore BitBox02 support for lace. It would allow for a new user base to enter the Cardano ecosystem.
BitBox02
The BitBox02 refers to https://bitbox.swiss/bitbox02/
I was unable to find numbers for amount of sold units. If such a number is needed to evaluate the priority of BitBox02 support, then I can try to inquire with the manufacturer. I do expect that the BitBox02 is less popular than Trezor and Ledger, especially in the big US market, because it is of Swiss origin, so is more likely to be used by European users in the first place.
bitbox-bridge, bitbox-api
The bitbox-bridge allows to interface with the USB device. It is unclear to me if the bridge is capable to serve the whole set of requirements for Cardano dApps. On this page it does say:

With the BitBox02, you can connect to any DeFi Dapp

So perhaps technically it is possible.
BitBox does provide its api for 3 languages:
bitbox-api-rs
bitbox02-api-go
bitbox02-api-js
I expect that the bitbox02-api-js is of relevance in the case of lace.
How Adalite uses bitbox
Adalite does already interface with the bitbox-api in its TypeScript:
shelley-bitbox02-crypto-provider.ts
bitbox02-api.d.ts
This is probably a good reference point, along with the api itself - to get an overview.
Next steps
I do wonder how easy or difficult it will be to add BitBox02 compatibility to lace? Is this something we can explore? How can we get started? I do own the BitBox02, so perhaps I can be of service for this task. And I am a programmer too, albeit not experienced with TypeScript and the like.

Would love to see this.


Don't recognize NetworkManager if the systemd dns plugin is active

If NetworkManager is active, but the configured DNS plugin is systemd-resolved, then IsNetworkManager should return false. The correct way to configure the system in this case is via the systemd-resolved interface.

See some documentation for this here

I have done some work in gof5 WIP branch: https://github.com/kayrus/gof5/commit/ae8f54882bcca76a0e7b697599fc5e5c03761ca8

@liorokman I don't have much time to work on tuncfg right now. Feel free to read my WIP code and submit a PR to fix the issue.

Are you developing in the vendor directory? Why not develop in the original repository and use the replace syntax in go.mod to point to a local folder?

@liorokman I was too lazy :)


Health dropping when not hungry and thirsty

I had a full server today and everyone started dying from thirst or hunger even if they were drinking and eating
was like shooting up then going back down then shooting back up again then you would die the whole prosess would take a couple of mins
Sent from my Samsung SM-G920V using FastHub

How that even possible ?

I've never encounted that, server is running strong for 2 days 👍

Screenshot
https://prnt.sc/fgqdsb
Sent from my Samsung SM-G920V using FastHub

There was a display issue, is health really dropping by thirst ?

Any news ?

Still doing it after about a day the server being up
On Jun 10, 2017 12:30 PM, "Imagic"<EMAIL_ADDRESS>wrote:

Closed #169 https://github.com/ImagicTheCat/vRP/issues/169.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ImagicTheCat/vRP/issues/169#event-1118289420, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Ab4RutIGtEKYImmpJ6Xw9smaGYf2tF3Lks5sCsS1gaJpZM4NxuhS
.


AssertionError in capa.features.address

Description
Analyzing sample 7765e7d6c11b8db158f7ed70aa33a6c0935cd5c2c282304ed89a7695f7925abb raise an exception.
Steps to Reproduce
$ wget https://github.com/mandiant/capa/releases/download/v4.0.1/capa-v4.0.1-linux.zip
$ unzip capa-v4.0.1-linux.zip
$ ./capa 7765e7d6c11b8db158f7ed70aa33a6c0935cd5c2c282304ed89a7695f7925abb
loading : 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 703/703 [00:00<00:00, 1650.65 rules/s]
matching:  92%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎          | 1056/1145 [00:33<00:02, 31.76 functions/s, skipped 34 library functions (2%)]
Traceback (most recent call last):
  File "main.py", line 1197, in <module>
  File "main.py", line 1120, in main
  File "main.py", line 270, in find_capabilities
  File "main.py", line 198, in find_code_capabilities
  File "main.py", line 154, in find_basic_block_capabilities
  File "main.py", line 121, in find_instruction_capabilities
  File "features/extractors/viv/extractor.py", line 73, in extract_insn_features
  File "features/extractors/viv/insn.py", line 702, in extract_features
  File "features/extractors/viv/insn.py", line 512, in extract_function_calls_from
  File "features/address.py", line 31, in __new__
AssertionError
[184031] Failed to execute script 'main' due to unhandled exception!

The specific line looks to be in capa.features.address.AbsoluteVirtualAddress : assert v >= 0 in the __new__ function.
Expected behavior
I was expecting the error to be caught/handled, and the result to show the other things it found (assuming it did find other things).
Maybe see an item in the output related to the corrupted/un-handled data.
Versions
capa v4.0.1-0-g3c41415
Ubuntu 20.04
Additional Information
Hopefully you have access to download the file from VirusTotal. If not, I can probably download it, zip it with a password and upload it here.

First off, nice profile picture 🙃
I'm able to reproduce the error on the provided file. I think the issue is that data gets analyzed as code and happens to produce a negative offset which we assert against (hence your error). We'll address this and see if we can improve the error handling as well as the code analysis part.


DDP - Worse performance with 2 GPUs compared to 1.

🐛 Bug
I am running a model with multiple optimizers using DDP and automatic optimization. When I run it on two GPUs (with the same effective batch size), the model performs consistently worse than it does on 1 GPU (the loss decreases at a significantly slower rate).
I have ruled out errors in my code as it runs as without errors and, in both cases, the model performs as expected. I have also tested simplified versions of my models (e.g. no batchnorm layers) to rule out issues related to the architectures. When the model runs on 2 GPUs both are utilized, and I can tell by the number of steps/epoch and in-code asserts that the batch size is the same in both cases (256 in the single GPU case, 128/128 when 2 GPUs are used). The problem persists for both 32 and 16 precision, and also when I tested it with manual optimization.
To Reproduce
My  training step is formatted as follows:
def training_step(self, batch, batch_idx, optimizer_idx)
    x, y = batch

    if optimizer_idx=0:
        output1=model1(x)
        loss1=LossFunction1(output1)
        self.log('loss1', loss1, sync_dist=True, prog_bar=False, on_step=False, on_epoch=True)
        return loss1
    else:
        output2=model2(x)
        loss2=LossFunction2(output2)
        self.log('loss2', loss2, sync_dist=True, prog_bar=False, on_step=False, on_epoch=True)
        return loss2

The main function that runs the model is:
def main():
    pl.seed_everything(seed)
    data_module = get_datasets()
    model = MyModel()
    trainer = pl.Trainer(max_epochs=epochs, gpus=gpus, precision=precision,
                         default_root_dir=experiment_dir, accelerator='ddp', sync_batchnorm=True)
    trainer.fit(model, data_module)

Expected behavior
I would expect the traces of loss1 and loss2 to be similar (if not identical), however the losses decrease considerably faster when the model is run on 1 GPU rather than 2. Instead, the losses develop as can be seen in the screenshot below (the higher one coming from the 2 GPU version).

Environment

PyTorch Lightning Version: 1.2.8
PyTorch Version: 1.8.1
OS: Linux
How you installed PyTorch : Conda
Python version: 3.8.8
CUDA/cuDNN version: 11.1.1
GPU models and configuration: 2 RTX2080Tis

I'm sorry, this thing with the dataloaders and the batch sizes is always is a hard thing to get across, and saying that the dataloader "splits" the batches was definately poor phrasing.
What I meant is that when I trained the model on a single GPU I had a batch size of 256. When I trained it on two GPUs the dataloaders had a batch size of 128. So the effective batch size for both cases is the same (and therefore the LR is not changed).

Hey @ManiadisG,
Could you provide a reproducible example with an open source model / dataset ?
Best,
T.C

I think the following script is close to what I am doing. My actual model is similar to MoCo (memory bank, momentum-updated models) but I have isolated and removed each of these component and none of them caused the issue.
The results I got with this script weren't as extreme (which makes sense given that classifying STL10 is straightforward), but even with a fixed seed and deterministic=True there were notable differences in the losses between some steps.
Results

Code
import torch
import torch.nn as nn
import pytorch_lightning as pl
from torch.utils.data import DataLoader
from pytorch_lightning import LightningDataModule
import torchvision
from torchvision.datasets import STL10
from torchvision import transforms
import argparse

parser = argparse.ArgumentParser(conflict_handler='resolve')
parser.add_argument("--working_dir", default="./", type=str)
parser.add_argument("--dataset_dir", default="./", type=str)
parser.add_argument("--gpus", default=[0], type=int, nargs="+")
parser.add_argument("--batch_size", default=256, type=int)
parser.add_argument("--num_workers", default=8, type=int)
parser.add_argument("--epochs", default=10, type=int)

args = parser.parse_known_args()[0]

class DataModule(LightningDataModule):
    def __init__(self, train_dataset):
        super().__init__()
        self.train_dataset = train_dataset
        self.batch_size = args.batch_size // len(args.gpus)
        self.num_workers = args.num_workers // 2

    def train_dataloader(self):
        return DataLoader(dataset=self.train_dataset, batch_size=self.batch_size, shuffle=True,
                          num_workers=self.num_workers,
                          pin_memory=True, drop_last=True)

def get_datamodule(dataset_dir):
    normalize = transforms.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225))
    augmentation = [transforms.RandomResizedCrop(96, scale=(0.2, 1.)),
                    transforms.RandomApply([transforms.ColorJitter(0.4, 0.4, 0.4, 0.1)], p=0.8),
                    transforms.RandomGrayscale(p=0.2), transforms.RandomHorizontalFlip(),
                    transforms.ToTensor(), normalize]
    dataset = STL10(dataset_dir, 'test', download=True, transform=transforms.Compose(augmentation))
    return DataModule(dataset)

class ToyModel(pl.LightningModule):

    def __init__(self):
        super().__init__()

        self.resnet1 = torchvision.models.resnet18()
        self.resnet1.fc = nn.Linear(512, 10)
        self.resnet2 = torchvision.models.resnet18()
        self.resnet2.fc = nn.Linear(512, 10)
        self.Loss1 = nn.CrossEntropyLoss()
        self.Loss2 = nn.CrossEntropyLoss()

    def configure_optimizers(self):

        prms1 = [{'params': self.resnet1.parameters(), 'lr': 0.0001, 'weight_decay': 0.0001, 'momentum': 0.9}]
        optimizer_1 = torch.optim.SGD(prms1)

        prms2 = [{'params': self.resnet2.parameters(), 'lr': 0.0001, 'weight_decay': 0.0001, 'momentum': 0.9}]
        optimizer_2 = torch.optim.SGD(prms2)

        return [optimizer_1, optimizer_2]

    def forward(self, x, isfirst=True):
        if isfirst:
            return self.resnet1(x)
        else:
            return self.resnet2(x)

    def training_step(self, batch, batch_idx, optimizer_idx):

        x, y = batch

        if optimizer_idx == 0:
            pr1 = self(x, True)
            loss1 = self.Loss1(pr1, y)
            self.log('loss1', loss1, sync_dist=True, prog_bar=True, on_step=True, on_epoch=True)
            return loss1
        else:
            pr2 = self(x, False)
            loss2 = self.Loss2(pr2, y)
            self.log('loss2', loss2, sync_dist=True, prog_bar=True, on_step=True, on_epoch=True)
            return loss2

def main():
    pl.seed_everything(0)
    data_module = get_datamodule(args.dataset_dir)

    model = ToyModel()

    trainer = pl.Trainer(max_epochs=args.epochs, gpus=args.gpus, precision=16, deterministic=True,
                         default_root_dir=args.working_dir, accelerator='ddp', sync_batchnorm=True)

    trainer.fit(model, data_module)

    return model.float()

if __name__ == '__main__':
    model = main()

I also tried without random augmentations (only normalization, resizing and center crop) to rule out the different dataloader instances having an impact. There are still (small) differences in how the models train despite the fact that, as I understand it, they should be identical.

I am facing the same issue, there is significant difference in F1 scores for classification models, did you find a solution?

@ushahid when you compute F1 score, or any metric for that matter, make sure you take into account the values from all processes and that they are correctly reduced across processes.
You can consider using tochmetrics for this, here is F1: https://torchmetrics.readthedocs.io/en/latest/references/modules.html#f1
Correct metric usage and logging in Lightning:
https://torchmetrics.readthedocs.io/en/latest/pages/lightning.html

Hi @awaelchli, thanks for your quick response. I am currently using a torchmetrics based accumulator which essentially collects predictions from all the processes and evaluates on the master using a callback based method. I have already verified that it is working correctly in both cases.
Another thing I would like to highlight is that the difference is between DDP and DP based training which is a bit different from the original question, the only thing that I change is the accelerator parameter for trainer which results in a drop of 4-5% Macro F1 in the case of DDP which is quite significant for the problem. I set the seed at the start of the script but not within the model and I am wondering if that has something to do with it. A few more facts about the model:

It is an ELECTRA backbone classifier
The classifier layer has LayerNorm and Dropout along with Linear and ReLU layers
I am using 8 GPUs with batch size of 64 on DP and 8 on DDP, which as per my understanding is the same effective batch size?
The learning rate is the same for both methods

Any help is greatly appreciated! Thanks.

but not within the LightningModule and I am wondering if that has something to do with it

as long as seed_everything() runs before your initialization of LM, it's all good.

don't know it, most likely irrelevant to the issue
with the seed set, should dropout be the same on all ddp processes? not sure if it can hurt in anyway
correct, seems reasonable! 👍
reasonable, LR scales with effective batch size 👍
yep, I noticed too. there are probably 16, right? Lightning is resetting the seed to the initial value after the "santiy check" validation loop. and that's why you see the message a second time. printing it on every rank is supposed to give the user assurance that it is done properly, but yes it results in many outputs which can be unpleasant!

should we investigate 2)? and generally all places where randomness is involved? I have at the moment no better idea.
for these debugging purposes I would also suggest to deactivate as many trainer features as possible.
there is also a small chance of a bug in the F1 metric of torchmetrics. are you logging it via self.log(metric)?

@awaelchli I have noticed that the batch indices passed to the 8 GPUs are different for DP and DDP, I have shuffling enabled for training, isn't pytorch lightning ensuring that for every step the same indices get passed to GPUs? If yes, then what can possibly be wrong in my setup?

Hmm, isn't this expected, considering the way DP handles data vs DDP is quite different.
DP splits a single batch in N pieces, then sends each part to a GPU.
DDP on the other hand partition all samples beforehand evenly across all processes, so each GPU/process sees a split of the dataset and then forms the batches.
We cannot directly compare the sampling process here.

@awaelchli that makes sense, I was wondering if that would effect the results when used in combination with dropout I also tried removing dropout from the model and removed layer norm as well but the results are unfortunately still inconsistent.

@awaelchli Another thing I noticed is that I get multiple loss values in the DP mode in training_step_end, I don't see a mention of that in the documentation but it is understandable why it is happening. I then average it in the case of DP as follows:
if outputs['loss'].numel() > 1:
	outputs['loss'] = outputs['loss'].mean()

I am assuming backward is called on this average, is this expected and normal?

I was wondering if that would effect the results when used in combination with dropout I also tried removing dropout from the model and removed layer norm as well but the results are unfortunately still inconsistent.

as far as I know, the dropout would not affect this. each gpu will use the same starting seed so all dropout masks will be the same across gpus of a single training step. In both DDP and DP. I am not 100% sure but I will try to verify it.

I am assuming backward is called on this average, is this expected and normal?

Yes expected and normal. See torch DataParallel. You can also just call outputs["loss"].mean() as it would not matter if there is only one element. There are as many elements as GPUs were involved in the loss computation.

This is important because I am picking the best model based on validation loss. I am using the same code for DP and DDP, are these two equivalent for validation epoch loss?

It looks ok. The DP version will always be correct in the sense that you get all batches in validation as there is only one main process and i works when the dataset is not evenly divisible by the number of gpus and batch size. With DDP, it's slightly more complicated and can be incorrect when the dataset size is not divisible by the number of gpus and batch size. If that's the case the DistributedSampler will repeat some dataset samples to make all processes see the same amount of data. It's an implementation detail that often gets forgotten (I only remember it now that you asked about it)

Is there any conclusion?

If anyone comes across this and is using SLURM: I encountered an issue because I didn't specify the number of tasks in my SLURM script (see https://lightning.ai/docs/pytorch/stable/clouds/cluster_advanced.html).

I still cannot make my instance work, but for those trying to work with multi-machines:
put shuffle=True in the DataLoader. It should be set to False if you want to train across multiple machines in order to mitigate an overlap in data samples between your machines.


Update examples at http://www.kythe.io/examples/ to include --spawn_strategy=standalone  --genrule_strategy=standalone. [phab:T89]

Created by nghia at 2016-01-21 18:12:35:
New versions of Bazel sandbox extra action by default, and our indexer doesn't like that.  We should also fix the indexer, but in the mean time we can fix the doc first.

shahms wrote at 2018-06-13 16:27:32:
I'm pretty sure this works now.


Cannot assign custom hotkey to "Clear filter" in Problems pane

VSCode Version: 1.43.0-insider (user setup)
OS Version: Windows_NT x64 10.0.18363

Steps to Reproduce:

Go to Problems pane, enter some text into filter box.
Escape clears the filter box. I tried every command which is assigned to Escape in default keybindings and assigned each to ctrl+c. However, I could not clear the input box that way.
Escape seems to be special-cased somehow, maybe due to this?

Expected behavior:
I can assign the custom keybinding ctrl+c to clear this filter.

Does this issue occur when all extensions are disabled?: Yes

Yes, this is not exposed and its true for all input boxes and esc is hardcoded to clear the input box. This is done because of some limitations.
So it is not possible to remove the esc key to clear, instead I can provide an action to clear filter input. This is unbound to any key by default and you can bind it to the key you like.
problems.action.clearFilterText


Showing All Fields changed use the first ColumnSet values for all ColumnSets

For example if the first OptionSet is {[0, Blue][1, Red][2, Green]} but the second is {[0, square][1, circle][2, triangle][3, cube]} and for the second dataset you expect "square" and "cube" you get "blue" and "N/A".


self-diagnostics

Implementation for this spec: https://github.com/microsoft/ApplicationInsights-Home/blob/master/CrossSdkCollaboration/Self-Diagnostics.md
Changes

Customers can enable file logging via environment variable.
New class SelfDiagnosticsProvider to interpret config string.
New class ConfigStringParser to share string parsing between Self-Diagnostics and Connection String.

Checklist

[ ] I ran Unit Tests locally.
[ ] CHANGELOG.md updated with one line description of the fix, and a link to the original issue if available.

For significant contributions please make sure you have completed the following items:

[ ] Design discussion issue #
[ ] Changes in public surface reviewed

The PR will trigger build, unit tests, and functional tests automatically. Please follow these instructions to build and test locally.
Notes for authors:

FxCop and other analyzers will fail the build. To see these errors yourself, compile localy using the Release configuration.

Notes for reviewers:

We support comment build triggers

/AzurePipelines run will queue all builds
/AzurePipelines run <pipeline-name> will queue a specific build

@cijothomas please re-review.
This is working as expected. I was able to capture SDK startup messages in a web app :)

Note to self: check the runtime of the tests when complete


Java-Jars in Crossbow is failing

Describe the bug, including details regarding any error messages, version, and platform.
Java-Jars in Crossbow is failing as seen in the listed sample runs.
Sample Runs

https://github.com/ursacomputing/crossbow/actions/runs/7986115889/job/21813707885
https://github.com/ursacomputing/crossbow/actions/runs/7990532542/job/21821147701#step:6:61663

Component(s)
Integration, Java

It seems it is not this PR, I checked java-jars: https://github.com/apache/arrow/pull/40101#issuecomment-1958481199

This issue has been resolved: https://github.com/apache/arrow/pull/40662


Setup docker-compose for deployment

The backend docker-compose needs to be setup for deployment, this will include setting up an SSL service such as traefik, getting docs automatically generating and hosted, etc.

Got wrapped up in #15 , the refactoring made a lot of sense to include this issue with that.


shutdown asyncpool

Hello,
can you explain how do I need gracefully shutdown async pool from my app?

Hi - some progress regarding this?

I'm very sorry, but I had no time at all for this yet.


New Linter: eclint

Hello!
I added support for eclint. You can find it in here: https://github.com/aslafy-z/reviewdog-eclint-action.

Can you move the repo under reviewdog org and/or release the action to the marketplace?
Also, can you clean it up a bit more? e.g. Screenshot still uses eslint and eclint link is broken.

I just moved it to https://github.com/reviewdog/action-eclint. I have some trouble to trigger the demo, it does not matches my errors..


{Linked:Bug6782194} [Adaptive Cards> Designer]: Visual heading (Book time for learning) is not programmatically defined as heading.

Target Platforms
Other
SDK Version
1.5
Application Name
Adaptive Cards
Problem Description
Test Environment:
URL: https://adaptivecards.io/designer/
OS Version: 22H2(OS Build 25290.1010)
Browser Version: Version 111.0.1660.7 (Official build) dev (64-bit)
Screen Reader: Narrator
Repro Steps:

Open the above URL in edge dev browser.
Navigate to the 'Card Payload Editor' and press enter key to expand it.
Paste the attached JSON file.
Navigate to Preview mode button and press enter key to activate it.
Navigate to the 'Book time for learning' text and observe the issue.

Actual Result:
'Book time for learning' text, is not defined as heading in open pane. Screen Reader simply announces as 'Book time for learning.
Expected Result:
Screen Reader should announce as 'Book time for learning Heading'.
Text that is visually styled as a heading should also be programmatically implemented as a heading (h1, h2, etc.), In addition, the hierarchy of the headings should mirror the visual layout and use a logical progression.
User Impact:
Visually Impairment users who rely on screen reader will be unaware of the headings
Assistive technologies use headings to help people quickly orient their location within and navigation through a page. When headings are not implemented correctly it becomes much more difficult to locate relevant content.
MAS Reference:
https://microsoft.sharepoint.com/:w:/r/sites/accessibility/_layouts/15/Doc.aspx?sourcedoc={9C514377-76E5-4CFE-8300-DA3079D3CDC3}&file=MAS 1.3.1 – Info and Relationships.docx&action=default&mobileredirect=true&share=IQF3Q1Gc5Xb-TIMA2jB5083DAcWOZyaXcx7TtNeRlXM4uHk
"Have feedback to share on Bugs? Please help fill Trusted Tester Bug Feedback (office.com) “.
Screenshots
https://user-images.githubusercontent.com/95913748/217776357-3e07eb51-30a5-4441-8687-a9506611c2da.mp4
Json file.txt
Card JSON
Sample Code Language
No response
Sample Code
Original tracked through below urL.
https://office.visualstudio.com/OC/_workitems/edit/6782194

Hi @vagpt,
This issue can be resolved by updating the card payload. TextBlock has a style property that can be set to heading. Narrator will then announce it properly.
Let me know if you have any questions!

Updated payload:
Json.file (1).txt

This issue is working fine with the provided Json file above. Please find the attached video for the reference.
https://user-images.githubusercontent.com/95913748/235104537-4059f274-a72b-4225-998e-63935af2b77c.mp4


Explicitly pass a DriverExecutor to the integrated swift driver

This is mostly NFC, the executor we pass explicitly is the same as the default argument except it uses plan.diagnostics instead of a new DiagnosticsEngine (hopefully that's correct). This will allow me to drop the default argument value in SwiftDriver and eliminate a layering violation.
Eventually, SPM will probably implement its own executor. For now, this one is just used for jobs that run during planning (dependency scanning, -print-target-info, etc.)

@swift-ci test

Adding @DougGregor as reviewer for driver-related code, in addition to @aciidb0mb3r

Thanks, Doug.  Waiting for the tests to complete, and then we can merge if they're green.

fixed merge conflicts
@swift-ci smoke test

Doug, are you fine with merging this at this point?

Yes, we should merge this


expected IP in URL for binding

I deployed v4.0.0-rc cluster using tiup successfully. But it does not start:
$ tiup cluster start tidb_eu_cluster
Starting component pd
	Starting instance pd pect.xxx.xx:2379
	Starting instance pd pear.xxx.xx:2379
	Starting instance pd peco.xxx.xx:2379
	pd peco.xxx.xx:2379 failed to start: timed out waiting for port 2379 to be started after 1m0s

Host peco.xxx.xx /opt/tidb/pd-2379/log/pd.log:
[2020/04/23 14:36:26.920 +00:00] [INFO] [util.go:51] ["Welcome to Placement Driver (PD)"]
[2020/04/23 14:36:26.920 +00:00] [INFO] [util.go:52] [PD] [release-version=v4.0.0-rc]
[2020/04/23 14:36:26.920 +00:00] [INFO] [util.go:53] [PD] [git-hash=6f06805f3b0070107fcb4af68b2fc224dee0714d]
[2020/04/23 14:36:26.920 +00:00] [INFO] [util.go:54] [PD] [git-branch=heads/refs/tags/v4.0.0-rc]
[2020/04/23 14:36:26.920 +00:00] [INFO] [util.go:55] [PD] [utc-build-time="2020-04-08 07:49:10"]
[2020/04/23 14:36:26.920 +00:00] [INFO] [metricutil.go:81] ["disable Prometheus push client"]
[2020/04/23 14:36:26.920 +00:00] [INFO] [server.go:220] ["PD Config"] [config="{\"client-urls\":\"http://peco.xxx.xx:2379\",\"peer-urls\":\"http://peco.xxx.xx:2380\",\"advertise-client-urls\":\"http://peco.xxx.xx:2379\",\"advertise-peer-urls\":....
[2020/04/23 14:36:26.922 +00:00] [INFO] [server.go:193] ["register REST path"] [path=/pd/api/v1]
[2020/04/23 14:36:26.922 +00:00] [INFO] [server.go:193] ["register REST path"] [path=/dashboard/api/]
[2020/04/23 14:36:26.922 +00:00] [INFO] [server.go:193] ["register REST path"] [path=/dashboard/]
[2020/04/23 14:36:26.922 +00:00] [INFO] [server.go:193] ["register REST path"] [path=/swagger/]
[2020/04/23 14:36:26.922 +00:00] [FATAL] [main.go:124] ["run server failed"] [error="expected IP in URL for binding (http://peco.xxx.xx:2380)"] [stack="github.com/pingcap/log.Fatal\n\
t/home/jenkins/agent/workspace/build_pd_multi_branch_v4.0.0-rc/go/pkg/mod/github.com/pingcap/log@v0.0.0-20200117041106-d28c14d3b1cd/global.go:59\nmain.main\n\t/home/jenkins/agent/workspace/build_pd_multi_branch_v4.0.0-rc/go/src/github.com/pingcap/pd/cmd/pd-server/main.go:124\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:203"]

I am using host names, not IPs in topology.yaml. Is it not supported?

Duplicate of https://github.com/pingcap-incubator/tiup-cluster/issues/25


deps - bump multicodec to 0.1.2 for bugfix

looks like there is an unrelated error with Sauce Connect

SauceLabs open source account is way too small for our usage. It does get us the badges though :)


Fix missing config copy in Dockerfile

Solves #351
Fix error in Action for docker image creation due to missing conftest.py.
The conftest.py file has been added in Dockerfile, which uses explicit copy of specific files and folders, and not a blanket copy of everything in the build folder except those in .dockerignore.
While this prevents building a docker image with extra/unwanted files added in the local build folder (on test/dev machines) it also has the potential to create bugs if the Dockerfile has not been properly updated.
@rth @marccarre any recommendation for this ? (do blanket copy anyway as (1) on CICD, no risks or unwanted files in the image and (2) the images built on dev machines are just local anyway).

The conftest.py file has been added in Dockerfile, which uses explicit copy of specific files and folders, and not a blanket copy of everything in the build folder except those in .dockerignore.

I'm not sure I understand. Is this
https://github.com/icubam/icubam/blob/16fb298269d0edd045a03bdcc002e77ba8c90662/conftest.py#L35
the problem? Or just the existence of conftest.py? By default that fixture is not used unless you run integration tests: https://github.com/icubam/icubam/blob/master/doc/contributing.md#integration-tests The file needs to be run, but the corresponding fixures are not going to be run unless you pass the --icubam-config to pytest.

Shouldn't some tests fail if tests cannot be run inside Docker though? Do you understand why CI is green on master now?

Indeed, the issue was the missing conftest.py in the Dockerfile (was not copied), hence when running the tests inside a container, it was failing. Adding the file inside the Dockerfile has solved the issue AFAICT.

Adding the file inside the Dockerfile has solved the issue AFAICT.

OK, great. I think copying files one by one is still fine, because there could be potentially sensitive files in the project dir, particularly when building locally. Ideally if CI fails, it should be easy enough to detect that some file is missing.

Thanks @pgraverdy !


URL doesnt have escaped periods in metric?

Hey there,
Sorry, I apologize if this is obvious.  I have snmp checks sending data to graphite.  The snmp check switches the OID into something that looks like this kind of graphite metric string: icinga.<hostname>.<service>.iso_3_6_1_4_1_9_9_48_1_1_1_6_1
I see on line 100 of Grapher.php ($target .= '.'. Macro::escapeMetric($metric, true);) and the code that should be switching out the periods for underscores, but I cant figure out the logical reason for the if (!$isMetric) block.
In what scenario would we not want to have periods escaped in the $metrics variable?
    public static function escapeMetric($str, $isMetric)
    {
        if (!$isMetric)
        {
            $str=str_replace('.','_',$str);
        }
        $str=str_replace(' ','_',$str);
        $str=str_replace('-','_',$str);
        $str=str_replace('\\','_',$str);
        $str=str_replace('/','_',$str);
        return $str;
    }

I think that logic is a hang over from before my attempt to use macro's. I will remove and push.

done


Show commands stdout

I broke the output some time ago, while trying to remove it in the integration specs. This enables it back and changes the formatting a little bit. This is how it looks now:
http://cl.ly/213l1n2N462t
This also uses ActiveRecord::Migration.verbose to enable/disable pt-online-schema-change's output. This way when you want to disable the migration's output you won't its logs either.

:+1:

:+1:

:+1:


Add "Shortcut" option to the new menu

Is your feature request related to a problem? Please describe.
I wouldn't call it a problem, but it is a bit of an annoyance when I have to open the Windows File Explorer to create shortcuts.
Describe the solution you'd like
In the new menu in the Files app, there should be an option to create a shortcut.
Describe alternatives you've considered
I would normally have to open the Windows File Explorer to create a shortcut.
Additional context
Windows 10 Version 20H2 (OS Build 19042.685)
App Version <IP_ADDRESS>

Merging with #1671.


[SPARK-29761][SQL] do not output leading 'interval' in CalendarInterval.toString

What changes were proposed in this pull request?

remove the leading "interval" in CalendarInterval.toString.
Why are the changes needed?

Although it's allowed to have "interval" prefix when casting string to int, it's not recommended.
This is also consistent with pgsql:
cloud0fan=# select interval '1' day;
 interval
----------
 1 day
(1 row)

Does this PR introduce any user-facing change?

yes, when display a dataframe with interval type column, the result is different.
How was this patch tested?

updated tests.

cc @MaxGekk @dongjoon-hyun @maropu

Test build #113271 has started for PR 26401 at commit 5fb2fe6.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18179/
Test PASSed.

Ur, I see, this change looks reasonable. Actually, it seems pgSQL does so;
postgres=# select cast('1 day' as interval);
 interval
----------
 1 day
(1 row)

I have been confusing this weird prefix for a long time，but how about we use sql standard output style？

AFAIK pgsql has configs to change the interval output string. We can think about it later.

Test build #113273 has started for PR 26401 at commit e08c60b.

Test build #113273 has finished for PR 26401 at commit e08c60b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #113278 has started for PR 26401 at commit dc094a7.

Test build #113278 has finished for PR 26401 at commit dc094a7.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113278/
Test PASSed.

Thank you for pinging me, @cloud-fan . I'm +1 for this, but it seems that we need a migration guide in order to avoid surprises because the output change might affect the old Spark application which expects that prefix. (cc @gatorsmile )
This PR already shows that kind of side effects.
- df.selectExpr(s"d - $i"),
+ df.selectExpr(s"d - INTERVAL'$i'"),

This PR already shows that kind of side effects.

The particular case you pointed out is not a breaking change. It relies on CalendarInterval.toString which is a private class.
it does change the result when casting interval to string. Let me add a migration guide in case users rely on that string.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18203/
Test PASSed.

Test build #113297 has started for PR 26401 at commit d68d974.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18204/
Test PASSed.

Test build #113297 has finished for PR 26401 at commit d68d974.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113297/
Test FAILed.

retest this please

Test build #113303 has started for PR 26401 at commit d68d974.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18209/
Test PASSed.

Test build #113303 has finished for PR 26401 at commit d68d974.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113303/
Test FAILed.

retest this please

Test build #113306 has started for PR 26401 at commit d68d974.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18212/
Test PASSed.

Test build #113306 has finished for PR 26401 at commit d68d974.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113306/
Test PASSed.

Test build #113357 has started for PR 26401 at commit c1f3473.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18255/
Test PASSed.

Test build #113357 has finished for PR 26401 at commit c1f3473.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class LocalShuffleReaderExec(child: SparkPlan) extends UnaryExecNode
class ContinuousRecordEndpoint(buckets: Seq[Seq[UnsafeRow]], lock: Object)

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113357/
Test PASSed.

thanks for the review, merging to master!


Solve timetable rescaling bug

Pull Request Test Coverage Report for Build 550

3 of 3 (100.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.007%) to 90.682%

Totals

Change from base Build 549:
0.007%

Covered Lines:
3630

Relevant Lines:
4003

💛  - Coveralls


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_9f2adq54mj/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_9f2adq54mj/clone/recipe/meta.yaml:34: missing_pip_check: For pypi packages, pip check should be present in the test commands
ERROR: /tmp/abs_9f2adq54mj/clone/recipe/meta.yaml:43: http_url: http://github.com/django/channels is not https
WARNING: /tmp/abs_9f2adq54mj/clone/recipe/meta.yaml:43: missing_description: The recipe is missing a description
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_b27ekjoymq/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_b27ekjoymq/clone/recipe/meta.yaml:34: missing_pip_check: For pypi packages, pip check should be present in the test commands
ERROR: /tmp/abs_b27ekjoymq/clone/recipe/meta.yaml:43: http_url: http://github.com/django/channels is not https
WARNING: /tmp/abs_b27ekjoymq/clone/recipe/meta.yaml:43: missing_description: The recipe is missing a description
Errors were found


tests/nixpkgs: move nixpkgs module test to dedicated drv

We don't need a full test that actually builds or runs nixvim. All we need is some assertions on the result of a nixvim configuration.
Currently #2738 needs to change the module tests to construct their own pkgs instance, so that we can test how the module behaves. However this is likely to have a performance hit since we are repeatedly instanciating pkgs again for each test case. It's probably better to use a single pkgs instance for all test case modules, but move the nixpkgs-module tests to their own dedicated test derivation.
This PR does that, moving the existing tests to a dedicated link-farm.
This also allows creating some bespoke helpers to streamline writing the tests and may improve performance slightly because we don't need to also build config.build.package for the nixpkgs-module unit tests.
The bespoke helpers are a little cumbersome, so I'm open to feedback on them. Some of them may also be useful more generally, so may be worth moving to some kinda "test utils" file. This can be done now or later.

FYI https://github.com/nix-community/nixvim/pull/2738 is kinda blocked on this. Or at least blocked on deciding whether we will merge this.
I'd like to re-write the tests in that PR based on this PR.

I'd be in favour of introducing in this PR the framework for tests that don't launch nvim, it can be useful to add tests for assertions or warnings (#2751 reminded me that I wanted to add a diagnostic & such a test)

I'd be in favour of introducing in this PR the framework for tests that don't launch nvim, it can be useful to add tests for assertions or warnings (#2751 reminded me that I wanted to add a diagnostic & such a test)

That's still on my radar, but I don't see how it relates to this PR

Those tests don't require to launch nvim, so I guess what I am mostly saying is that it would be nice to create in this PR a test suite that does not eval nvim, and allows to easily add tests to it

Ok, now that we've tackled negative tests can we revisit this PR and discuss whether we will merge it or something like it?
While we could set test.buildNixvim = false and keep the nixpkgs module tests in test-sources, that'd require all the test-spurces modules to not define nixpkgs.pkgs.
IDK how performance intensive instantiating an instance of nixpkgs is, or how well nix is able to cache similar instances for re-use...
Given the sheer number of test case modules we have, I feel it's probably a good idea to explicitly use the same pkgs instance for all of them.
If so, that means keeping the nixpkgs module tests separate, as per this PR (or similar).

Yeah it addresses my comment, so I have no idea about the performance though :/


[Request] TCP Port Monitoring

would be great to also have the possibility to monitore a tcp port e.g. <IP_ADDRESS>:12345

I think its already supported in new version but forget to close


File editing messes up indenting

Some how a top-level property got improperly indented:
https://github.com/ivans-innovation-lab/my-company-monolith/pull/6/commits/3d02c39783283dcc29da877c8fb005d0c7383e1f#diff-256c57f5b357be82840a9b2207f0dcd5R25

Original YAML:
info:
  app:
    name: Monolitihic
    description: Monolitihic - Application - All in one ;)

server:
  port: 8080

management:
  cloudfoundry:
    skip-ssl-validation: true
  info:
    git:
      mode: full

logging:
  level:
    root: INFO
    org.springframework: INFO
    org.axonframework: DEBUG
    com.idugalic: DEBUG

authserver:
  hostname: localhost
  port: 9999
  contextPath: uaa

security:
  oauth2:
    resource:
      jwt:
        keyUri: http://${authserver.hostname}:${authserver.port}/${authserver.contextPath}/oauth/token_key
        keyValue: |
          -----BEGIN PUBLIC KEY-----
          MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnGp/Q5lh0P8nPL21oMMrt2RrkT9AW5jgYwLfSUnJVc9G6uR3cXRRDCjHqWU5WYwivcF180A6CWp/ireQFFBNowgc5XaA0kPpzEtgsA5YsNX7iSnUibB004iBTfU9hZ2Rbsc8cWqynT0RyN4TP1RYVSeVKvMQk4GT1r7JCEC+TNu1ELmbNwMQyzKjsfBXyIOCFU/E94ktvsTZUHF4Oq44DBylCDsS1k7/sfZC2G5EU7Oz0mhG8+Uz6MSEQHtoIi6mc8u64Rwi3Z3tscuWG2ShtsUFuNSAFNkY7LkLn+/hxLCu2bNISMaESa8dG22CIMuIeRLVcAmEWEWH5EEforTg+QIDAQAB
          -----END PUBLIC KEY-----

spring:
  jpa:
    hibernate:
      ddl-auto: validate
  h2:
    console:
      enabled: true
      path: /h2-console

flyway:
  locations: db/migration/h2

---
spring:
  profiles: cloud
  jpa:
    database:
    show-sql: true
    hibernate:
      naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
      ddl-auto: none
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQL5Dialect
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    url: ${vcap.services.mysql.credentials.jdbcUrl}
    username: ${vcap.services.mysql.credentials.username}
    password: ${vcap.services.mysql.credentials.password}

flyway:
  locations: db/migration/mysql

The issue likely arises because the line before authserver has trailing spaces. Those must not be getting preserved with the newline somehow.


Add and style road labels

Functional work is complete. Making a new ticket for polish in lower priority.


Update guava to 14.0.1

Updates com.google.guava:guava from 14.0 to 14.0.1.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.guava", artifactId = "guava" } ]

Codecov Report

Merging #291 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #291   +/-   ##
========================================
  Coverage    61.29%   61.29%
========================================
  Files           50       50
  Lines         1540     1540
  Branches        40       40
========================================
  Hits           944      944
  Misses         596      596

Continue to review full report at Codecov.

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


Detect Laravel Livewire, and hence detect Laravel

I think it’s possible to detect Laravel Livewire and then detect Laravel.
Livewire uses specific JS, I think that’s the way to detect it.
Builtwith detects both of them.

It's already there! :)


chore: update hermetic_library_generation.yaml to only run on PRs that modify generation_config.yaml

I acknowledge that the script detects this, but github will also fail if the action is present on a branch that does not have a token. My preference would be that the workflow for the generation script not even attempt to access the token until a "write step", but the current script is all or nothing. Filtering on input change seems like an okay compromise.

RE:

run when the last commit has affected generation_config.yaml

Could this be a check in the script $COMMITISH == HEAD if it matches proceed, otherwise exit as not applicable.

@BenWhitehead, we have disabled the check on PRs that come from fork (i.e. repos that don't have the token).
https://github.com/googleapis/java-storage/blob/2f800d09d128abdb3fb6b990ce4d2ed24cdd45cf/.github/workflows/hermetic_library_generation.yaml#L23
For all other PRs, the token should be accessible since it's a repo-level secret.
Regarding the screenshot you shared, would you mind sharing the link to it to see which PR it comes from? I suspect it's either a workflow run from before we set the token or from a fork.
cc: @blakeli0 @JoeWang1127

Spoke offline to get consensus.


Type in about column

Set of SIGMA rules (>320) mapped to MITRE Att@k tactic and techniques

should be

Set of SIGMA rules (>320) mapped to MITRE Att&ck tactic and techniques

Att@k --> Att&ck, or maybe even ATT&CK.
Cheers.

Thanks @AbelLykens , the description has been updated according to your advise.


WIP - Do not merge - Add client interest in singleton components

Description
Describe your changes here.
Release note
REQUIRED: Add a release note to the ##Unreleased section of CHANGELOG.md. You can find guidance for writing useful release notes here. Documentation changes are exempt from this requirement.
Tests
How did you test these changes prior to submitting this pull request?
What automated tests are included in this PR?
STRONGLY SUGGESTED: How can this be verified by QA?
Documentation
How is this documented (for example: release note, upgrade guide, feature page, in-code documentation)?
Primary reviewers
If your change will take a long time to review, you can name at most two primary reviewers who are ultimately responsible for reviewing this request. @ mention them.

Closed - redundant


MultiCluster communications fail randomly after 30 minutes

Bug description
Installed Istio 1.9.1 on 3 clusters using the multi-primary on differnt networks docs, after which communications between cluster weren't working when we did tried to verify the installation. The sleep pod always hit the helloworld service in the same cluster.
But we managed to get that working using this workaround.
But once a service has been running for a while (~30 min) communications suddenly stops working with error:
503, upstream connect error or disconnect/reset before headers. reset reason: connection termination
The failure doesn't always affect every pod, some are able to continue communicating. The ones that do start failing will continue to fail consistantly for ~30 min before correcting at which point some of the previously working pods will have started to fail.
In the istiod logs I can see:
Failed to authenticate client from <IP_ADDRESS>:53492: Authenticator ClientCertAuthenticator: no verified chain is found; Authenticator KubeJWTAuthenticator: failed to validate the JWT from cluster "clusterx-istio": the service account authentication returns an error: [invalid bearer token, Token has been invalidated, unknown]
[ ] Docs
[ ] Installation
[x] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
Expected the communications between clusters to work consistently.
Steps to reproduce the bug

Setup EKS clusters
Install istio on both clusters
Use workaround because AWS uses hostnames
Verify install
Setup a pods that pings the other clusters every 30 seconds
Wait ~30 minutes

Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
Istio:
client version: 1.9.1
control plane version: 1.9.1
data plane version: 1.9.1 (54 proxies)

Kubectl:
Server Version: v1.18.9-eks-d1db3c

How was Istio installed?
https://istio.io/latest/docs/setup/install/multicluster/primary-remote_multi-network/
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
spec:
  components:
    base:
      enabled: true
    pilot:
      enabled: true
    ingressGateways:
      - name: istio-ingressgateway
        enabled: true
        k8s:
          serviceAnnotations:
            service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
            service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
            service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
            service.beta.kubernetes.io/aws-load-balancer-internal: "true"
            service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-1:XXXXXXXXXXXX:certificate/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
            service.beta.kubernetes.io/aws-load-balancer-ssl-negotiation-policy: ELBSecurityPolicy-TLS-1-2-2017-01
            service.beta.kubernetes.io/aws-load-balancer-ssl-ports: https

  values:
    global:
      meshID: production
      multiCluster:
        enabled: true
        clusterName: clusterx-istio
      network: clusterx

    pilot:
      autoscaleEnabled: true
      autoscaleMin: 3
      autoscaleMax: 5
      traceSampling: 100

    gateways:
      istio-ingressgateway:
        autoscaleEnabled: true
        autoscaleMin: 3
        autoscaleMax: 5
---
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  name: eastwest
spec:
  revision: ""
  profile: empty
  components:
    ingressGateways:
      - name: istio-eastwestgateway
        label:
          istio: eastwestgateway
          app: istio-eastwestgateway
          topology.istio.io/network: clusterx
        enabled: true
        k8s:
          serviceAnnotations:
            service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
            service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
            service.beta.kubernetes.io/aws-load-balancer-internal: "true"
          env:
            # sni-dnat adds the clusters required for AUTO_PASSTHROUGH mode
            - name: ISTIO_META_ROUTER_MODE
              value: "sni-dnat"
            # traffic through this gateway should be routed inside the network
            - name: ISTIO_META_REQUESTED_NETWORK_VIEW
              value: clusterx
          service:
            ports:
              - name: status-port
                port: 15021
                targetPort: 15021
              - name: tls
                port: 15443
                targetPort: 15443
              - name: tls-istiod
                port: 15012
                targetPort: 15012
              - name: tls-webhook
                port: 15017
                targetPort: 15017
  values:
    global:
      meshID: production
      network: clusterx
      multiCluster:
        clusterName: clusterx-istio

Environment where the bug was observed (cloud vendor, OS, etc)
AWS (EKS, v1.18.9-eks-d1db3c)
Additionally, please consider running istioctl bug-report and attach the generated cluster-state tarball to this issue.
Refer cluster state archive for more details.

If you want to reproduce faster I suspect changing --keepaliveMaxServerConnectionAge to a lower time will trigger it faster. Its currently 30m which suspiciously lines up with times here. This means a pod will disconnect from istiod after 30mins.
It seems to figure out the root we need to understand why the token is invalid. A few possible options: k8s is not updating the token, the sidecar is sending a stale token despite k8s updating it, istiod is incorrectly validating it.

The ones that do start failing will continue to fail consistantly for ~30 min before correcting at which point some of the previously working pods will have started to fail.

If we are failing to authentication (Failed to authenticate client from ...) I would expect it to immediately reconnect, not after 30 minutes, which is a bit odd..

You are right, they did make some successful request after they started failing,  but the pod never stabilized.
The pods were setup to ping the service in the remote cluster every 30 seconds.
Out of 3 pods, 2 had failures. The ones that did have failures did managed to intermittently make successful requests and then failed again within 30s-5m.
For the initial 30 minutes of the test, there were not failures.

We were using an nlb load balancer rather that an elb in AWS.
I haven't tested it for this multi-cluster configuration but it did fix some networking issue we had in standalone installations of istio.
We suspect it's because the nlb has an idle timeout for TCP traffic and terminates the connection silently.

@ironpeak, how did you fix this, if at all? Did you migrate to an ELB? Change the idle timeout in Istio?

I found the fix myself, and it was actually quite simple: I set ISTIO_META_IDLE_TIMEOUT="300s" in the environment of the east-west gateways. As I'm a Helm user, I accomplished this by setting env,ISTIO_META_IDLE_TIMEOUT in the values file.

@antonio-te Do you know what explains why this parameter solved the problem?
We're having similar issues with eastwest-gateway with NLB, and I want to understand how this can help before testing.

@eduardobaitello (e @drequena), me desculpe pela espera.
AWS NLBs have a hard-coded TCP idle timeout of 350s, and Istio's default timeout is null. Since Istio's connections never time out, the NLBs cuts them off with an RST, hence "disconnect/reset before headers".

Hi @agurgel-te, thanks for the explanation.
We realized precisely this, and as soon as we defined ISTIO_META_IDLE_TIMEOUT="300s" the problem was solved 🙏🏻


feature implement alter table property of cloud mode

Co-authored-by: Lei Zhang<EMAIL_ADDRESS>

run buildall

run buildall

run buildall

run buildall


add support for QR Code for pairing

add support for QRCode pairing.
it consists of 2 parts:

add setup code to mDNS advertisement
generate SetupURI that is the basis for QR code.

fix for #121

@ccutrer  please review


Rework transceiver direction support further

The previous change to transceiver direction behaviour was a step in the
right direction(lol) but it wasn't correct. In particular we were making
changes when applying a remote offer that should happen when applying a
remote or local answer. The state machine for receivers was also
incorrect.
Here's the full state machine for RTP Receivers

Notes on these changes:
Create offer
Procedure described in RFC8829 section 4.1.8 which in turn
references section 5.2.1 for initial offers and
section 5.2.2 for subsequent offers.
For initial offers the direction of any m= lines should be:

A direction attribute that is the same as that of the associated transceiver.

Section 4.2.3

When creating offers, the transceiver direction is directly reflected
in the output, even for re-offers.

Create answer
Procedure described in RFC8829 section 4.1.9 which references
section 5.3. Similarly to offer there's a split between
initial answers(section 5.3.1) and subsequent
answers(section 5.3.1).
When it comes to generating m= lines RFC8829 points to RFC3264 Section 6.1.
About direction that section says:

If a stream is offered as sendonly, the corresponding stream MUST be
marked as recvonly or inactive in the answer.  If a media stream is
listed as recvonly in the offer, the answer MUST be marked as
sendonly or inactive in the answer.  If an offered media stream is
listed as sendrecv (or if there is no direction attribute at the
media or session level, in which case the stream is sendrecv by
default), the corresponding stream in the answer MAY be marked as
sendonly, recvonly, sendrecv, or inactive.  If an offered media
stream is listed as inactive, it MUST be marked as inactive in the
answer.

Updating a Transceivers Direction
The direction can be set manually and indicates the desired, but not necessarily used, direction.
RFC8829 section 4.2.3

The setDirection method sets the direction of a transceiver, which
affects the direction property of the associated "m=" section on
future calls to createOffer and createAnswer.

The actual direction in used is stored in currentDirection
RFC8829 section 4.2.5

The currentDirection property indicates the last negotiated direction
for the transceiver's associated "m=" section.  More specifically, it
indicates the direction attribute [RFC3264] of the associated "m="
section in the last applied answer (including provisional answers),
with "send" and "recv" directions reversed if it was a remote answer.
For example, if the direction attribute for the associated "m="
section in a remote answer is "recvonly", currentDirection is set to
"sendonly".

If an answer that references this transceiver has not yet been
applied or if the transceiver is stopped, currentDirection is set to
"null".

Both direction and currentDirection are updated when applying a remote answer i.e. via set_remote_description. This is step <IP_ADDRESS>.2 of the set description process.
currentDirection is updated when setting applying local answer i.e. via set_local_description. This is step <IP_ADDRESS>.3 of the set description process.
When currentDirection changes we potentially pause/unpause rtp receivers.


Tenant is not getting deleted in APIC when running "netctl tenant rm  from Controller

Steps to Reproduce:

Create a tenant, apply  policy and create EPG with app-profile.
netctl global set --fabric-mode aci --vlan-range 101-110
netctl global info
netctl tenant create india
netctl tenant ls
netctl net create -t india -e vlan -pkt-tag=103 -s <IP_ADDRESS>/24 -g <IP_ADDRESS> net1
netctl policy create -t india net1-pol
netctl group create -t india -p net1-pol net1 net1-grp
netctl policy rule-add net1-pol 1 --tenant india -direction=in -protocol=tcp -action=allow
netctl app-profile create -t india -g net1-grp net1

The tenant and application profile gets created in APIC successfully.

[stack@aci-rack1 ~]$ netctl group list -t india
Tenant  Group     Network  Policies
------  -----     -------  --------
india   net1-grp  net1     net1-pol

Remove the policies and delete the tenant using "netctl tenant rm".
[stack@aci-rack1 ~]$ netctl tenant list
Name

default

Tenant gets removed from the controller.

In APIC the application profiles are deleted, but the tenant is not getting removed.

This is by design. A tenant in APIC could mean more than just the container cluster. If desired, the tenant can be deleted from APIC (contiv ui is not intended to replace the APIC ui).


Font Resource clear button doesn't work

Godot version
4.0.dev (58712e9)
System information
Windows 10, Vulkan
Issue description
After creating or adding a Font Resource, selecting the "Clear" button doesn't work.

The following message shows in the console:

Steps to reproduce

Create a new project.
Create a Label node.
Add a Font Resource to the label.
Select "clear", from the Font Resource dropdown.

Minimal reproduction project
No response

I can confirm this on master 1cbf3947d.

Seems like it's caused by #47252, same happens with the style boxes.
cc @KoBeWi


Ugrade to 2.0.35.

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/fabric8-quickstarts-master-pullreq/297/
Test PASSed.


Linux cant load depth camera

Describe the bug
The depth sensor can be loaded when running on windows. But I run it on my Linux Ubuntu 18.04. It always shows same error messages:  Failed to start device! If you unplugged the device, you must close and reopen the device.
To Reproduce
opened the Azure Kinect Viewer through command  k4aviewer
click on 'open device' and 'start' with default options
error message pops up: Failed to start device! If you unplugged the device, you must close and reopen the device.
Logs
[ warning  ] : is_fw_version_compatable(). Firmware version for RGB is 1.6.98. Consider upgrading to 1.6.102 or newer. [ warning  ] : is_fw_version_compatable(). Firmware version for Depth is 1.6.70. Consider upgrading to 1.6.75 or newer. [ error    ] : depth_engine_start_helper(). Depth engine create and initialize failed with error code: 207. [ error    ] : depth_engine_start_helper(). OpenGL 4.4 context creation failed. You could try updating your graphics drivers. [ error    ] : deresult == K4A_DEPTH_ENGINE_RESULT_SUCCEEDED returned failure in depth_engine_start_helper() [ error    ] : depth_engine_start_helper(dewrapper, dewrapper->fps, dewrapper->depth_mode, &depth_engine_max_compute_time_ms, &depth_engine_output_buffer_size) returned failure in depth_engine_thread() [ warning  ] : capturesync_add_capture(). Capture Error Detected, Depth  [ error    ] : dewrapper_start(). Depth Engine thread failed to start [ error    ] : dewrapper_start(depth->dewrapper, config, depth->calibration_memory, depth->calibration_memory_size) returned failure in depth_start() [ error    ] : cmd_status == CMD_STATUS_PASS returned failure in depthmcu_depth_stop_streaming() [ error    ] : depthmcu_depth_stop_streaming(). ERROR: cmd_status=0x00000063 [ error    ] : depth_start(device->depth, config) returned failure in k4a_device_start_cameras()
Screenshots

Desktop (please complete the following information):

OS with Version: <Linux Ubuntu 18.04 >
SDK Version:  < 1.3.0 -->
Firmware version:

Additional context

Please try Sensor SDK 1.4.1

Same question on Microsoft Q&A: https://docs.microsoft.com/en-us/answers/questions/430571/cant-load-depth-camera-when-running-in-linux-ubunt.html?childToView=432249#answer-432249

I meet an error when installing the 1.4.1 when using the command sudo apt install k4a-tools. My CPU is ryzen 9 3900x

I meet an error when installing the 1.4.1 when using the command sudo apt install k4a-tools. My CPU is ryzen 9 3900x

Could someone give me the whole command code of the installation of the SDK 1.4.1? Also, if I wanna copy 'scripts/99-k4a.rules' into '/etc/udev/rules.d/', should I just use sudo cp -a scripts/99-k4a.rules /etc/udev/rules.d/

@qm13 fyi can you follow-up. thanks

@Ycao26 The same problem has occurred. I can't run the camera in depth.
We used Ubuntu 18.04.


[usb] remove inline lint comments

refers to #1066
the inherited USB code has inline lint waivers. We're using a waiver-file approach
that is currently not yet in-repo. In a separate PR we should remove the
inline // lint waivers and create replacement ones that inherit the intent.
@vogelpi @stefanlippuner @msfschaffner

I am closing this issue as the PR containing the required changes has been merged.


Content offset bug when scrolling to top of stream view

The content inside of the scroll view is clipped

Elaborate.

@neerajwahi do you have the screenshot for this?  Regardless it was very reproducible, basically the top part of the top message (i.e. who sent it) would be obscured by the main header at the top of the screen after you scroll to the top.

Reproduced.
Does not exist on cached branch (tm)


variant optional attributes

I want to merge this change because...

**PR intended to be tested with API branch: variant-optional-attributes
Screenshots

updated styles:

Pull Request Checklist

[x] All visible strings are translated with proper context.
[x] All data-formatting is locale-aware (dates, numbers, and so on).
[x] Translated strings are extracted.
[x] Number of API calls is optimized.
[x] The changes are tested.
[x] Data-test are added for new elements.
[x] Type definitions are up to date.
[x] Changes are mentioned in the changelog.

Test environment config

API_URI=https://variant-optional-attributes.staging.saleor.rocks/graphql/

Task linked: CU-7jw8ef Dashboard optional variant attributes changes

Please don't merge this one yet. The feature was not fully refined and we need to check if this can be merged in this shape.

Blocked #6059

Closing this for now, we need to rethink the requirements for this feature and get back to it in the future.


Stock Chart

Is it possible to use the Stock chart functionality?
http://api.highcharts.com/highstock#Highcharts.StockChart
I see in the code it is currently hard coded for Chart https://github.com/kirjs/react-highcharts/blob/master/src/Highcharts.jsx#L22

That's true, for now it's hardcoded, but you're free to make a PR, we'll appreciate it

Closed by #29


How can i Categories (divide) rows into section (in a deferent sorting order ) ?

by default it is Categorized  alphabetically say i wanna categories cities of every state how can i do it ? e.g. city name  = row , Sate =  section.

How did you solve it??


Django items

When starting the app I get this notification:
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them.
When trying to use the admin URL  I get the following:
"A server error occurred.  Please contact the administrator." in the browser and in the terminal:
File "/usr/local/lib/python3.8/dist-packages/backports/zoneinfo/_common.py", line 27, in load_tzdata
    raise ZoneInfoNotFoundError(f"No time zone found with key {key}")
backports.zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key UTC'

The error message you encountered is related to a missing time zone entry for 'UTC' in the backports zoneinfo library. This issue often occurs when using Python 3.8 or earlier versions that lack the built-in time zone database.
To fix the problem, you can follow these steps:
Upgrade Python: If possible, upgrade your Python version to 3.9 or later, as these versions include the necessary time zone database by default.
Use a Time Zone Library: If upgrading Python is not an option, you can use a separate time zone library, such as 'pytz,' to provide the necessary time zone data. Install the 'pytz' library using pip:
bash:
pip install pytz
or (pip3 install pytz)
Update Django Settings: Once 'pytz' is installed, you need to update your Django settings to use it. Open the "settings.py" file in your project and add the following line:
TIME_ZONE = 'UTC'
Apply Migrations: After making these changes, apply the pending migrations by running:
python manage.py migrate
(or python3)
Run the Server: Start the development server again:
python manage.py runserver
or (python3)
The missing 'UTC' time zone issue should be resolved now, and you should be able to use the admin URL without any errors.
Additionally, it's important to apply the pending migrations (e.g., for 'admin,' 'auth,' 'contenttypes,' and 'sessions') to ensure that the necessary database tables and configurations are set up correctly. The 'python or(python3) manage.py migrate' command handles this process for you.

fixed with bconexus_uat_v1.5_081523


chatterino native needs a new update, i use version 7.3.4 and native doesnt go in the correct place

chatterino native host not in correct position
<!--

new update 7.3.4 native doesn't go in the correct place

  Examples:
native worked with version 7.3.2, however its not bugged with the new 7.3.4 it just isnt in the correct postion where native chat is.

[screenshot of native issue with version 7.3.4] (https://gyazo.com/e314f720f27c1072f14c0bc72933100d)

windows 10, google chrome, chatterino version 7.3.4

Please check other issues as per the issue template prior to creating an issue in future. If you'd had followed accordingly, you would've seen that:
a. This should be posted on the browser extension repo
b. There is already an issue created for it

Duplicate of https://github.com/Chatterino/chatterino-browser-ext/issues/65