[G2M] lib/parseCommits - update to the newly trained sub-1MB NLP model

highlights of the newly trained model:

extend the training dataset (from ~5k commits to ~8.5k), revise the labels to cover the convention from https://keepachangelog.com/en/1.0.0/. some sources have been mentioned
the model size shrinks from > 5 MB to < 1 MB (983 KB). we're one step closer to carbon neutral now
the model achieves an f-score of about 80%.
with a combined 1k (relatively-recent) commits from LOCUS (snoke and first order), the predictions come out to have 35.6% below 0.9 (out of 1.0) confidence score.

the new model is far from perfect, which requires a bit of iterative revision for further supervised learning in the future. thus the training notebook has been included in this repo. fastText's auto-tuned supervised training takes a stable 5 minutes every run, thus opens up the possibility for future automation to retrain the model once we can wire-up an effective feedback loop for manual corrections on the labeling process. @steven-mindswire for some guidance on how we can achieve a better training result.
this is likely for a major version bump due to the completely different labels produced by the model.
some sources used for extended training dataset:

https://github.com/Semantic-Org/Semantic-UI-React/blob/master/CHANGELOG.md
https://github.com/olivierlacan/keep-a-changelog/blob/master/CHANGELOG.md
https://github.com/conventional-changelog/standard-version/blob/master/CHANGELOG.md
https://github.com/react-native-community/releases/blob/master/CHANGELOG.md
https://github.com/git-chglog/git-chglog/blob/master/CHANGELOG.md
https://github.com/github-tools/github-release-notes/blob/master/CHANGELOG.md
https://github.com/lerna/lerna-changelog/blob/master/CHANGELOG.md
https://github.com/pyrech/composer-changelogs/blob/master/CHANGELOG.md
https://github.com/th0r/npm-upgrade/blob/master/CHANGELOG.md
https://github.com/frinyvonnick/gitmoji-changelog/blob/master/CHANGELOG.md
https://github.com/MaximeD/gem_updater/blob/master/CHANGELOG.md
https://github.com/pajapro/fastlane-plugin-changelog/blob/master/CHANGELOG.md
https://github.com/vivaxy/gacp/blob/master/CHANGELOG.md
https://github.com/facebook/react/blob/master/CHANGELOG.md
https://github.com/psf/requests/blob/master/HISTORY.md
https://calibre-ebook.com/whats-new

why the snoke/firstorder files have no extension for the model to read from?
that's arbitrary. it could be .txt but then in *nix any non-binary file without an extension is treated as plain text file.

and why is it better for the model to receive each message in lower case?
this is an experiment, since the training dataset is still not large enough to train with case-difference. so normalizing all to lowercase during training helps with generalization on the pattern, thus also the reflecting change in the model usage itself to lowercase the commit subject line.

ideally when the training dataset is large enough (perhaps 10x more the labeled commits we have now), we could experiment with preserved cases since they may (or may not) impact the pattern/model the supervised learning process produces. theoretically, with even more diverse commit sources, we can even include project name, and/or committer's identity to "personalize" the model further to tailor after each person's habit of writing commit messages.

the training notebook was included more like a "test" to check the precision but it is not needed for the npl itself right?
it's for training the model itself too. it's not included in the NPM package though.


The license information for this library

Hi @pixelsign ,
I am a contributor of cdnjs and willing to host this library.
In LICENSE.txt, the license is MIT, but in package.json, the license field is ISC. The information does not correspond. Could you let me know which license are you using?
If you have any suggestions, please let me know.
Thank you.
cdnjs/cdnjs#12283

Hi ralphchung,
we use the MIT license. I changed the package.json.
Cheers Ben


Fix MeshLibrary editor

Now there's a proper button for it, also changed the file names to depict better their purpose.

Fixes #21209.
Also, I noticed that the GridMap editor refers to MeshLibraries as "Themes", and I think it would make more sense for them to be referred to their actual names. Would changing that break compatibility?

Also, I noticed that the GridMap editor refers to MeshLibraries as "Themes", and I think it would make more sense for them to be referred to their actual names. Would changing that break compatibility?

Seems to only be used internally for identifiers, so it should be fine to change.

Thanks!


FEAT - More API's and list of APIS

Add some more API access, not just Ticker API's
Some ones I thought of:

Search API
Global news based of the error with #1956 however could also use the search API
Market Summary

I am happy to help with these if needed.
These could simply be accessed directly from yfinance
from yfinance import global_news, search

Any other API ideas as well, these were the only ones I could think of

These might already be implemented, check dev branch and https://ranaroussi.github.io/yfinance/index.html

The pull request was created same time #2160, and there was an older unfinished pull request.
Submitting a pull request is best, gives us something to review.

Ok thanks, I wasn't sure as different libraries have different policies.
This issue was created earlier than the merged pull request. I was just mentioning it.
Is there currently capacity in the library for  global news and market summary? I think there is a market status one as well.

Market summary & status, sure.
If global news is already possible with yf.Search then just document it.


Native version?

Are there any plans for a react-native version?

Nope. Since we rely on the DOM API for interaction events it is probably not a simple task to migrate this to a native version.


Update provider.markdown

Delete comma at the end of last line in Json format.

Coverage remained the same at 100.0% when pulling 1d08b2ee506d8dda1c8b65dcbdfb0e8688cb87b4 on zaumreit:master into 19f4a858a82aca95da49a5b301fe2cd265dc8320 on node-apn:master.

Coverage remained the same at 100.0% when pulling 1d08b2ee506d8dda1c8b65dcbdfb0e8688cb87b4 on zaumreit:master into 19f4a858a82aca95da49a5b301fe2cd265dc8320 on node-apn:master.


fix: merge equal code type on editor component

Types

[x] 🐛 Bug Fixes

Background or solution
部分视图设置可能因为激活、写法问题导致对同一个 schema 注册了相同内容，这里在获取 SchemaResolver 的时候做了一下 array 的去重处理，防止出现下面的视觉问题：

Changelog
merge equal code type on editor component

Codecov Report

Merging #816 (4b1f659) into main (f42f35e) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #816      +/-   ##
==========================================
- Coverage   58.57%   58.57%   -0.01%
==========================================
  Files        1211     1211
  Lines       75046    75050       +4
  Branches    15612    15613       +1
==========================================
- Hits        43960    43959       -1
- Misses      28330    28334       +4
- Partials     2756     2757       +1

Impacted Files
Coverage Δ

packages/editor/src/browser/component.ts
86.40% <100.00%> (+0.26%)
:arrow_up:

...rences/src/browser/folders-preferences-provider.ts
65.77% <0.00%> (-2.69%)
:arrow_down:

...c/browser/abstract-resource-preference-provider.ts
83.33% <0.00%> (-1.20%)
:arrow_down:

...xt/src/browser/services/file-tree-model.service.ts
53.87% <0.00%> (-0.02%)
:arrow_down:

packages/search/src/browser/search.service.ts
41.25% <0.00%> (+0.21%)
:arrow_up:

...ages/file-service/src/node/file-service-watcher.ts
68.88% <0.00%> (+0.55%)
:arrow_up:

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 f42f35e...4b1f659. Read the comment docs.


Add system color scheme property

This can be useful for debugging different styles quickly or creating a setting in your app that the user can toggle.
fix #8

we should name this so that it's clear that this should not actually be depended on for production. maybe dangerouslySetSystemColorScheme?

actually i re-read this and that's not necessary. one thing we need to do if we land this is update react-native upstream to support the same thing


podman generate kube results in broken ports configuration

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description
YAML generated by podman generate kube contains broken ports configuration. There is also a bonus bug found during removing the pod.
Steps to reproduce the issue:
podman pod create --name postgresql -p 5432 -p 9187
baf367c1e7baf627c383ef1d80efa69b34dc9b0c0c06839b371fc5599c0d0e08
podman run -d --pod postgresql -e POSTGRES_PASSWORD=password postgres:latest
9b8f325ff257d5670e1a1161c4bef168cf0bc7be0d3308da76a560678c389692
podman run -d --pod postgresql -e DATA_SOURCE_NAME="postgresql://postgres:password@localhost:5432/postgres?sslmode=disable" wrouesnel/postgres_exporter
0b933d2d4f056670143917057f67b7d933c27097fab3a274b79e52447a059046
podman generate kube postgresql > postgresql.yaml
podman pod rm postgresql -f

Last command throws this error:
ERRO[0000] cleanup volume (&{3e9db716f4210d923945df5c92f17231a171305c517b395eee5f5bc1b3d67072 /var/lib/postgresql/data [rprivate rw nodev rbind]}): volume 3e9db716f4210d923945df5c92f17231a171305c517b395eee5f5bc1b3d67072 is being used by the following container(s): 9b8f325ff257d5670e1a1161c4bef168cf0bc7be0d3308da76a560678c389692: volume is being used
baf367c1e7baf627c383ef1d80efa69b34dc9b0c0c06839b371fc5599c0d0e08

But it's probably m'kay, because pod is removed and all good. Let's continue the road to primary bug of this issue:
podman play kube postgresql.yaml

This throws:
ERRO[0000] error starting some container dependencies
ERRO[0000] "error from slirp4netns while setting up port redirection: map[desc:bad request: add_hostfwd: slirp_add_hostfwd failed]"
Error: error starting some containers: internal libpod error

Describe the results you received:
Faulty postgresql.yaml that is not usable due to incorrect port configuration. Somehow the command resulted in this port config for both containers:
    ports:
    - containerPort: 5432
      hostPort: 5432
      protocol: TCP
    - containerPort: 9187
      hostPort: 9187
      protocol: TCP

If I leave 5432 for PostgreSQL and 9187 for exporter, then podman play kube works. But then there is another issue: for postgres_exporter Podman generated following config:
  containers:
  - command:
    - /postgres_exporter
    env:
    - name: PATH
      value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - name: TERM
      value: xterm
    - name: HOSTNAME
    - name: container
      value: podman
    - name: DATA_SOURCE_NAME
      value: postgresql://postgres:password@localhost:5432/postgres?sslmode=disable
    image: docker.io/wrouesnel/postgres_exporter:latest
    name: cockymirzakhani
    ports:
    - containerPort: 9187
      hostPort: 9187
      protocol: TCP
    resources: {}
    securityContext:
      allowPrivilegeEscalation: true
      capabilities: {}
      privileged: false
      readOnlyRootFilesystem: false
    workingDir: /

Notice the command part: this is wrong, because the image itself has /postgres_exporter as an entrypoint. So when I run podman play kube container tries to run /postgres_exporter /postgres_exporter and fails to start. If I remove generated command then it starts just fine. And if I run podman pod rm postgresql -f on the pod started with podman play kube with a fixed postgresql.yaml, then I don't hit a bonus bug described earlier.
Describe the results you expected:
Correct YAML that can be used straight ahead.
Additional information you deem important (e.g. issue happens only occasionally):
Output of podman version:
podman version 1.4.2

Output of podman info --debug:
debug:
  compiler: gc
  git commit: ""
  go version: go1.12.5
  podman version: 1.4.2
host:
  BuildahVersion: 1.9.0
  Conmon:
    package: podman-1.4.2-1.fc30.x86_64
    path: /usr/libexec/podman/conmon
    version: 'conmon version 0.2.0, commit: d7234dc01ae2ef08c42e3591e876723ad1c914c9'
  Distribution:
    distribution: fedora
    version: "30"
  MemFree:<PHONE_NUMBER>
  MemTotal:<PHONE_NUMBER>2
  OCIRuntime:
    package: runc-1.0.0-93.dev.gitb9b6cc6.fc30.x86_64
    path: /usr/bin/runc
    version: |-
      runc version 1.0.0-rc8+dev
      commit: e3b4c1108f7d1bf0d09ab612ea09927d9b59b4e3
      spec: 1.0.1-dev
  SwapFree:<PHONE_NUMBER>2
  SwapTotal:<PHONE_NUMBER>6
  arch: amd64
  cpus: 8
  hostname: localhost.localdomain
  kernel: 5.0.14-300.fc30.x86_64
  os: linux
  rootless: true
  uptime: 390h 49m 52.58s (Approximately 16.25 days)
registries:
  blocked: null
  insecure: null
  search:
  - docker.io
  - registry.fedoraproject.org
  - quay.io
  - registry.access.redhat.com
  - registry.centos.org
store:
  ConfigFile: /home/fodoj/.config/containers/storage.conf
  ContainerStore:
    number: 6
  GraphDriverName: overlay
  GraphOptions:
  - overlay.mount_program=/usr/bin/fuse-overlayfs
  GraphRoot: /home/fodoj/.local/share/containers/storage
  GraphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "false"
  ImageStore:
    number: 13
  RunRoot: /tmp/1000
  VolumePath: /home/fodoj/.local/share/containers/storage/volumes

Additional environment details (AWS, VirtualBox, physical, etc.):
Just my personal laptop with Fedora 30.

to be certain, it appears this is a rootless usage? can you confirm as such

Yes, rootless

slirp will try to bind mount the specified ports on the host.  Could you please verify that the ports  5432 and 9187 on the host are free and not already used?

They are. Please note that the issue is not about binding this ports, but because of configuration from Podman which configures both ports for both containers. If I leave relevant port for each container, then it works just fine.

thanks for the clarification.
@baude should not we create a single network namespace for the infra container and let the other containers join it?

I think that we're looking up the ports for each container individually during generate kube. I recall a change a month or so back where podman port was made to understand that containers sharing a network namespace all had the same ports forwarded - that may be what broke us here, because the lookups for each container now return the ports forwarded to all containers in the pod.

@haircommander Is this something you changed?

I got this one

#3417


Fix building with -DBUILD_EASYLOGGINGPP=OFF

Fix #11905
Tracked on [LRS-829]

Why did we also change terminal-parser?

When you added #include <rsutils/string/from.h> you removed the iostream include.
This file had std::cout inside.
It worked because easylogging include it somewhere, without it it was missing and we don't check it so you missed it.
I checked and the cout was redundant, so instead of reverting the removal of include iostream, I removed the cout.

I checked and the cout was redundant

How is it redundant? I don't see other code that outputs it...
But if you're convinced then OK.


Add a "Reviewed by Hound" badge

Coverage remained the same at 98.101% when pulling 8ca2939f174f9db762a8193951f42b7713d398a5 on salbertson:patch-1 into 98470a5844fe3c0760db3a59850a129dd4c0c21d on go-chat-bot:master.


Rig the Implicit Model

Hi,
Thanks for the very interesting work. I have a couple questions about the work.
I just wonder if the script can be provided about how to rig the generated head mesh on real dataset by customized expression and pose parameters within the range.
Can the generated mesh be improved? It seems to have ray-marching step size artifacts on the surface and the messy parts down below the neck.
I notice the inference time is very long, like 15s per frame for only model output (not included plot time), is it simply due to the iterative root-finding process?
Thanks!

Hi,

I didn't plan to release the script for generating rigged mesh, but I can add it to my todo list. However, pls don't wait for it.
You can change the res_init and res_up in the .conf file to eliminate the marching cube artifacts, but then it will be slower. You can also probably regularize the invisible surfaces (for e.g., below the neck) by designing and adding some simple losses.
-The speed is limited by both iterative root finding and ray marching. There are many ways to improve, for example, by disgarding samples which are far away from the FLAME surface. But we are not planning to add these to the code.

Yufeng


Simplify Initial Setup

The initial setup of a Leaflet Bomb instance should be simplified.
One company per instance (but eventually we may want a multi-tenant for our own hosting).
Company setup on first login.
Admin user on first setup.
Invite others to join your team.

#21 is related to this, fo sho.


denoise binary not executable

Hi,
First of all, good job, LuxCoreRender is very efficient,  and can work with any OpenCL device: woow
Just one note, I saw an error in viewport for the denoiser "Permission denied". You should probably make something to set it executable if it's not. On my Fedora 31, I did:
chmod +x ~/.config/blender/2.81/scripts/addons/BlendLuxCore/bin/denoise

And I finally see denoised preview in viewport.

Ok, sorry, bad repository for the issue

This should be probably in BlendLuxCore repository.


JSON Schema validation with first optimizations.

Please squash merge! Otherwise the repository gets polluted with unnecessary blobs.
This PR implements JSON-Schema validation.

[x] tests
[ ] docs

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/8793/

superseded by: https://github.com/arangodb/arangodb/pull/11214


Contrast setting switch would be nice (feauture request)

So when I combine gray textures to make lets say a pack of grunge textures in channels, it would be nice to have AUTO max contrast switch and perhaps also invert texture (negative) per channel.
When I pack grunge textures intended to be used with channel selection it is annoying to have them at different brightness/contrast. So I still do this in Photoshop because I simply hit ctrl+shift+alt+L and I get instant auto max contrast. Very useful feature.

You will now find this feature in v1.4.0
It is located in the Actions dropdown as a Auto Levels.
If we misunderstood and you had a different functioning in mind, feel free to reopen this issue.
https://github.com/Fidifis/TextureMerge/releases/tag/v1.4.0


ADT_06 and ADT_07 msg not supported

Do we have yaml for msg type ADT_06 and ADT_07

No, only the types listed in the README have been added.

Thanks for help. but we can include ADT_06 and ADT_07 template


Cannot render 'less than or equal to' sign to pdf

The ≤ sign does not render to pdf for me. Neither escaping \≤ nor raw latex \leq works and the .tex file seems to be fine. Maybe the font does not support the character, as I did not encounter these problems with other (more common) special characters.

Hi Simon, can you give me a reproducible example? This working with the template files
To give less than or equal to just put $\le$

My bad, inline LaTeX $\le$  works for both html and pdf.


director should warn if the preprocessor and the parser are the same function

Ran into this when making nested resource calls that were handled by the same controller, which only specified a preprocessor function and no parser.
For some reason, the second time around, the preprocessor function was applied as a parser - and crashed because it could not find source_env.

@abelcastilloavant should be resolved by https://github.com/syberia/director/pull/50


Trade status {}

Expected behavior
Expected to get trade offer
Actual behavior
Got Trade status {} error
Steps to reproduce the behavior
Pressing trade
Other
Getting this logs : https://i.gyazo.com/8ff3d72fa1e1116bb4301c7f6bd75d91.png
Inside bot_1.json : {"sent":{},"received":{},"timestamps":{},"offersSince":0}
Error Stack

I have polls/bot_1.json files. I was trying add fresh json file with only : {} still the same

Fixed


Adding fixes to the server side pagination functionality and styles

This is a quick fix for serverside pagination and the styles.

@tnylea, just an FYI, StyleCI should create a commit with code style fixes after a PR gets merged.  @mark has done quite a few of them in the past


Add transform param to Path, Query, Body class which will transform the field in the desired type and value

First check

[x] I added a very descriptive title to this issue.
[x] I used the GitHub search to find a similar issue and didn't find it.
[x] I searched the FastAPI documentation, with the integrated search.
[x] I already searched in Google "How to X in FastAPI" and didn't find any information.
[x] I already read and followed all the tutorial in the docs and didn't find an answer.
[x] I already checked if it is not related to FastAPI but to Pydantic.
[x] I already checked if it is not related to FastAPI but to Swagger UI.
[x] I already checked if it is not related to FastAPI but to ReDoc.
[x] After submitting this, I commit to:

Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
Or, I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
Implement a Pull Request for a confirmed bug.

Example
Here's a self-contained minimal, reproducible, example with my use case:

from fastapi import FastAPI

app = FastAPI()

@app.get("/{animal_name}")
def get_animal(animal_name: str = Path(transform=lambda x: x.lower()):
    return get_animal_from_db(animal_name)

Description

This will be helpful in pre-processing data in desired format. We can do it inside the function but that can obscure some readability. Having it this way will make code more readable.
Describe alternatives you've considered

Alternative is simple, either extending the Path or doing it inside the view function.
Environment

OS: [e.g. Linux / Windows / macOS]: Platform independent
FastAPI Version [e.g. 0.3.0]: 0.65.2

Could you provide an alternative / how it looks right now?
If there is a way to implement it internally without having to use lambda it would be cool, but currently I disagree that it's readable.

Alternative would be to just do it inside the view function
from fastapi import FastAPI

app = FastAPI()

@app.get("/{animal_name}")
def get_animal(animal_name: str):
    animal_name = animal_name.lower()
    return get_animal_from_db(animal_name)

But I think it would be better to decouple pre-processing logic from the business logic.
I just used lambda out of habit but it can be any function. Here, one can use str.lower directly.
from fastapi import FastAPI

app = FastAPI()

@app.get("/{animal_name}")
def get_animal(animal_name: str = Path(transform=str.lower):
    animal_name = animal_name.lower()
    return get_animal_from_db(animal_name)

This pattern is similar to argparser which also allow transforming input object to desired object

You should be able to use Pydantic for this, see the to_lower parameter of the constr type: https://pydantic-docs.helpmanual.io/usage/types/#arguments-to-constr. Alternatively, if you have more complicated input processing that you need to do, that can be extracted into a dependency to keep your view function simpler.

I don't actually need to convert to lower it's just the example. I may need to split, join, etc.
Yeah Dependency idea looks good.

Using pydantic models as dependencies seems to solve the problem. closing it.


Allow for sorting by playlist metadata

Allow for sort by like count
Allow for sort by song count
Allow for sort by total playtime for a playlist

duplicate form submission


Update README.md (openai v4 is out of beta now)

Follow-up to https://github.com/dan-kwiat/openai-edge/issues/11

Note this is a gentle deprecation, but you may want a more dramatic one that removes the rest of the README. Up to you!


Clean up Navbar CSS to make it look like the mockups

Updated Styling:
Default:

Hover:

Mobile Menu:

PR issued, awaiting review.

Restyled border and caret. Had to adjust styling of caret due to limitations in react-stellar's implementation of the menu.
Below is a zoomed in view of the border and caret styling. As you can see the caret is no longer colored gray as it was in figma, instead I had to change it to white to work around the react-stellar implementation.

Closed. Made more like the Figma


R integration for looping - possible but recommend using datatables feature

Hi Ken,
I am kind of stuck at the next steps where I want to automate some access for multiple values.
Let's say the original code is the following:
https://TheWebsiteIWantToAccessTo
click username
type username as MyUserName
click password
type password as MyPassWord
click //*[@id="submit"]
click //*[@id="dashboard_page_1_tab"]/tbody/tr/td[2]/span
type //*[@class="promptTextField textFieldHelper"][1] as VALUE1[enter]
click //*[@id="dashboard_page_1_tab"]/tbody/tr/td[2]/span
click //*[@id="d:dashboard~p:dbr6behhuvpukevu~r:7ckco2goaa80j3nnResult"]/a
vision type(Key.F11)
vision type(Key.END, Key.CTRL)
click Export.PNG
click Data2.PNG
click CSV.PNG
vision type(Key.DELETE)
vision type("VALUE1")
vision type(Key.ENTER)

Now I want to iterate and do the same not only for VALUE1 but for VALUE1 to VALUE29.
 Let's not even try to do a loop directly but try replacing the typing of "VALUE1" by the value of first element of R list lst2.
I tried the echo function but when put as such:
r cat(lst2[1])
type //*[@class="promptTextField textFieldHelper"][1] as echo r_result [enter]

but it is typing the 'echo r_result [enter]' instead of the value
I also tried the variable assignment as such:
r cat(lst2[1])
product=r_result
type //*[@class="promptTextField textFieldHelper"][1] as product [enter]

but again it is typing product and not its value.
Is there a tagui function extracting the value of a variable? Or do you know of straightforward of using values extracted from R within the tagui code?
Thanks for your attention,
Lionel

Hi Lionel, the syntax for denoting variables where text is expected in TagUI is the backticks, for eg r_result. It's covered in samples and documentation but is easy to miss because a lot of info.
What you are looking for is something like below, if you are using R -
type //*[@class="promptTextField textFieldHelper"][1] as r_result` [enter]

However, the recommended way to do batch automation with different rows of data is using the built-in feature called datatables. See below section, with this feature, you can provide a CSV file as input.
https://github.com/kelaberetiv/TagUI#datatables
In your example above, because it requires login, you would want to do the login only on the first iteration -
if `[iteration]` equals to 1
{
// login sequence of steps
}

// set URL of the starting state for subsequent iterations
// some URL

Also, you will want to run TagUI with speed chrome option, so that it does not restart the browser every time, and the logged in state would be preserved.

Database works like a charm! Very elegant...


Detection of requests

Hello!
I have a couple of questions. I patch VTABLE of IInternetProtocolEx ie StartEx. Works great to see whats going through the pipe. However how do you reliably detect which window is sending such requests?
Sometimes StartEx is launched on the main thread sometimes not and so a map won't exactly work 100%. Even Switch / Continue trick doesn't always work for all file types.
One idea would be to force it to run on the main thread all the time but I don't know how exactly to do that.
Are there other solutions for this problem out there? :)

Joe,
there is in deed no way to detect this - at least we didn't find any. The only hint we had was, that the first request on the document (main) thread was always for the top frame.
But in case you want to dig deeper you might try this: Get other interfaces from the protocol sink via IServiceProvider and see if any of them can deliver you any of the window specific interfaces. We tried this also, but didn't find a reliable way to get what we need, so we gave up after a while. Maybe you have more luck!
Arne

Could be possible by hooking something in URLMON. That's the only way to get it I see.


Allow Handle to use function call without Exception generic type

Hi,
Handle expects an exception each time. This makes it difficult to have standard policy handlers using a decorator pattern across the system. This is because the exception to trap may be different based on the context, i.e. In one part of the system the exception may be System.TimeoutException, in another it may be a SqlException, but the Policy handling is the same.
Either allow injection of the Handle logic via DI with an interface, or allow Handle to take a function method that just returns a bool, thereby allowing in-line anonymous methods to do a similar job to DI
Thanks!

You can have a policy handle System.Exception, all exceptions inherit from that.

Tom is correct. You can do this:
Policy.Handle<Exception>(ex => /* Generic logic here */)


javascript: Add is [not] nullish for loose null check

These check whether a LHS is nullish, i.e. null or undefined.
This is intended to complement #1255.

I wonder if we just want to update these actions instead?
https://github.com/talonhub/community/blob/8aeed406b6539e88f3aa010ff0684dfaf7381b35/lang/javascript/javascript.py#L76
The number of times she want to check just for null, but not undefined is it very low so I think that ``

I do agree it's pretty rare for me to check for specifically null or undefined. With #1255 it'll likely be confusing though.

Notes from community session: We do have plans of redoing all the language modes in the near future. We gonna do list for operators.
https://github.com/talonhub/community/issues/1597


[AMBARI-25202] recoverHost operation fails if public hostname is diff…

…erent from actual hostname (apappu)
What changes were proposed in this pull request?
have used "content.hostName" instead of "content.hostName" instead of "content.publicHostName" as publichostname calls would fail.
(Please fill in changes proposed in this fix)
How was this patch tested?
Deployed the changes in working ambari setup and tried to recover the host - after changes operation is successful.
(Please explain how this patch was tested. Ex: unit tests, manual tests)
(If this patch involves UI changes, please attach a screen-shot; otherwise, remove this)
Please review Ambari Contributing Guide before opening a pull request.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5026/
Test PASSed.

@ishanbha Could you please review this change?

@apappu Please create a PR to push it to trunk as well


runOracle.sh cat /sys/fs/cgroup/memory/memory.limit_in_bytes return a big value

OracleDatabase/dockerfiles/<IP_ADDRESS>/runOracle.sh have a checking:
if [ `cat /sys/fs/cgroup/memory/memory.limit_in_bytes` -lt<PHONE_NUMBER> ]; then
   echo "Error: The container doesn't have enough memory allocated."
   echo "A database container needs at least 2 GB of memory."
   echo "You currently only have $((`cat /sys/fs/cgroup/memory/memory.limit_in_bytes`/1024/1024/1024)) GB allocated to the container."
   exit 1;
fi;

This checking always returns<PHONE_NUMBER>3709551615 which is maximum addressable memory in 64 bits systems, so the if fails with  [:<PHONE_NUMBER>3709551615: integer expression expected and is not doing the expected checking.
Marcelo.

Fixed


probot should lock old issues

Inactive, closed issues should be automatically marked as "locked"; we would prefer new issues are created instead.
Henry Zhu's blog has a post about this.
I'd like the following settings, but this is open to debate:
daysUntilLock: 60
lockComment: false
only: issues
lockLabel: stale

cc @mochajs/core

Two months seems a frightfully short period given how long it takes things to "complete" here. I tend to use closed issues in a more StackOverflow-style myself, noting some additional piece of the puzzle maybe related but maybe unworthy of YA issue. Having to look through multiple issues on exact same topic trying to find that one thing I read earlier is exhausting.

@plroebuck It's a tradeoff.  I assume you've read the blog post and understand why this would be helpful for maintainers?
60 days seems a reasonable amount of time--to me--to go between when an issue is closed with a PR fix and when that fix is released.  I would increase this to 90 in the case that someone finds a problem with the fix well after the release (in which case, commenting on the PR might be a better idea anyway).  Does that sound better?
Also... I don't understand this:

Two months seems a frightfully short period given how long it takes things to "complete" here.

We're talking about closed issues; we won't be automatically locking any open ones... until after they are closed for being stale, of course.

+1
Notifications on closed issues, as dan mentioned, are usually not useful. Users can always open new ones if they feel the locked/closed issues needs fresh attention. I'd even argue with pushing it back to 45 days! But 60 sounds fair as well.

Totally agreed. 60 days is good for me.
To clear, when there is an issue which is inactive, the probot label it as stale after 120 days and then close and lock it after 14 more days. right?

@outsideris closed issues are locked after 60 days so no one can comment on them or react to existing comments.

You're right for a case of closed issues.
But for opened and inactive issue, probot close and lock the issue same time, I guess.

@Bamieh The issue with the comment as suggested:

If you feel that this issue still needs attention, please open a new Issue.

is that maintainers will receive a notification for the comment..

@boneskull hahaha, then the bot would be causing the same issue it was created to solve.

@Bamieh :wink: exactly, but it'd be even worse, because it'd happen on every issue!

If we still agree with this, I will try to integrate the probot to lock closed comments. I feel that maintainers are suffering from comments on closed issues.

We ended up going against this in #5029.


add Storybook support

I am having a hard time trying to make this work with react-storybook.
Here is my .storybook/webpack.config.js:
const path = require('path');
const MeteorImportsPlugin = require('meteor-imports-webpack-plugin');

module.exports = function(storybookBaseConfig, configType) {

  storybookBaseConfig.entry.manager.unshift(require.resolve('meteor-imports-webpack-plugin/meteor-imports'));
  storybookBaseConfig.entry.preview.unshift(require.resolve('meteor-imports-webpack-plugin/meteor-imports'));

  storybookBaseConfig.plugins.push(
    new MeteorImportsPlugin({
      ROOT_URL: 'http://localhost:3000/',
      DDP_DEFAULT_CONNECTION_URL: 'http://localhost:3000/',
      PUBLIC_SETTINGS: {},
      meteorFolder: '.',
      meteorEnv: { NODE_ENV: 'development' },
    })
  );

  return storybookBaseConfig;
};

No matter what I do, I always get the following error:
=> Loading static files from: /myProject/.meteor/local/build/programs/web.browser/app .
=> Loading custom .babelrc
=> Loading custom webpack config (full-control mode).

React Storybook started on => http://localhost:9009/

/myProject/node_modules/enhanced-resolve/lib/Resolver.js:122
		if(noError && !result) return callback();
		                              ^

TypeError: callback is not a function
    at /myProject/node_modules/enhanced-resolve/lib/Resolver.js:122:33
    at /myProject/node_modules/enhanced-resolve/lib/Resolver.js:191:15
    at applyPluginsParallelBailResult.createInnerCallback.log (/myProject/node_modules/enhanced-resolve/lib/Resolver.js:110:4)
    at loggingCallbackWrapper (/myProject/node_modules/enhanced-resolve/lib/createInnerCallback.js:21:19)
    at Tapable.applyPluginsParallelBailResult (/myProject/node_modules/tapable/lib/Tapable.js:115:69)
    at Tapable.<anonymous> (/myProject/node_modules/enhanced-resolve/lib/Resolver.js:103:8)
    at Tapable.Resolver.forEachBail (/myProject/node_modules/enhanced-resolve/lib/Resolver.js:196:3)
    at Tapable.doResolve (/myProject/node_modules/enhanced-resolve/lib/Resolver.js:102:7)
    at Tapable.<anonymous> (/myProject/node_modules/meteor-imports-webpack-plugin/node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js:23:12)
    at Tapable.applyPluginsParallelBailResult (/myProject/node_modules/tapable/lib/Tapable.js:139:14)

Would it be possible for you to publish an example with a working storybook configured? :)

Ah shoot, I didn't realize it but when I published 2.0.0-beta.0 (which is for Webpack 2), it got marked as latest.  While I fix that, try installing 1.1.0 and just do unshift('meteor-imports').

Okay, I fixed the latest tag on npm to point to 1.1.0.


[Storage] Moving from ActivityExtensions to System.Diagnostics.DiagnosticSource

Contributes to https://github.com/Azure/azure-sdk-for-net/issues/37593
The ActivityExtensions were accessing these API's via reflection, so this doesn't change anything behaviorally.
There is more information in the following issues/PRs:

https://github.com/Azure/azure-sdk-for-net/issues/33683
https://github.com/Azure/azure-sdk-for-net/pull/37418

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


move some logic from runv.git/hypervisor/devicemapper.go to hyper.git

some operations in runv.git/hypervisor/devicemapper.go are high level,
such as ip allocation and storage-driver operations.

done in the refactor


Add explicit button type to button component

Without an explicit type, the button defaults to a submit button if found within a form which can be problematic. Adding type="button" avoids that issue.

Thanks!


[#2337] Resolved Unenroll Issue

Discovered and resolved issue when enrolling then unenrolling a
project. Problem was that when the Project Group is deleted followed by
a repo disable, the repo disable triggers a recount of the number of
repos for a given CLA Group. As a result of this activity, the Project
CLA Group table is updated as well. Resolved issue by trapping for
missing table entry.

Signed-off-by: David Deal<EMAIL_ADDRESS>

Asha updated that she has verified the ticket & working fine.


Add totalParts and totalDescendentParts to denormalised work relations

Any chance of this also including totalDescendantPartsThatHaveADigitalLocation? (might want to think of a nicer name).
Scenarios -

building IIIF collections for archival hierarchy as a relatively simple proxy of the catalogue API
being able to avoid taking a path through a tree that cannot lead to a viewable (i.e., digitised) object
Conveying the relative proportion of digitised stuff across archive collections

... and more.

Potentially can do that, @jtweed do we want to add this? :point_up:

I think I'd rather handle those cases by working out how to combine this with location filtering, rather than adding another property. But it's a nice to have for now, not something I can prioritise spending a lot of time on.


Add error string 'SSL connection error: protocol version mismatch'

We see this in production on Amazon RDS, and it does work on retry.  I assume this indicates an error opening an SSL connection.

Thank you for pull request.
I added a method to add an error message to retry(v0.4.2), so can you use it?
cf. https://github.com/winebarrel/activerecord-mysql-reconnect#add-a-retry-error-message


Library not being imported

Hi, I'm trying to use the library on a laravel + vue.js project. It uses webpack. Doing the import like this just returns an empty object:
var sc2 = require('sc2-sdk');
Checking code I see that the main file src/sc2.js makes the export on a local exports variable, not via module.exports. Is that correct?

@sarhugo can you try<EMAIL_ADDRESS>if it solve your issue?

This solved the issue for me.

Yes, it works doing:
const sc2 = require('sc2-sdk')
Working with import because of your named export you need to do:
import { Initialize } from 'sc2-sdk';

@sarhugo @karega we've released a new version of the SDK that solve that issue. It's available on both the NPM namespace steemconnect and sc2-sdk https://www.npmjs.com/package/steemconnect


[CHALLENGE SUBMISSION] - Challenge 4

Please provide the following information for your submission:
What is your name? (First, Last)
Marc Duiker
Where is your GitHub Repo ?(With your challenge solution)
https://github.com/marcduiker/25daysofserverless2019/tree/master/src/Day04
What Challenge is this for? (Challenge number between 1 and 25)
4
(Optional) Anything else we should know? e.g., language used, location, blog post?
4 HttpTriggered functions backed by TableStorage.
https://twitter.com/marcduiker/status/1202356802140151815

THANK YOU FOR YOUR #25DaysOfServerless SUBMISSION
We checked out your repository. We're thrilled to say your solution is now listed in our Hall of Fame
Thank you for your contributions!
This issue is now resolved! 🎉


Create OCP project template and add organization label to projects

This PR configures a custom OCP project template which only creates a Project resource and no rolebindings.
The PR also adds a mutate policy which adds the requesting user's default organization to the project based on the value of annotation
openshift.io/requester on the Project resource created by the OCP project template.
Additionally, we refactor the code a bit since this new mutate policy is mostly identical to the one which handles setting a default organization when users create projects with kubectl create ns.
Checklist

[x] Keep pull requests small so they can be easily reviewed.
[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog

Do these policies also work when using a Project spec from YAML (e.g. oc create -f project.yaml) ?

They don't have to, because regular users cannot oc create -f project.yaml anyway.

They don't have to, because regular users cannot oc create -f project.yaml anyway.

How so? I could imagine some Kustomize or CI/CD use cases for this?

They don't have to, because regular users cannot oc create -f project.yaml anyway.

How so? I could imagine some Kustomize or CI/CD use cases for this?

In CI/CD users can use the Namespace resource which they do have permissions to create. Out of the box, regular users don't have permissions to directly create Project resources on OpenShift.


Filter istio-proxy readiness probe from Envoy access logs

It causes the access logs to become very chatty and mostly unreadable whilst following. In our dev cluster, there were more than 500,000 logs an hour from this alone causing us to blow our daily log quota by 9 AM.
This should be achievable using Envoy access log filters.
terminator-bcb78fc94-hcp8l istio-proxy [2018-10-08T16:09:54.890Z] "GET /listeners HTTP/1.1" 200 - 0 1771 0 - "<IP_ADDRESS>" "Go-http-client/1.1" "-" "<IP_ADDRESS>:15000" "-"
terminator-bcb78fc94-hcp8l istio-proxy [2018-10-08T16:09:54.890Z] "GET /stats?usedonly HTTP/1.1" 200 - 0 99011 13 - "<IP_ADDRESS>" "Go-http-client/1.1" "-" "<IP_ADDRESS>:15000" "-"
terminator-bcb78fc94-hcp8l istio-proxy [2018-10-08T16:09:56.876Z] "GET /listeners HTTP/1.1" 200 - 0 1771 0 - "<IP_ADDRESS>" "Go-http-client/1.1" "-" "<IP_ADDRESS>:15000" "-"
terminator-bcb78fc94-hcp8l istio-proxy [2018-10-08T16:09:56.876Z] "GET /stats?usedonly HTTP/1.1" 200 - 0 99002 14 - "<IP_ADDRESS>" "Go-http-client/1.1" "-" "<IP_ADDRESS>:15000" "-"

Same here...the istio-proxy log is spamming a lot of unnecessary info from kube-probes:
$ kubectl logs --namespace=my-namespace my-pod-76596d9fmsvl istio-proxy -f --tail=10
[2018-11-07T20:48:09.657Z] "GET /health/live HTTP/1.1" 200 - 0 2 0 0 "-" "kube-probe/1.10" "96931e87-030d-9ef2-bc97-0e333460e961" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:48:15.320Z] "GET /health/live HTTP/1.1" 200 - 0 2 0 0 "-" "kube-probe/1.10" "e440d24d-57e0-9946-8c36-e36a41151b70" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:48:19.657Z] "GET /health/live HTTP/1.1" 200 - 0 2 0 0 "-" "kube-probe/1.10" "ea660574-6189-9d72-bd81-05395fd430c1" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:48:25.320Z] "GET /health/live HTTP/1.1" 200 - 0 2 0 0 "-" "kube-probe/1.10" "12bbd764-5acb-939a-b6b1-1d0722080653" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:48:29.657Z] "GET /health/live HTTP/1.1" 200 - 0 2 0 0 "-" "kube-probe/1.10" "ea82c6f1-0ca8-93aa-b0d7-f34ef4354b56" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:48:35.320Z] "GET /health/live HTTP/1.1" 200 - 0 2 0 0 "-" "kube-probe/1.10" "27137a27-bea4-9756-a0a4-aeca5499d418" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:48:39.657Z] "GET /health/live HTTP/1.1" 200 - 0 2 1 0 "-" "kube-probe/1.10" "017e54a6-4b4a-9000-b5bc-6fe676ae0da2" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:48:45.320Z] "GET /health/live HTTP/1.1" 200 - 0 2 0 0 "-" "kube-probe/1.10" "e3e0465d-616b-9bc1-ac48-95e3cc7b0ac9" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:48:49.657Z] "GET /health/live HTTP/1.1" 200 - 0 2 0 0 "-" "kube-probe/1.10" "6acb8b1a-9b20-98ae-a508-eeebf07bfbb6" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:48:55.320Z] "GET /health/live HTTP/1.1" 200 - 0 2 1 0 "-" "kube-probe/1.10" "22ed0f26-f807-9ab5-946c-674770ca1902" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:48:59.657Z] "GET /health/live HTTP/1.1" 200 - 0 2 0 0 "-" "kube-probe/1.10" "92140ad1-334b-90bd-9899-341bbdded320" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:49:05.320Z] "GET /health/live HTTP/1.1" 200 - 0 2 1 0 "-" "kube-probe/1.10" "c93166d7-9e17-9961-92c9-b677c11963bf" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:49:09.657Z] "GET /health/live HTTP/1.1" 200 - 0 2 0 0 "-" "kube-probe/1.10" "9bf233fb-208e-9e60-ba91-2ba0ec602d9e" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"
[2018-11-07T20:49:15.320Z] "GET /health/live HTTP/1.1" 200 - 0 2 1 0 "-" "kube-probe/1.10" "d84d4f0c-2cf6-9e9b-8320-e3f6f66144a7" "<IP_ADDRESS>:4000" "<IP_ADDRESS>:4000"

Filtering for this logs (maybe by request method/path) will be a nice feature!


bugfix: don't set mount tab when rootfs diskquota is null

Ⅰ. Describe what this PR did
Fixes: When rootfs diskquota is null, it will not set mount tab
Ⅱ. Does this pull request fix one issue?

NONE
Ⅲ. Describe how you did it
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews
Signed-off-by: Rudy Zhang<EMAIL_ADDRESS>

Codecov Report

Merging #1926 into master will increase coverage by 0.4%.
The diff coverage is 28.57%.


Unable to bind Keypad keys

For some reason, Hawck fails to recognize keys like KP_Home, KP_0, etc.

I'll have a look at it, can I get your keymap? For me it is /usr/share/kbd/keymaps/i386/qwerty/no-latin1.map.gz, if you can't find any keymaps in that directory, try running:
$ find /usr -name "*.map*"

Unzip that file (zcat/gunzip) and link to a GitHub gist, or pastebin of it.

Closing due to inactivity.


RedisAdvancedClusterAsyncCommands.scriptLoad tries to load script on failed nodes

Hi,
I am using redis 4.0.8 and lettuce-core:5.0.2.RELEASE. I have a cluster of 3 masters and 3 slaves and use the following config to create RedisAdvancedClusterAsyncCommands through Spring Boot injection.
ClusterTopologyRefreshOptions topologyRefreshOptions = ClusterTopologyRefreshOptions.builder().enablePeriodicRefresh(Duration.ofSeconds(1))
                .build();

        SocketOptions socketOptions = SocketOptions.builder()
                .connectTimeout(Duration.ofSeconds(10))
                .keepAlive(true)
                .tcpNoDelay(false)
                .build();

        redisClusterClient.setOptions(ClusterClientOptions.builder()
                .topologyRefreshOptions(topologyRefreshOptions)
                .socketOptions(socketOptions)
                .build());

I have slave1 and slave2 as the seed nodes for the clusterClient creation. Before starting the application, I bring down slave 2, then I start the application, then I get the following exception when try to run any redis command:
io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /<IP_ADDRESS>:7005, class java.util.concurrent.CompletionException, java.util.concurrent.CompletionException: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /<IP_ADDRESS>:7005
java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)
java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)
java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593)
java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)
io.lettuce.core.AbstractRedisClient.lambda$initializeChannelAsync$1(AbstractRedisClient.java:275)
io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:512)
io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:505)
io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:484)
io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:425)
io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:122)
io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:327)
io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:343)
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:633)
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
java.lang.Thread.run(Thread.java:748)
"&pod_name="unspecified_pod_name"`

It seems that lettuce is trying to connect to the dead slave node. I get the same issue when I have all the nodes running, bring up the application, and take down one of the masters. Lettuce still tries to connect to the dead master, although there is another slave being promoted to master instead. The only situation that works is when I take down the slaves after the application start up and also when I add new node to the cluster and migrate slots.
Is there any config that I am missing or is this a known issue? Thanks.

I think I need a bit more context here. Where do you see this exception being thrown?
Bootstrapping a RedisClusterClient connection requires the topology to be loaded. RedisClusterClient attempts to connect to the seed nodes first, obtains the topology (via CLUSTER NODES), and eventually discovers the additional nodes from the response. Then, partition loading attempts to connect the nodes it received from CLUSTER NODES to get a full picture of the cluster. It may happen that some cluster nodes aren't available at that time which causes connect exceptions. This is a normal process and nothing to worry about.
During runtime, Lettuce attempts to connect the nodes for the purpose of reading. It opens connections to all read candidates. If nodes aren't reachable, then you can again see exceptions.
On a different note: Setting enablePeriodicRefresh to one second seems an overkill. Use at least 10 seconds and in production maybe even a higher value, otherwise you'll keep your cluster busy with connects.

Thank you Mark for your quick response.  I found the issue and here is the summary:
Spring creates the RedisClusterClient and RedisAdvancedClusterAsyncCommands as part of the application startup. As part of the first request coming to our service, we load a lua script on all the redis nodes and then use the digest to eval queries. The problem I was facing was that if before starting my application, I bring down a node in the cluster, then start my service and make a request to it, it fails as it tries to connect to the node that is down. Turned out RedisAdvancedClusterAsyncCommands.scriptLoad was the reason where it doesn't honor the status of the nodes and tries to load the script on all the nodes (including the failed one). Also, thanks for your suggestion on the refresh interval. Yes, 1 sex is just for test, we plan to make it 10 second in production. We don't have that many nodes so it should be a fast refresh.
Thanks!

Thanks a lot for all the details. RedisAdvancedClusterAsyncCommands.scriptLoad(…) behaves perfectly fine. It fails when the command wasn't able to execute properly on all nodes. This command distributes SCRIPT LOAD calls to all nodes so that you don't need to iterate over all nodes.
Node recovery and script execution is indeed an interesting topic. Running Redis Cluster with pre-cached Lua usage requires all your nodes to be initialized with that particular Lua script. This issue is easier to solve for Redis standalone: You attempt to execute the script, if it's not available, then you load it and the next time it's available again. For Redis Cluster with slaves, you get some dynamic into the calls as you can't be exactly sure which slave node you'll hit the next time.
I see following approaches how to address your issue:

Use events to initialize Redis Cluster nodes upon connecting (ConnectedEvent, ConnectionActivatedEvent): This approach can initialize a node multiple times when you have multiple application instances
Do the initialization on Redis-instance level during provisioning/recovery: Here you would have a watchdog or monitoring service (or a Redis start script) where you directly initialize the Redis node that is affected with a failure. You'd include some redis-cli within the actual Redis start script. Doesn't work if you use a hosted (Azure Redis, AWS ElastiCache) instance.
Add a netty ChannelHandler as last element in the bootstrap chain to initialize your Redis instance at Channel level. Quite low-level but maybe the most stable approach in terms of stability. This guarantees some execution order before user-space commands get executed.

Thanks Mark, this is very helpful. As the last question, can you provide an example or link for option 1 please? Thanks.

The code could look like this:
RedisClusterClient client = RedisClusterClient.create(…);
StatefulRedisClusterConnection<String, String> connection = client.connect();

Disposable eventSubscription = client.getResources().eventBus().get()
        .filter(ConnectionActivatedEvent.class::isInstance)
        .cast(ConnectionActivatedEvent.class)
        .map(it -> it.remoteAddress())
        .filter(InetSocketAddress.class::isInstance)
        .cast(InetSocketAddress.class)
        .doOnNext(remote -> {

            // That's the interesting bit
            Optional<RedisClusterNode> connectedNode = client.getPartitions()
                                    .stream()
                                    .filter(node ->
            {
                String host = node.getUri().getHost();
                int port = node.getUri().getPort();

                if (remote.getPort() == port && (remote.getAddress().toString().equals(host) || remote
                        .getHostName().equals(host))) {
                    return true;
                }

                return false;
            }).findFirst();

            connectedNode.ifPresent(it -> connection.getConnection(it.getNodeId()).async().scriptLoad(…));
        }).subscribe();

// eventSubscription needs to be closed upon application shutdown.

See also https://github.com/lettuce-io/lettuce-core/wiki/Connection-Events for further details.
May I close this ticket or is there anything else I can assist you with?

Hi,
Sorry to continue this issue. I met problem on the behavor of scritload that fails when the command wasn't able to execute properly on all nodes.
The user case  is below:
a1. The program has some lua scripts in resource of my JAR
a2. The program invokes scriptLoad command in order to upload the lua scripts and cache the hashes of lua scripts
a3. With the hashes, the program can invoke evalsha command.
a4. One excepion handler is done for evalsha when no script found error occurs: eval will invoked instead.

In general, it works well. The problem scenario:
b1. stop the program
b2. shutdown one node (either master or slave is ok) of redis cluster
b3. start the program

Since eval has performance issue, I would like to use evalsha at most time. In order to reach the target, I need to get hash first by scriptload command.  Then you can see that in the problem scenario, my program can not work.
 Suppose a normal scenaio that one slave node is down and needs some fix or any other jobs. The the client program can not work before the slave node back unless we drop it from the redis cluster. Or change the code to use eval instead of evalsha with pure performance only if a slave node does not work.
   Is it more reasonable to fix scriptload to send scripts to all connected master node? like below:
   public RedisFuture<String> scriptLoad(V script) {

    Map<String, CompletableFuture<String>> executions = executeOnNodes(cmd -> cmd.scriptLoad(script),
            redisClusterNode -> redisClusterNode.is(MASTER) && redisClusterNode.isConnected());

    return MultiNodeExecution.lastOfAsync(executions);
}

  This is my local fix to let the program work well.
  As I know , the redis does not persistent the scripts. So if the node restart, the script will lost. User case a4 is necessary. So it might be accepable if scriptload does not send to all nodes.

  Do you have any suggestion? thank a lot


[FEA] Remove CLI dependency for EMR and Databricks-AWS platforms in user tool

Contributes to https://github.com/NVIDIA/spark-rapids-tools/issues/1191
Changes
This PR remove AWS CLI dependency for EMR and Databricks-AWS platforms, except for case when --cluster input is cluster ID/name.

Add instance_descriptions in class CMDDriverBase which loads and stores the instance catalog json files for each platform
Add is_props_file in class ClusterBase to indicate if the cluster is loaded from a properties file, if is true, there should not be any CLI calls when running the tool

Testing
For each platform, we confirm that there is no AWS CLI call, and the output is the same before and after this PR.
Platform: EMR
spark_rapids qualification -v -p emr --eventlogs <my-event-logs> --cluster <my-cluster-props-file>

Stdout

2024-07-16 15:33:36,755 INFO rapids.tools.qualification: ******* [Process-Arguments]: Starting *******
2024-07-16 15:33:36,755 DEBUG rapids.tools.qualification: Processing Output Arguments
2024-07-16 15:33:36,755 DEBUG rapids.tools.qualification: Root directory of local storage is set as: xxxxxx/spark-rapids-tools
2024-07-16 15:33:36,755 INFO rapids.tools.qualification.ctxt: Local workdir root folder is set as xxxxxx/spark-rapids-tools/qual_20240716223336_7a717563
2024-07-16 15:33:36,755 INFO rapids.tools.qualification.ctxt: Dependencies are generated locally in local disk as: xxxxxx/spark-rapids-tools/qual_20240716223336_7a717563/work_dir
2024-07-16 15:33:36,755 INFO rapids.tools.qualification.ctxt: Local output folder is set as: xxxxxx/spark-rapids-tools/qual_20240716223336_7a717563
2024-07-16 15:33:36,755 INFO rapids.tools.qualification: Qualification tool processing the arguments
2024-07-16 15:33:36,861 INFO rapids.tools.qualification: RAPIDS accelerator tools jar is downloaded to work_dir xxxxxx/spark-rapids-tools/qual_20240716223336_7a717563/work_dir/rapids-4-spark-tools_2.12-24.06.1.jar
2024-07-16 15:33:36,861 INFO rapids.tools.qualification: Using Spark RAPIDS Accelerator Tools jar version 24.06.1
2024-07-16 15:33:36,861 INFO rapids.tools.qualification: Checking dependency Apache Spark
2024-07-16 15:33:36,862 INFO rapids.tools.qualification: Checking dependency Hadoop AWS
2024-07-16 15:33:36,862 INFO rapids.tools.qualification: Checking dependency AWS Java SDK Bundled
2024-07-16 15:33:36,894 INFO rapids.tools.qualification: Completed downloading of dependency [Hadoop AWS] => 0.032 seconds
2024-07-16 15:33:37,579 INFO rapids.tools.qualification: Completed downloading of dependency [AWS Java SDK Bundled] => 0.716 seconds
2024-07-16 15:33:40,371 INFO rapids.tools.qualification: Completed downloading of dependency [Apache Spark] => 3.509 seconds
2024-07-16 15:33:40,372 INFO rapids.tools.qualification: Dependencies are processed as: xxxxxx/spark-rapids-tools/qual_20240716223336_7a717563/work_dir/hadoop-aws-3.3.4.jar; xxxxxx/spark-rapids-tools/qual_20240716223336_7a717563/work_dir/aws-java-sdk-bundle-1.12.262.jar; xxxxxx/spark-rapids-tools/qual_20240716223336_7a717563/work_dir/spark-3.5.0-bin-hadoop3/jars/*
2024-07-16 15:33:40,372 INFO rapids.tools.qualification: Total Execution Time: Downloading dependencies for local Mode => 3.511 seconds
2024-07-16 15:33:40,372 DEBUG rapids.tools.qualification: Processing Rapids plugin Arguments {}
2024-07-16 15:33:40,373 INFO rapids.tools.qualification: Loading CPU cluster properties from file xxxxxx/emr_cpu_cluster_props.json
2024-07-16 15:33:40,374 INFO rapids.tools.qualification: Creating GPU cluster by converting the CPU cluster instances to GPU supported types
2024-07-16 15:33:40,374 DEBUG rapids.tools.cmd_driver: Skip converting Master nodes
2024-07-16 15:33:40,374 INFO rapids.tools.qualification: Generating input file for Auto-tuner
2024-07-16 15:33:40,374 DEBUG rapids.tools.qualification: Opening file xxxxxx/spark-rapids-tools/qual_20240716223336_7a717563/work_dir/worker_info.yaml to write worker info
2024-07-16 15:33:40,376 INFO rapids.tools.qualification: Generated autotuner worker info: xxxxxx/spark-rapids-tools/qual_20240716223336_7a717563/work_dir/worker_info.yaml
2024-07-16 15:33:40,376 INFO rapids.tools.qualification: WorkerInfo successfully processed into workDir [xxxxxx/Desktop/spark-rapids-tools/qual_20240716223336_7a717563/work_dir/worker_info.yaml]
2024-07-16 15:33:40,376 INFO rapids.tools.qualification: No remote output folder specified.
2024-07-16 15:33:40,376 INFO rapids.tools.qualification: ======= [Process-Arguments]: Finished =======

Platform: Databricks-AWS
spark_rapids qualification -v -p databricks-aws --eventlogs <my-event-logs> --cluster <my-cluster-props-file>

Stdout

2024-07-16 15:40:41,173 INFO rapids.tools.qualification: ******* [Process-Arguments]: Starting *******
2024-07-16 15:40:41,173 DEBUG rapids.tools.qualification: Processing Output Arguments
2024-07-16 15:40:41,173 DEBUG rapids.tools.qualification: Root directory of local storage is set as: xxxxxx/spark-rapids-tools
2024-07-16 15:40:41,173 INFO rapids.tools.qualification.ctxt: Local workdir root folder is set as xxxxxx/spark-rapids-tools/qual_20240716224041_2a5ecdc0
2024-07-16 15:40:41,174 INFO rapids.tools.qualification.ctxt: Dependencies are generated locally in local disk as: xxxxxx/spark-rapids-tools/qual_20240716224041_2a5ecdc0/work_dir
2024-07-16 15:40:41,174 INFO rapids.tools.qualification.ctxt: Local output folder is set as: xxxxxx/spark-rapids-tools/qual_20240716224041_2a5ecdc0
2024-07-16 15:40:41,174 INFO rapids.tools.qualification: Qualification tool processing the arguments
2024-07-16 15:40:41,248 INFO rapids.tools.qualification: RAPIDS accelerator tools jar is downloaded to work_dir xxxxxx/spark-rapids-tools/qual_20240716224041_2a5ecdc0/work_dir/rapids-4-spark-tools_2.12-24.06.1.jar
2024-07-16 15:40:41,248 INFO rapids.tools.qualification: Using Spark RAPIDS Accelerator Tools jar version 24.06.1
2024-07-16 15:40:41,249 INFO rapids.tools.qualification: Checking dependency Apache Spark
2024-07-16 15:40:41,249 INFO rapids.tools.qualification: Checking dependency Hadoop AWS
2024-07-16 15:40:41,250 INFO rapids.tools.qualification: Checking dependency AWS Java SDK Bundled
2024-07-16 15:40:41,277 INFO rapids.tools.qualification: Completed downloading of dependency [Hadoop AWS] => 0.028 seconds
2024-07-16 15:40:41,957 INFO rapids.tools.qualification: Completed downloading of dependency [AWS Java SDK Bundled] => 0.707 seconds
2024-07-16 15:40:44,738 INFO rapids.tools.qualification: Completed downloading of dependency [Apache Spark] => 3.489 seconds
2024-07-16 15:40:44,739 INFO rapids.tools.qualification: Dependencies are processed as: xxxxxx/spark-rapids-tools/qual_20240716224041_2a5ecdc0/work_dir/hadoop-aws-3.3.4.jar; xxxxxx/spark-rapids-tools/qual_20240716224041_2a5ecdc0/work_dir/aws-java-sdk-bundle-1.12.262.jar; xxxxxx/spark-rapids-tools/qual_20240716224041_2a5ecdc0/work_dir/spark-3.5.0-bin-hadoop3/jars/*
2024-07-16 15:40:44,740 INFO rapids.tools.qualification: Total Execution Time: Downloading dependencies for local Mode => 3.491 seconds
2024-07-16 15:40:44,740 DEBUG rapids.tools.qualification: Processing Rapids plugin Arguments {}
2024-07-16 15:40:44,740 INFO rapids.tools.qualification: Loading CPU cluster properties from file xxxxxx/db_aws_cpu_cluster_props.json
2024-07-16 15:40:44,741 WARNING rapids.tools.cluster: Cluster configuration: `executors` count 0 does not match the `num_workers` value 8. Using generated names.
2024-07-16 15:40:44,741 INFO rapids.tools.qualification: Creating GPU cluster by converting the CPU cluster instances to GPU supported types
2024-07-16 15:40:44,742 DEBUG rapids.tools.cmd_driver: Skip converting Master nodes
2024-07-16 15:40:44,742 INFO rapids.tools.cluster: Node with g4dn.4xlarge supports GPU devices.
2024-07-16 15:40:44,742 INFO rapids.tools.cluster: Node with g4dn.4xlarge supports GPU devices.
2024-07-16 15:40:44,742 INFO rapids.tools.cluster: Node with g4dn.4xlarge supports GPU devices.
2024-07-16 15:40:44,742 INFO rapids.tools.cluster: Node with g4dn.4xlarge supports GPU devices.
2024-07-16 15:40:44,742 INFO rapids.tools.cluster: Node with g4dn.4xlarge supports GPU devices.
2024-07-16 15:40:44,742 INFO rapids.tools.cluster: Node with g4dn.4xlarge supports GPU devices.
2024-07-16 15:40:44,742 INFO rapids.tools.cluster: Node with g4dn.4xlarge supports GPU devices.
2024-07-16 15:40:44,742 INFO rapids.tools.cluster: Node with g4dn.4xlarge supports GPU devices.
2024-07-16 15:40:44,742 INFO rapids.tools.qualification: Generating input file for Auto-tuner
2024-07-16 15:40:44,742 DEBUG rapids.tools.qualification: Opening file xxxxxx/spark-rapids-tools/qual_20240716224041_2a5ecdc0/work_dir/worker_info.yaml to write worker info
2024-07-16 15:40:44,744 INFO rapids.tools.qualification: Generated autotuner worker info: xxxxxx/spark-rapids-tools/qual_20240716224041_2a5ecdc0/work_dir/worker_info.yaml
2024-07-16 15:40:44,744 INFO rapids.tools.qualification: WorkerInfo successfully processed into workDir [xxxxxx/spark-rapids-tools/qual_20240716224041_2a5ecdc0/work_dir/worker_info.yaml]
2024-07-16 15:40:44,745 INFO rapids.tools.qualification: No remote output folder specified.
2024-07-16 15:40:44,745 INFO rapids.tools.qualification: ======= [Process-Arguments]: Finished =======

I put some comments (# To deprecate) for code that I think can be deprecated after removing CLI dependency for all platforms. I am planning to remove the unused code in a separate PR after we have finished every platform (in addition to some final refactoring).

I put some comments (# To deprecate) for code that I think can be deprecated after removing CLI dependency for all platforms. I am planning to remove the unused code in a separate PR after we have finished every platform (in addition to some final refactoring).

Thanks @cindyyuanjiang
That's a great idea to mark things to be removed.
Can you please change that to a # TODO: tobe deprecated description? TODO is more like a standard and can be picked up by almost all the IDEs

@nartal1 I remember you contributed to the usability tasks and you have knowledge in this area.
Can you please take a closer look at Cindy's PR and test it?

Thanks @cindyyuanjiang ! Tested your PR and it looks good. As per offline discussion it would be good if we could add log message that it is using the cached instance catalog file.
Another thing is, we see this log in Initialization phase which can be confusing:
2024-07-19 10:29:15,579 INFO rapids.tools.qualification: ******* [Initialization]: Starting *******
2024-07-19 10:29:15,602 INFO rapids.tools.qualification.ctxt: Start connecting to the platform
2024-07-19 10:29:15,602 WARNING rapids.tools.csp: Property profile is not set. Setting default value default from environment variable
2024-07-19 10:29:15,602 WARNING rapids.tools.csp: Property credentialFile is not set. Setting default value /home/nartal/.aws/credentials from environment variable
2024-07-19 10:29:15,602 WARNING rapids.tools.csp: Property cliConfigFile is not set. Setting default value /home/nartal/.aws/config from environment variable
2024-07-19 10:29:15,602 WARNING rapids.tools.csp: Property region is not set. Setting default value us-east-1 from environment variable
2024-07-19 10:29:15,602 WARNING rapids.tools.csp: Property output is not set. Setting default value json from environment variable
2024-07-19 10:29:15,603 WARNING rapids.tools.cmd_driver: Environment report: Private key file path is not set. It is required to SSH on driver node. Set RAPIDS_USER_TOOLS_KEY_PAIR_PATH

Can we remove it if property file is used for cluster argument. It can be in this PR or a follow on.
@amahussein - Wanted to know your thoughts on removing above log messages.

Can we remove it if property file is used for cluster argument. It can be in this PR or a follow on.
@amahussein - Wanted to know your thoughts on removing above log messages.

Thanks @nartal1 that's a good point.
We have other issues to improve logging which can be addressed then.
@cindyyuanjiang you may want to rerun a e-to-e after upmerging. I wonder if PR #1188 would require you to handle some new code of blocks.

@cindyyuanjiang you may want to rerun a e-to-e after upmerging. I wonder if PR #1188 would require you to handle some new code of blocks.

Thanks @amahussein! I upmerged with dev branch and did another round of e-to-e testing. Results look good to me.

Follow up issue for logging: https://github.com/NVIDIA/spark-rapids-tools/issues/1207


Release 1

Releasing Coda, as an experimental language.
Future of Coda:

There will be minor updates for code cleanup and bug fixes.
No major groundbreaking changes will be made in the language henceforth.
The Packages API is implemented completely hence, creating packages without source code is enabled.

CodeFactor found multiple issues last seen at 143e400bdaf712124df072361149ef275dd044b6:
Redundant blank line at the end of a code block should be deleted.

[ ]  Runtime\Interpreter\EvaluateControlStructure.cpp:101
[ ]  Frontend\Parser\ParseControlStatement.cpp:69
[ ]  Error\Raiser.cpp:61

Redundant blank line at the start of a code block should be deleted.

[ ]  Runtime\Interpreter\EvaluateControlStructure.cpp:82
[ ]  Runtime\Interpreter\EvaluateBinary.cpp:20

Complex Method

[ ]  Runtime\Interpreter\EvaluateBinary.cpp:6-52

"virtual" is redundant since function is already declared as "override"

[ ]  Runtime\RuntimeValue\Value.h:67


Format docs for cljdoc

Desired Behavior
Configure/format existing documentation to display well in cljdoc.
Context
cljdoc is becoming an important documentation source for many Clojure libraries. It would be beneficial to have gradle-clojure's documentation there in an easy to use fashion.

The docs themselves display now. The namespaces in the tools JAR don't due to some dependency issues, but those are generally (with the exception of the figwheel stuff) not used directly by users.
https://cljdoc.org/d/io.github.gradle-clojure/gradle-clojure-plugin/0.5.0-alpha.4/


Initialize e2e tests

Describe the task
A clear and concise description of what the task is.
Acceptance Criteria

[ ] first
[ ] second
[ ] third

Additional context

Add any other context about the task here.
Or here

Closing, this is not applicable with the monorepo


Links to talks

It'd be nice if the README provided links to the talks you've given on this library, and maybe other existing resources on it aswell. Is the CppCon 2018 one the most up-to-date?

compile-time.re has all the links I think.

Excellent. Thank you. That's probably what should go into the README.

And that page link to the README for a demonstration of recursion. ;)


fix method ambiguity with Base.in in julia nightly Version 1.12.0-DEV…514

This is needed to fix some failing test in another package. See https://github.com/JuliaAI/FeatureSelection.jl/actions/runs/9059544029/job/24887362493?pr=5#step:6:523

I'm happy to approve this PR after appropriate testing (see below). However, it's is essentially a patch on top of a hack, for which I am personally to blame. That said, I think there is a fair chance that the overloading of in for MLJType (which is at least 3 years old, according to the blame) was rendered redundant when I refactored the learning networks code. The only way to find out for sure, would be to remove it and locally run

MLJBase tests
MLJTuning tests
MLJ#dev tests, with MLJ_TEST_INTEGRATION="true".

Is this something you would consider doing? Even if we accept the current PR, we probably want to run those tests anyway, so it's the same work really.


NuGet availability forAzure.ResourceManager.MachineLearningServices

Query/Question
Any timeline for releasing the Azure.ResourceManager.MachineLearningServices package to NuGet?

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

We are working on a new dotNet package that will be available later this year. We'll release that package to NuGet when it's available.

Any update on this?


language/enum_private_test/02 fails on debug x64

FAILED: none-vm debug_x64 language/enum_private_test/02
Expected: Pass
Actual: Crash
--- Command "vm" (took 716ms):
DART_CONFIGURATION=DebugX64 out/DebugX64/dart --no-preview-dart-2 --hot-reload-test-mode --ignore-unrecognized-flags --packages=/b/build/slave/vm-linux-debug-x64-reload-be/build/sdk/.packages /b/build/slave/vm-linux-debug-x64-reload-be/build/sdk/out/DebugX64/generated_tests/language/enum_private_test_02.dart
exit code:
-6
stderr:
../../runtime/vm/object.h: 5553: error: expected: cls.is_finalized() || cls.is_prefinalized()
Dumping native stack trace for thread 2759
../../runtime/vm/safepoint.cc: 53: error: expected: T->no_safepoint_scope_depth() == 0
Aborting re-entrant request for stack trace.
--- Re-run this test:
python tools/test.py -m debug --hot-reload language/enum_private_test/02

Somehow this test passes on my local windows, linux boxes

But it does fail on mac

Duplicate to https://github.com/dart-lang/sdk/issues/34606.


Add Kind to the Local-machine solutions

I signed it

I signed it

("I signed it")

"I signed it"

I signed it

/check cla

@gregoryguillou It looks like the CLA still needs to be signed.

Hi @gregoryguillou! Any update with the CLA?
There could be a couple of things to check:

If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address. Check your existing CLA data and verify that your email is set on your git commits.
If you signed the CLA as a corporation, please sign in with your organization's credentials at https://identity.linuxfoundation.org/projects/cncf to be authorized.
If you have done the above and are still having issues with the CLA being reported as unsigned, please email the CNCF helpdesk<EMAIL_ADDRESS>

Thank you @cody-clark @zacharysarah . I have signed the CLA. I'm pretty sure I did it but it looks like the procedure has changed. Anyway, this time I have the hellosigned signed document. Sorry for the lack of reaction.

Great, thanks @gregoryguillou!
/lgtm
/approve


type '_Invocation' is not a subtype of type '_InvocationMirror' in type cast

nnbd/static_errors/unchecked_use_of_nullable_test_05 fails with the following error
type '_Invocation' is not a subtype of type '_InvocationMirror' in type cast
Unhandled exception:
type '_Invocation' is not a subtype of type '_InvocationMirror' in type cast
#0      new NoSuchMethodError.withInvocation (dart:core-patch/errors_patch.dart:190:34)
#1      Object.noSuchMethod (dart:core-patch/object_patch.dart:53:15)
#2      main (file:///usr/local/google/home/asiva/workspace/dart-nnbd/sdk/out/DebugX64NNBD/generated_tests/language/nnbd/static_errors/unchecked_use_of_nullable_test_05.dart:20:5)
#3      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:307:19)
#4      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)

/cc @crelier @liamappelbe

This is fixed.


Make it works with CSRF token

Rails 5.1 has the CSRF protection disabled by default but rails 5.2 enable it again. https://github.com/rails/rails/pull/29742
Tech details

Remove the fancy ajax delete.
Use jquery_ujs for the delete action (it must be included by the host app at the moment)
Add csrf_meta_tags on the layout

@opsidao can you review this ?


ActionLoop starter kit

Attached there is a bare-bones (but fully functional) runtime for people to be used as a starting point to develop new runtimes with ActionLoop. Once it is merged I will write the documentation.

I close this as I resubmitted a version rebased

Why? You can rebase and force push, no need for a new PR

Huh! I did not think about it

Yeah I do it all the time as long I’m the only contributor in the PR. Even squash
Usually I do a lot of commits when is in draft/wip
When I think is ready for review and merge I rebase squash into one commit and force push.


Azure Powershell Reporting

Hi Could you please update this with the Azure Powershell Reporting Command please?

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

ID: c695a366-7220-081a-8e04-ab84c6f201b7
Version Independent ID: bec85559-f35b-d6ff-4ea9-92a3d411d37f
Content: Access and usage reports for Azure MFA
Content Source: articles/active-directory/authentication/howto-mfa-reporting.md
Service: active-directory
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@jesspent Thank you for your query. We will investigate and update further.

@jesspent I hope you mean Azur eAD powershell rather than Azure Powershell module. The azure AD Powershell currently has Get-AzureADUser cmdlet and its output does not contain StrongAuthenticationMethods parameter due to which , MFA reporting is supposed to be done by Get-MsolUser cmdlet and hence its mentioned in the article.
In case you meant Azure powershell , we still have Azure AD module separate but in the newer Az module we hope to integrate it all in a single module. At this point we do not have a timeline as of now for the same.
Hope the information helps.

We will now close this issue. Should you have any further queries , feel free to tag me to your reply and we can continue the conversation.


Expand & collapse arrows are not visible for childrens

Is it possible to show Expand & collapse arrows for children as well?
I have data with nested children structure. The expand and collapse arrow showing only for parent element.

Can you please help here?

There are two parameters that control the display of hierarchical arrows:
"maxLevel" is set to 2 by default, but you can set it to a larger value.
You need to set "expandable" to true in your data (this may not be the best practice, so it has been improved in version 15.1.0-next, where the expand icon is automatically displayed when there are children data).


BondSplicer is creating an unnecessary copy of the buffer vector

Describe your environment.
This issue is related to a change between v1 and v3 bond packets. In lib/packager/BondSplicer.cpp, the method BondSplicer::splice was updated to write bond by writing the buffer as pre-record-blobs to an output buffer. However, the unintended outcome of this change is that we're now copying the buffer as it is, just in multiple parts with two nested loops. This copy of the vector is then returned by the splicer method.
Steps to reproduce.
Data upload process reproduces it.
What is the expected behavior?
We should just return the m_buffer vector in the splicer method instead of creating a copy.
What is the actual behavior?
We return a locally created output vector.
Additional context.

OneDrive Sync  is also seeing some crashes on Watson  due to std_bad_alloc as seen in stack below.
I assume it is due to OOM issue in process. Curious if it is related to this bug
0 | KERNELBASE!RaiseException
1 | VCRUNTIME140!_CxxThrowException |   | 0x0000000000000066 |   |   |   | throw.cpp |   | 74
2 | OneDriveTelemetryExperimental!__scrt_throw_std_bad_alloc |   | 0x000000000000001C |   |   |   | throw_bad_alloc.cpp |   | 35
3 | unknown!unknown |   | 0x0000000000000000 |   |   |   |   |   | 0
4 | OneDriveTelemetryExperimental!std::_Allocate_manually_vector_aligned_std::Default_allocate_traits |   | 0x0000000000000017 |   |   |   | xmemory0 |   | 100
5 | OneDriveTelemetryExperimental!std::Allocate_8,std::Default_allocate_traits,0 |   | 0x0000000000000013 |   |   |   | xmemory0 |   | 194
6 | OneDriveTelemetryExperimental!std::vector_unsigned char,std::allocator_unsigned char _::Insert_range_unsigned char * |   | 0x000000000000006D |   |   |   | vector |   | 1156
7 | OneDriveTelemetryExperimental!Microsoft::Applications::Events::BondSplicer::splice
OneDriveTelemetryExperimental.dll!Microsoft::Applications::Events::BondSplicer::splice


improve food stuffs

-items with FoodComponent#isMeat is now considered meat
-removed redundant items from the meat tag
-allows items to be ignored by food restrictions (by default includes golden apples and enchanted golden apples)

Done https://github.com/apace100/origins-fabric/commit/e56dc902bc4a18cd0de2ccd0f21bdd2c9cd52b5f

based and meatpilled


Contam overlap fix

addressing some of the comments from Issue #285

@jaymedina I think the tests aren't passing because your branch doesn't have the pyyaml updates from a few days ago. I'm gonna pull it in and cross my fingers.


Get rid of Whacko and use Parse5 with the  tree adapter instead (close #97)

\сс @inikulin
Performance test results (the test measure 100 https://github.com/superroma/testcafe-hammerhead/issues?q=is%3Aissue+is%3Aclosed page processings):

Attempt
Parse5
Whacko

1
2068ms
3569ms

2
1934ms
3454ms

3
2140ms
3449ms

4
1935ms
3453ms

5
2128ms
3455ms

6
2290ms
3452ms

7
1981ms
3453ms

8
2070ms
3473ms

9
1992ms
3571ms

10
2022ms
3470ms

Awesome! Just some minor issues. \r-

\r-

FPR

lgtm


Bug in loading data using select_files()

When loading data for creating the fieldsets, we use the select_files function, defined in utils.py. There is a bug when trying to load in more than two years of data, caused by the line:
possible_files = sorted( glob(dirread + string_ % (yr0-1)) + glob(dirread + string_ % yr0) + glob(dirread + string_ % (yr0+1)) )
in the select_files function.
I will sort this out in the next pull request, but the solution is to replace this line with the following:
yrEnd = time_end.year

ragged_files = [glob(dirread + string_ % (yr0+i)) for i in range(-1,yrEnd-yr0+1)]
possible_files = []

for i in range(len(ragged_files)):
    for file_ in ragged_files[i]:
        possible_files.append(file_)

possible_files = sorted(possible_files)

This has been solved in release v0.1.0


Respond to Code Review

Make changes and corrections according to Isabelle's notes!

Complete as of b0c650d.


Is there any ability to use three map layers in metatron-discovery maps ?

Is there any ability to use three map layers in metatron-discovery maps . I have used two map layers with the generated analysis map layer. Without that any possibility of adding third map layer . Here I have used following data set and I want to plot like a map as in following figure(s)

This figure is from old metatron-driud documentation

Here I'm using metatron-discovery version 3.2.1

I've see three map layers on this article's test screen. But default metatron-discovery supports only two layers. How to enable this feature ?

@kaviranga
Currently, the function definition for the third layer has changed as bellow reason.
First, We thought that overlapping three layers can be visually complex and can lead to performance issues.
Second, we wanted to provide an area for geospatial analysis. You can refer to this link: https://metatron.app/2019/05/02/building-a-simple-map-view/

@kyungtaak Thanks for the valuable info . Can I enable this feature by editing any configuration in appropriate config file or switching to an old version?

@kaviranga I'm sorry that it's too many changes to switch version. Is there a lot of usability of the three layers? It seems very difficult to provide this at the current level. But, we will consider how to add the more layer internally.

@kyungtaak Ah , Yes I want to use three layers for specific purpose . But newer version 3.2.3 has limitations up to two layers . Ok I'll  experiment and try my best to solve the requirement by using only two layers.

@kyungtaak Thanks for the great support , Issue solved in another way :-) !

@kaviranga I would rather thank you for using ours. :)
If you have any questions or want to suggest something, do not hesitate to tell me.


[Bug]: key "freebsd_amd64" not found in dictionary

What happened?
I added an http_archive that loads this repository transitively. In one of the function calls, it uses copy_directory_platform_repo, but raises the error in the title.
This happens because COPY_DIRECTORY_PLATORMS has the key freebsd_amd64, but COPY_DIRECTORY_INTEGRITY used here and declared here does not.
Version
Dev architecture: MacOS arm64
bazel --version
bazel 6.3.2-homebrew

Tool that I want to install:
http_archive(
    name = "aspect_rules_js",
    sha256 = "77c4ea46c27f96e4aadcc580cd608369208422cf774988594ae8a01df6642c82",
    strip_prefix = "rules_js-1.32.2",
    url = "https://github.com/aspect-build/rules_js/releases/download/v1.32.2/rules_js-v1.32.2.tar.gz",
)

aspect_bazel_lib loaded transitively:
http_archive(
    name = "aspect_bazel_lib",
    sha256 = "44f4f6d1ea1fc5a79ed6ca83f875038fee0a0c47db4f9c9beed097e56f8fad03",
    strip_prefix = "bazel-lib-1.34.0",
    url = "https://github.com/aspect-build/bazel-lib/releases/download/v1.34.0/bazel-lib-v1.34.0.tar.gz",
)

The error happens when bazel syncing.
The version downloaded there is different from the latest one here, but I think the code would yield the same error given that the key does not exist.
How to reproduce
WORKSPACE

http_archive(
    name = "aspect_rules_js",
    sha256 = "77c4ea46c27f96e4aadcc580cd608369208422cf774988594ae8a01df6642c82",
    strip_prefix = "rules_js-1.32.2",
    url = "https://github.com/aspect-build/rules_js/releases/download/v1.32.2/rules_js-v1.32.2.tar.gz",
)

load("@aspect_rules_js//js:repositories.bzl", "rules_js_dependencies")

OS: MacOS arm64 (Apple M2 Max)

I don't think we have enough freebsd users to prioritize this ourselves, but we should definitely publish binaries for that platform.
In the meantime you should be able to configure the toolchain registration to build those tools from sources.


[multistage] support aggregations that require intermediate representations

This PR adds support for SKEWNESS and KURTOSIS in the multistage engine. To do this, I needed to add support for intermediate aggregations - specifically, SKEWNESS and KURTOSIS have "results" that are not composable. To get around this, I split them into two methods: an aggregate and a reduce. The aggregate collects a PinotFourthMoment, which is serializable, and sends it along. When the aggregate completes, this object is reduced to the correct result using an internal reduce method. All this happens in a calcite rewrite rule that is now set up for future methods that need to do the same thing.

Codecov Report

Merging #10120 (05d2bc4) into master (f7c42c8) will decrease coverage by 56.71%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master   #10120       +/-   ##
=============================================
- Coverage     70.40%   13.69%   -56.72%
+ Complexity     5692      176     -5516
=============================================
  Files          1991     1942       -49
  Lines        107637   105622     -2015
  Branches      16362    16137      -225
=============================================
- Hits          75786    14466    -61320
- Misses        26552    90012    +63460
+ Partials       5299     1144     -4155

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
13.69% <0.00%> (+0.07%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ain/java/org/apache/pinot/common/CustomObject.java
0.00% <0.00%> (ø)

...g/apache/pinot/common/datablock/BaseDataBlock.java
0.00% <0.00%> (-77.03%)
:arrow_down:

...a/org/apache/pinot/common/datablock/DataBlock.java
0.00% <ø> (-75.00%)
:arrow_down:

.../apache/pinot/common/datablock/DataBlockUtils.java
0.00% <0.00%> (-90.44%)
:arrow_down:

...g/apache/pinot/common/datatable/BaseDataTable.java
0.00% <ø> (-89.75%)
:arrow_down:

...a/org/apache/pinot/common/datatable/DataTable.java
0.00% <ø> (-92.07%)
:arrow_down:

...apache/pinot/common/datatable/DataTableImplV4.java
0.00% <ø> (-90.11%)
:arrow_down:

...java/org/apache/pinot/common/utils/DataSchema.java
0.00% <0.00%> (-80.86%)
:arrow_down:

...org/apache/pinot/core/common/ObjectSerDeUtils.java
0.00% <ø> (-91.38%)
:arrow_down:

.../pinot/core/common/datablock/DataBlockBuilder.java
0.00% <0.00%> (-74.24%)
:arrow_down:

... and 1601 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I'd like to briefly go over this PR this morning just to get a sense of the path / changes since we also implemented some statistical functions in the past in the current engine that may benefit from this in multi-stage.

@siddharthteotia did you get a chance to go over the PR?


BUG: Fix url argument in issue to page workflow

BUG: Fix issues to pages script URL argument in workflow
ENH: Print URL and destination script argument values

This should now work:
https://github.com/Remi-Gau/global2021/runs/4214588538?check_suite_focus=true#step:5:17
Although not strictly necessary, printing the variables is of help.

OK this seems to render the issues correctly.
https://remi-gau.github.io/global2021/projects/
Let me flag the other test issue opened on my repo as another attempt to do "end to end testing"

it works!
https://remi-gau.github.io/global2021/projects/


Conda install Habitat-sim 0.2.3just hangs infinitely

Habitat-Sim version v0.2.3
Steps I'm doing:
conda create -n habitat python=3.8 cmake=3.14.0
conda activate habitat
conda install habitat-sim=0.2.3 withbullet -c conda-forge -c aihabitat

output from this:
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: \

And just hangs in there..  Eventually the terminal window stops responding after 10 minutes
could you help?

Changed it to
conda install -c aihabitat habitat-sim=0.2.3 withbullet

and now outputs this:
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: |
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package habitat-sim-mutex conflicts for:
habitat-sim=0.2.3 -> habitat-sim-mutex==1.0[build='headless_nobullet|display_nobullet|display_bullet|headless_bullet']
withbullet -> habitat-sim-mutex==1.0[build=*_bullet]The following specifications were found to be incompatible with your system:

  - feature:/linux-64::__glibc==2.27=0
  - python=3.7 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']

Your installed version is: 2.27

can you please help?

Quick guess: habitat-sim=0.2.3 requires python 3.7, while habitat-sim=0.2.4 supports later versions.
Either of those should work:
conda create -n habitat python=3.9 cmake=3.14.0
conda activate habitat
conda install habitat-sim=0.2.4 withbullet -c conda-forge -c aihabitat

conda create -n habitat python=3.7 cmake=3.14.0
conda activate habitat
conda install habitat-sim=0.2.3 withbullet -c conda-forge -c aihabitat

I faced the same problem and I solved it by download the corresponding .tar.gz  file from https://anaconda.org/aihabitat/habitat-sim/files. I'm using python3.9 so I downloaded

Then I use the command:
conda activate habitat conda install --use-local habitat-sim-0.2.4-py3.9_bullet_linux_f179b584bcd713c5a2a998132211e2cae881d6d1.tar.bz2
And it worked. But it still need to install some missing packages using the pip command.

I tried @0mdc's proposed approach and did not work. I have conda environment with python3.9 and used

conda create -n habitat python=3.9 cmake=3.14.0 conda activate habitat conda install -c aihabitat habitat-sim=0.2.4 withbullet
The process still hangs.

Using @taylorlulu's approach worked.

Awesome! Thanks @taylorlulu for the solution.

Thanks @taylorlulu , great alternative when conda hangs up!


make RelWithDebInfo default build of llvm backend

StackOverflow:

The default optimization level changes. With gcc and clang, at least, RelWithDebInfo uses -O2, but Release uses -O3

We might still need Debug if too many variables are <optimized out>. But that can be set manually.

I'm going to do this a different way.

Would just adding -g to the default flag for Release be reasonable? If someone really cares about the extra size they can strip the binary.


Add separate Certificate Views for different use cases/services

I loved @dadolhay's idea in the call today to have some guided-views for working with the various certificate parts, in ways that match the service you are targeting.
I've made a start of this by splitting the certificate UI into panels.  So far I have a General panel, node.js panel, and AWS panel.
This needs the work from #524 to split the cert into more parts.  But once that is done, we can show people exactly what they need, and call it what they expect.

Wouldn't it be better to also have the chain and the full chain in the general tab or would that be added as part of #524 ?

Wouldn't it be better to also have the chain and the full chain in the general tab or would that be added as part of #524 ?

Yes, that's what I want to do as soon as we have that data.  Some tabs would use all 4 pieces, some only 3, some only 2, etc.  General can show and explain everything.

Yes, that's what I want to do as soon as we have that data. Some tabs would use all 4 pieces, some only 3, some only 2, etc. General can show and explain everything.

Alright, I will try to get that in tomorrow. I have most of it figured out


TypeError: zip argument #2 must support iteration

I'm trying to use nni to test ppo_tuner.
And I got this error message today:
C:\Users\admin\AppData\Roaming\Python\Python37\site-packages\nni\nas\tensorflow\mutables.py:97 call  *
    out, mask = self.mutator.on_forward_layer_choice(self, *inputs)
C:\Users\admin\AppData\Roaming\Python\Python37\site-packages\nni\nas\tensorflow\mutator.py:37 on_forward_layer_choi
ce  *
    out = self._select_with_mask(lambda choice: choice(*inputs), mutable.choices, mask)
C:\Users\admin\AppData\Roaming\Python\Python37\site-packages\nni\nas\tensorflow\mutator.py:52 _select_with_mask  *
    out = [map_fn(cand) for cand, m in zip(candidates, mask) if m]
C:\Users\admin\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\autograph\operators\py_builtins.py:4
16 zip_  **
    return _py_zip(*iterables)
C:\Users\admin\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\autograph\operators\py_builtins.py:4
24 _py_zip
    return zip(*iterables)

TypeError: zip argument #2 must support iteration

I think this error message means that tf.Tensor(i.e. mask) is not iterable.
So I tried changing the type of mask into numpy() like this:
(in Mutator.py)
    def _select_with_mask(self, map_fn, candidates, mask):
        if mask.dtype.is_bool:
            out = [map_fn(cand) for cand, m in zip(candidates, mask.numpy()) if m]
        elif mask.dtype.is_floating:
            out = [map_fn(cand) * m for cand, m in zip(candidates, mask.numpy()) if m]
        else:
            raise ValueError('Unrecognized mask, dtype is {}'.format(mask.dtype.name))
        return out

And my problem solved.
It looks like this issue depends on training script.
Sometimes this issue make an error, sometimes it doesn't.
I don't know why ...
Environment:

NNI version: 2.5
Training service (local|remote|pai|aml|etc): local
Client OS: Windows 10
Server OS (for remote mode only): Windows10
Python version: 3.7.8
PyTorch/TensorFlow version: Tensorflow 2.5.0
Is conda/virtualenv/venv used?: No
Is running in Docker?: No

Configuration:

Experiment config (remember to remove secrets!):
Search space:

Log message:

nnimanager.log:
dispatcher.log:
nnictl stdout and stderr:

How to reproduce it?:

Sorry but architecture search for TensorFlow is out of maintenance due to lack of developer.
If you can use PyTorch, nni.retiarii is actively maintained for latest NAS algorithms.

Ok.. It would be needed to consider using pytorch.
Thank you for your answer.


Adds command for updating builder.toml

Summary

A jam command that will update a user builder.toml to use the latest versions of the buildpacks, lifecycle, and build image.
Use Cases

Maintaining a builder.toml.
Partially solves the following issue.
Checklist

[x] I have viewed, signed, and submitted the Contributor License Agreement.
[x] I have added an integration test, if necessary.

Code looks good and mimics what we do in the builder update GHA really well. Tested this out locally and works as expected

@ryanmoran When you have a chance to take a look!