feat: PeakEWMA load balancer

Issues associated with this PR
#2252
Solutions
Based on the host indicators (HostStats()) that have been collected so far, use the average duration (perhaps a better percentile) as the characteristic of the response time, and use the number of active requests for weighting to calculate the expected time to process all current requests, and use the success rate for weighting to avoid Requests are forwarded to a large number of faulty servers. In order to avoid starvation of servers that have never succeeded, the minimum success rate weight is limited to 0.1.
In small clusters (differentiated by choice), choose the best among all hosts, and avoid choosing the worst in large clusters by random sampling (See The Power of Two Random Choices: A Survey of Techniques and Results).
Benchmark
goos: darwin
goarch: amd64
pkg: mosn.io/mosn/pkg/upstream/cluster
cpu: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
BenchmarkShortestResponseLoadBalancer_ChooseHost
BenchmarkShortestResponseLoadBalancer_ChooseHost-16    	 3072984	       388.4 ns/op
PASS

Code Style

Make sure Goimports has run
Show Golint result

Hello, @doujiang24 and @alpha-baby , PLAT, thx :)

oops, let's disable golinter in this PR, to validate faster.

oops, let's disable golinter in this PR, to validate faster.

I can't laugh or cry. 😂
Cyclomatic complexity is a magical thing, I mean it is difficult to judge subjectively how much is appropriate. But I think it is at least a quantifiable indicator of mental stress.
I have refactored the code to reduce the cyclomatic complexity. I think it can be retained and used as an indicator to evaluate the quality of the code, unless it brings too much noise, we can let go of the quality door

Oh, it's better to add some comments somewhere, the new lb depends on metrics, it won't work when metrics are disabled.

Made a series of optimizations, the latest benchmark
goos: darwin
goarch: amd64
pkg: mosn.io/mosn/pkg/upstream/cluster
cpu: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
BenchmarkShortestResponseLoadBalancer_ChooseHost
BenchmarkShortestResponseLoadBalancer_ChooseHost-16    	 4770519	       258.3 ns/op
PASS

Hello, @muyuan0 . According to https://github.com/mosn/mosn/pull/2274#discussion_r1154230917, it's renamed to PeakEWMA and the implementation is similar to Linkerd. PLAT 😺

Hello, @muyuan0 .
After careful consideration, I decided to use the same implementation style as other LoadBalancers, use EdfLoadBalancer for weighted load balancing, and use unweighted branches when the weights are the same. This may not have optimal efficiency, but it can reduce the complexity of subsequent changes and maintenance.
In addition, due to the high cost of achieving random unique selection (the partition selection method will have skew when the score are the same), so still only using rand to ensure that the chosen is as unique as possible

LGTM. Looking forward to these TODOs, yep, they could be done in other PRs.

I will start next week

@jizhuozhi  pls resolve the conflicting files

pls add a doc
https://github.com/mosn/mosn.io/blob/master/content/zh/docs/products/configuration-overview/clustermanager/index.md

pls add a doc https://github.com/mosn/mosn.io/blob/master/content/zh/docs/products/configuration-overview/clustermanager/index.md

Hello @taoyuanyuan, I will do this. But since #2286 makes activeRequestBias configurable and PeakEWMA is using activeRequest, I will support it in PeakEWMA


feat: deeper fragment merging

Follow up to #1542; this passes the schema through to mergeAST so that the query can be further simplified in a type-aware way (i.e. spreading a fragment of type Test inside a scope that can only be type Test will result in the fragment being fully inlined).
Given this query:
{
  test {
    id
    ...T
  }
}

fragment T on Test {
  isTest
}

Pressing "Merge" previously simplified to:
{
  test {
    id
    ... on Test {
      isTest
    }
  }
}

But with this change, it now simplifies to:
{
  test {
    id
    isTest
  }
}

thank you @benjie !


[3.x] Add option to make selection unique

This is a backport of https://github.com/godotengine/godot/pull/54166 to 3.x branch.

Thanks!


[OpenAI] Suppress null warnings

Data Plane API - Pull Request

API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.

Link to API Spec engagement record issue:

Is this review for (select one):

[ ] a private preview
[ ] a public preview
[ ] GA release

Change Scope
This section will help us focus on the specific parts of your API that are new or have been modified. Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.

Design Document:
Previous API Spec Doc:
Updated paths:

❔Got questions? Need additional info?? We are here to help!

 Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

💬 Teams Channel
💌 email

Click here for links to tools, specs, guidelines & other good stuff
Tooling

Open API validation tools were run on this PR. Go here to see how to fix errors
Spectral Linting
Open API Hub

Guidelines & Specifications

Azure REST API Guidelines
OpenAPI Style Guidelines
Azure Breaking Change Policy

Helpful Links

Azure DevTools Wiki

/azp run specs - typespec - ci

/azp run specs - typespec - ci

https://dev.azure.com/azure-sdk/public/_build/results?buildId=2795648&view=results


Batch training

Hi~ How to do batch training?

Hi,
This repo doesn't enable batch training. I haven't sorted out the batch training code and try to publish it during Mid Feb. I suggest you make some changes on your own if you're urgent. From my perspective, it didn't improve the training time v.s. performance curve a lot.
Thanks.,
Haojie


emfile issues with patternplate-console build-bundles

patternplate-console build-bundles runs into emfile errors when bundling medium to large projects.

Fixed via https://github.com/sinnerschrader/patternplate-server/releases/tag/v0.17.4


drop duplicate ack packets with fast open

Description
Changes proposed in this pull request.
Test plan
Outline the test plan used to test this change before merging it.

Fixes #.

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "a5e69aa277e3c8e79d3bccad71488ee2b31d98a7",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "f4fd639a963426e4155364bd35b346ed1466f0e9",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "a5e69aa277e3c8e79d3bccad71488ee2b31d98a7",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "1cbb70ea6502b157ee0de91b28fe14c9ced9c002",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "a5e69aa277e3c8e79d3bccad71488ee2b31d98a7",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "31d916b4b11914a4236643a963ed5e143c7aa66a",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "a5e69aa277e3c8e79d3bccad71488ee2b31d98a7",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "a5e69aa277e3c8e79d3bccad71488ee2b31d98a7",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "95de8beef21cda01d499d4605efd0878527b99f8",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "c17abba71e50c11f1c96f6c9dbe3a11e35f96ad5",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "c17abba71e50c11f1c96f6c9dbe3a11e35f96ad5",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "95de8beef21cda01d499d4605efd0878527b99f8",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "95de8beef21cda01d499d4605efd0878527b99f8",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "c17abba71e50c11f1c96f6c9dbe3a11e35f96ad5",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "95de8beef21cda01d499d4605efd0878527b99f8",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "c17abba71e50c11f1c96f6c9dbe3a11e35f96ad5",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "95de8beef21cda01d499d4605efd0878527b99f8",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "09f9d5a283c77636087a874a38d40a6dfbdfe786",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "95de8beef21cda01d499d4605efd0878527b99f8",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "09f9d5a283c77636087a874a38d40a6dfbdfe786",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "976810f6c8a139dfadca1e4f1af89673f40439a1",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "09f9d5a283c77636087a874a38d40a6dfbdfe786",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "976810f6c8a139dfadca1e4f1af89673f40439a1",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "09f9d5a283c77636087a874a38d40a6dfbdfe786",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "06305f3c66796de1773aa8c0b4c98da970709223",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "09f9d5a283c77636087a874a38d40a6dfbdfe786",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "06305f3c66796de1773aa8c0b4c98da970709223",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "09f9d5a283c77636087a874a38d40a6dfbdfe786",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "06305f3c66796de1773aa8c0b4c98da970709223",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "09f9d5a283c77636087a874a38d40a6dfbdfe786",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "09f9d5a283c77636087a874a38d40a6dfbdfe786",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "06305f3c66796de1773aa8c0b4c98da970709223",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "09f9d5a283c77636087a874a38d40a6dfbdfe786",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "06305f3c66796de1773aa8c0b4c98da970709223",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "b9096afeae2f3c1aac3aabc1c5f78f6806840170",
    "pipeline": "master"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "",
    "component": "trireme-lib",
    "pr-id": "983",
    "commit-sha": "6c61bac08599db5513e2b328da48c1225e624026",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "gaia",
    "pr-id": "458",
    "commit-sha": "09f9d5a283c77636087a874a38d40a6dfbdfe786",
    "pipeline": "master"
  },
  {
    "project": "",
    "component": "enforcerd",
    "pr-id": "1604",
    "commit-sha": "06305f3c66796de1773aa8c0b4c98da970709223",
    "pipeline": "master"
  }
]


Automated runs of simulations

Requirements:

[x] The system should run the simulation with the given ID, N times.

Because the simulations would be running sequentially, the amount of time it takes to create datasets can be very excessive. We may need to run simulations in parallel.


Missing/Erroneous i18n key

Gitea version (or commit ref): 078c404
Git version:
Operating system:
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes (provide example URL)
[ ] No
[ ] Not relevant

Log gist:

Description
Create any project on https://try.gitea.io with a README.
When you edit the README (or any other .md file is my guess), the editor shows an un-transformed i18n key.
This link shows the offending key.
I also noticed that the "Preview Changes" tab shows nothing, even if the source is altered.
Since this is a Github clone, my guess is it should look like this

Looks like the issue is here
The first anchor should use the i18n from the second anchor and the second anchor should be removed.
If this is correct, I'd be happy to make a PR.


Cosmos/v0.44.x

fix: replaced 'forbole' with 'pylons-tech' in the code except forbole/tendermint

fix: replaced 'forbole' with 'pylons-tech' in the code except forbole/tendermint which does not require changes.


Adjust jitsi.spec to build RPM packages again.

Removed commented out macro to prevent:
warning: Macro expanded in comment on line 133: %{_libdir}/jitsi/

Removed ant-nodeps build dependency to prevent:
error: Failed build dependencies:
ant-nodeps is needed by jitsi-2.9-5537.x86_64

should the version be automatic ? it seems we are at 2.14.x
and weirdly, 2.14.721 was released months before 2.14.695


brew services start yugabyte does not bring up yugabyted

Running
$ brew tap yugabyte/yugabyte
$ brew start yugabyte

reports success but does not seem to bring up yugabyted
14:01 $ brew services start yugabyte
==> Successfully started `yugabyte` (label: homebrew.mxcl.yugabyte)
Sankeths-MacBook-Pro:/tmp
14:01 $ sudo ps aux | egrep yugabyted
sanketh          82774   0.0  0.0  4277272    836 s004  S+    2:02PM   0:00.00 egrep --color yugabyted

@ramkumarvs

Tried with the latest package and issue still happens.
Sankeths-MacBook-Pro:~
18:43 $ brew rm yugabyte
Uninstalling /usr/local/Cellar/yugabyte/<IP_ADDRESS>... (5,820 files, 297.5MB)
Sankeths-MacBook-Pro:~
18:43 $ brew install yugabyte
==> Installing yugabyte from yugabyte/yugabyte
==> Downloading https://downloads.yugabyte.com/yugabyte-<IP_ADDRESS>-darwin.tar.gz
Already downloaded: /Users/sanketh/Library/Caches/Homebrew/downloads/8b51d79d27554a3952a933d6a263e6c69a44f435014fbc5e1ee73b68acb8bf75--yugabyte-<IP_ADDRESS>-darwin.tar.gz
==> Caveats
Use yugabyted status to check the status of the database.
Use ysqlsh to drop into an SQL shell to interact with the database

To have launchd start yugabyte/yugabyte/yugabyte now and restart at login:
  brew services start yugabyte/yugabyte/yugabyte
Or, if you don't want/need a background service you can just run:
  yugabyted start --config /usr/local/etc/yugabyte.conf
==> Summary
🍺  /usr/local/Cellar/yugabyte/<IP_ADDRESS>: 5,818 files, 297.5MB, built in 10 seconds
Sankeths-MacBook-Pro:~
18:44 $ ps -ef | egrep yugabyted
  501 83865 76450   0  6:44PM ttys003    0:00.00 egrep --color yugabyted
Sankeths-MacBook-Pro:~
18:44 $ brew services start yugabyte/yugabyte/yugabyte
Service `yugabyte` already started, use `brew services restart yugabyte` to restart.
Sankeths-MacBook-Pro:~
18:44 $ ps -ef | egrep yugabyted
  501 84085 76450   0  6:47PM ttys003    0:00.00 egrep --color yugabyted
Sankeths-MacBook-Pro:~
18:47 $ brew services restart yugabyte/yugabyte/yugabyte
Stopping `yugabyte`... (might take a while)
==> Successfully stopped `yugabyte` (label: homebrew.mxcl.yugabyte)
==> Successfully started `yugabyte` (label: homebrew.mxcl.yugabyte)
Sankeths-MacBook-Pro:~
18:47 $ ps -ef | egrep yugabyted
  501 84296 76450   0  6:47PM ttys003    0:00.00 egrep --color yugabyted
Sankeths-MacBook-Pro:~
18:47 $```


Cow: Blacklist tractorgyan.com

Cow requests the blacklist of the website tractorgyan\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

tractorgyan\.com has been seen in 6 true positives, 0 false positives, and 0 NAAs.

Approved by VLAZ in Charcoal HQ


Sorting entries

Hey folks, I spend some time to check up on the health of the project to make sure that the contributions guidelines are followed as best as we can.
Let me know if there are things that you would like to see improved in the management of this list.

Good catch @mash1t


[FEA] Add support for Delta Lake 2.4 with Spark 3.4

Is your feature request related to a problem? Please describe.
We do not currently support Delta Lake 2.4, which is the version that supports Spark 3.4.

Delta Lake 2.4 Release Notes

Status
Implemented:

https://github.com/NVIDIA/spark-rapids/pull/8573

Deferred (but we fall back to CPU for these for now)

https://github.com/NVIDIA/spark-rapids/issues/8554
https://github.com/NVIDIA/spark-rapids/issues/8415

Describe the solution you'd like
Add support.
Describe alternatives you've considered
Additional context

Marking this as complete. We have follow-on issues, as mentioned in the PR description, for future work.