Add dimensions to dimred datasets

Submission type

[ ] This submission adds a new dataset
[ ] This submission adds a new method
[ ] This submission adds a new metric
[ ] This submission adds a new task
[ ] This submission adds a new Docker image
[ ] This submission fixes a bug (link to related issue: )
[ ] This submission adds a new feature not listed above

This just adds documentation about dimensions (numbers of cells, features, cell types) to the dimensionality reduction task.
Testing

[x] This submission was written on a forked copy of SingleCellOpenProblems
[ ] GitHub Actions "Run Benchmark" tests are passing on this base branch of this pull
request (include link to passed test: )
[x] If this pull request is not ready for review (including passing the "Run
Benchmark" tests), I will open this PR as a draft (click on the down arrow next to the
"Create Pull Request" button)

Submission guidelines

[x] This submission follows the guidelines in our
Contributing document
[x] I have checked to ensure there aren't other open Pull Requests for the
same update/change

PR review checklist
This PR will be evaluated on the basis of the following checks:

[ ] The task addresses a valid open problem in single-cell analysis
[ ] The latest version of master is merged and tested
[ ] The methods/metrics are imported to __init__.py and were tested in the pipeline
[ ] Method and metric decorators are annotated with paper title, year, author, code
version, and date
[ ] The README gives an outline of the methods, metrics and datasets in the folder
[ ] The README provides a satisfactory task explanation (for new tasks)
[ ] The sample test data is appropriate to test implementation of all methods and
metrics (for new tasks)

This looks great to me. I think we should have enough characters there to disply this info on the website. Thanks!

I think we should have enough characters there

If we don't, we should expand the size of the allowable text. This seems important.

Cool. Well if you are happy with this I'll make it a full PR.


Add new URLs to ipfs.yaml

These represent independent implementations of the IPFS protocol

Thanks for the PR! It looks like n0-computer is already in the directory. Could you remove it from the list and try again? Thank you 🙌
AssertionError: Duplicates found: {
  "https://github.com/n0-computer": [
    "/home/runner/work/oss-directory/oss-directory/data/projects/n/n0-computer.yaml",
    "/home/runner/work/oss-directory/oss-directory/data/projects/i/ipfs.yaml"
  ]
}

Removed, thank you!


Fix Mobi files without cover

Hello everyone,
First, thanks a lot for kcc.
Next, I was reading the Automatic Cover Upload session after see the discussion in #194 even being an old issue and already closed. I "wrote" (just changed the actual behavior) a small adaption in comic2ebook.py file.
With this, when I run the command line tool:
$ kcc-c2e -p K34 -f MOBI images-folder
A folder starde with KCC- will be created in /tmp. In my casw was /tmp/KCC-5hqj_gu7 and inside it will be the file /tmp/KCC-5hqj_gu7/OEBPS/content.mobi. This file can be transfered for you Kindle using USB method without need of using Calibre or conect your device while the .mobi conversion was done.
Unfortunately this doesn't resolve the Kindle email cover problem cited in #227.

This don't make any sense. Please elaborate.

Hi, thanks for reply. Sorry if I was not clear.  I'm not a native speaker.
The current behavior of the KCC is to create a .epub file and use Kindlegen to generate a .mobi file. In this scenario, the e-book cover does not work if you copy the .mobi file to the Kindle documents folder and one of the procedures listed in the Automatic Cover Upload link is required. However, if the.mobi file is generated from the .opf file this problem does not happen.

Yes it "works" because it load wrong low-res cover. This is not a solution for this issue.


Portable Styles

What if users want to export just the styling information, without the session data? We should be able to accommodate that.

Resolved by 0554784c9c791b0f09c221dffebf87ba703f7d98


adding deployment documentation

Coverage remained the same at 73.837% when pulling 0b630d54ba5e8e929d97102c5a73a0229f3eb9a5 on deployment-docs into afe32bfb8a605dbdff4bb5bb637c080757ee95de on master.


luhn: Update tests and example

References #402

We should keep an eye on those luhn related issues:
https://github.com/exercism/x-common/pull/522
https://github.com/exercism/x-common/issues/523

Good point. I expect the canonical-data to change so we should keep this open until that gets resolved.

https://github.com/exercism/x-common/pull/547

@behrtam sorry for the slow response! I updated the canonical tests.

Thanks for your work!


Test navigation to accessibility content

What is the problem to solve?
People don't always know where to look for access-related content on the site.
What are the objectives?

Identify navigation paths to specific types of accessibility information

What are the assumptions?
Users look for an 'Accessibility' page
Users expect exhibition-related information to be found with the exhibition
What research technique is required?
Tree testing (Optimal sort)
Optimal number of participants
50
Deadline for results/dependencies:
Q4 2023

Visual stories research questions: https://docs.google.com/document/d/1gHrTvpDCSN_dWHqOPzZk5LZhsg4t8p7y2kpSQ5-lEWU/edit?usp=sharing

Results from the tree test available here: Access content navigation tree test

@jennpb to share findings with Accessible Messaging Workgroup and Digital Editorial team

All documents moved to https://wellcomecloud.sharepoint.com/:f:/r/sites/wcdigitalexperience/Shared Documents/User Research/Whole site/Access content navigation Aug 2023?csf=1&web=1&e=0h60of


Feature Suggestion: Reduce Legendary Action Resource when using Legendary Actions

Just an ease of life enhancement if when you used a legendary action it would deduct it from the resource of the token.

This is already handled by the core system, as discussed in Issue #241


Add ppc64le build

This alters the GitHub Actions to build for PowerPC64 Little Endian architecture
cc @Spasi

Merged manually, thanks!


Deleting GitOps CR can get into endless loop

What version of eunomia are you using?
eunomia version:
v0.0.4
Does this issue reproduce with the latest release?
not tested yet
What operating system and processor architecture are you using (kubectl version)?
kubectl version Output
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"211047e9a1922595eaa3a1127ed365e9299a6c23", GitTreeState:"clean", BuildDate:"2019-10-15T12:11:03Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"14+", GitVersion:"v1.14.8-gke.12", GitCommit:"188432a69210ca32cafded81b4dd1c063720cac0", GitTreeState:"clean", BuildDate:"2019-11-07T19:27:01Z", GoVersion:"go1.12.11b4", Compiler:"gc", Platform:"linux/amd64"}

What did you do?
deleted a GitOps CR which triggered job/pod with ACTION=DELETE, however due to connectivity issues the POD was not able to clone related Git repo and hence the POD exited with error status. It retried 5 times and finally backedOffLimitedExceeded kicked in, however the related kubectl delete CR command hung forever:
$ kubectl delete gitopsconfig gitops-gcp-kohls-dev-cne-demo2-lle -n gcp-kohls-dev-cne-demo2-lle
gitopsconfig.eunomia.kohls.io "gitops-gcp-kohls-dev-cne-demo2-lle" deleted

and the logs of operator show repeatedly the following:
{"level":"info","ts":1578671192.4506927,"logger":"controller_gitopsconfig","msg":"Reconciling GitOpsConfig","Request.Namespace":"gcp-kohls-dev-cne-demo2-lle","Request.Name":"gitops-gcp-kohls-dev-cne-demo2-lle"}
{"level":"info","ts":1578671192.4507565,"logger":"controller_gitopsconfig","msg":"found instance","Request.Namespace":"gcp-kohls-dev-cne-demo2-lle","Request.Name":"gitops-gcp-kohls-dev-cne-demo2-lle","instance":"gitops-gcp-kohls-dev-cne-demo2-lle"}
{"level":"info","ts":1578671192.4507673,"logger":"controller_gitopsconfig","msg":"Instance is being deleted","instance":"gitops-gcp-kohls-dev-cne-demo2-lle"}

What did you expect to see?
kubectl delete CR should not hang
What did you see instead?
kubectl delete CR has hung forever

Whew, good that we added "eunomia version" in the bug report template, and big thanks to you for filling this value in! This helped me see you're reporting it for an old version of eunomia, and this bug is actually expected to be already fixed since eunomia 0.1.0 (https://github.com/KohlsTechnology/eunomia/commit/d5c1156bd1601fb9d2a58aba7f6fc3ef67ecfbb2).
As such, I'm closing this for now. If you however notice this occurring in eunomia 0.1.0+, please nag us here to reopen! Thanks


chore: lint unused params

Removes or renames to _ any unused parameters that are being caught by linters.
In general, I've tried to remove params unless there's a reason to keep _, for example:

experimental flag (unused in some places which we may need later)
required for interface (legacy querier)
work in progress (historacle related)

Some additional lint fixes are also included.

Codecov Report

Merging #1649 (9826687) into main (d417ed4) will decrease coverage by 0.07%.
The diff coverage is 92.00%.

@@            Coverage Diff             @@
##             main    #1649      +/-   ##
==========================================
- Coverage   54.15%   54.07%   -0.08%
==========================================
  Files          72       72
  Lines        7492     7480      -12
==========================================
- Hits         4057     4045      -12
  Misses       3121     3121
  Partials      314      314

Impacted Files
Coverage Δ

x/leverage/simulation/operations.go
76.95% <ø> (ø)

x/leverage/simulation/params.go
0.00% <0.00%> (ø)

x/oracle/abci.go
47.57% <0.00%> (ø)

x/leverage/client/tests/suite.go
95.89% <100.00%> (+0.50%)
:arrow_up:

x/leverage/client/tests/tests.go
100.00% <100.00%> (ø)


Fix non executable venv sys path bug

This PR fixes the bug  identified in https://github.com/pantsbuild/pex/issues/2235 when importing dependencies from a non executable pex  created with the --venv  flag.
For example, the snippet
import sys
sys.path.append('flask.pex')  # via `pex Flask -o flask.pex --venv`
import __pex__
import flask

would mangle sys.path removing necessary paths such as /usr/lib/python3.9 when executing against /usr/bin/python3.9.

Pushed a new commit that

Incorporated all but one suggestion - left a comment explaining my rationale.
Checked the test still fails with Failed: Test failed with exception: No module named 'contextvars'
Nothing leaks to CWD

Ok, @yjabri this test now LGTM. I won't let CI run though until you add the fix. Thanks for taking a go at this.

Thanks for the quick feedback! To make sure I submit a solid fix, I want to ensure I give myself enough time to get acquainted with  the codebase. If I don't get to it today, I'm going to aim for Sunday.

I think the test name could be better. Maybe something along the lines of test_non_executable_venv? If that sounds good I'll update the name of the PR to Fix non executable venv bug

I'm happy with the file name and test name as they are. Only change if you'd like to.

@yjabri while fixing tox -eformat-run,typecheck it would also be good to update the PR title and description.

Looks like subprocess.run was only introduced in python 3.5.
I think adding # type: ignore to subprocess.run([sys.executable, script_path], check=True) is okay because of the python version constraint.

How about just use subprocess.check_call.

@yjabri the CI issue is of my making. I'm actively working on CI improvements and it looks like you got a disk full due to those. You'll need to merge main to pick up fixes when I let you know to do so in a few hours.

Sounds good.

Alright @yjabri, if you merge main now, CI should be good to go.

Thanks for all of the assistance @jsirois! I appreciated the quick feedback and how smooth it was to contribute.


doc: self-referencing got note about rq for python 3.7+

Change Summary
Doc updated to explicitly state, self-referencing models require python 3.7+
Related issue number

issue #616

Checklist

[ ] (not applicable) Unit tests for the changes exist
[ ] (not applicable) Tests pass on CI and coverage remains at 100%
[x] Documentation reflects the changes where applicable
[x] HISTORY.rst has been updated

great, thank you.


[Csharp Typespec Emitter] @usage @access acting transitively?

In typespec for EventGrid SystemEvents we have models that are not used within operations. In order to get them to show we use @access and @usage.
In the following scenario -- where MyModel is not used within an operation:
            main.tsp ----

            ```
           op dummyOperation(): void;

            model MyModel {
                someEnum: myEnum;
            }

            enum myEnum {
               Yes,
                No,
               Maybe,
            }
            ```

            client.tsp ----

            ```
            @@access(namespace.MyModel, access.public)
            @@usage(namespace.MyModel, usage.input | usage.output)

            ```

Within the python emitter, I would get both MyModel and myEnum publicly exposed as the @access and @usage decorators are treated transitively -- applying to the enum within the model.
Is there going to be support for this within the C# emitter?

@l0lawrence,  the dotnet work should also be completed. https://github.com/Azure/autorest.csharp/pull/3671
Did you find any unexpected behavior from dotnet emitter?

Hello!
Yes, I would expect that the use of these decorators on a Model would apply to any models/enums that are used within that model.
If you generate off of the typespec outlined above myEnum is not generated by the .NET emitter. I would expect it to be because it is used within MyModel which has @access public and @usage Input/output

The design decision for @access and @usage is that 'This decorator will not have any propagation'.
Not sure why Python implemented the other way.  @tadelesh, could you confirm the behavior?

@access and @usage do not have any propagation. Python emitter's behavior is when generating MyModel, it will get a property with type myEnum and it will generate that enum though it is not generated in the phase of getAllModels. I strongly recommend to add @access and @usage to all the property types.

What's the reasoning behind not propagating @usage?

What's the reasoning behind not propagating @usage?

We don't want to introduce complicated rules for combining several usage values from propagated usage and default calculated usage. So, we decide to let author to be fully responsible for the model usage if they want to do any customization.

Seems reasonable.
Will there be some enforcement at the TCGC level then? What I've observed is that you can end up with a model type referencing e.g. an enum type that doesn't actually exist due to the dependent enum type not having the same usage.

The models and enums returned by getAllModels will not contain models or enums without usage. But that does not mean models or enums without usage are missing, they are just be filtered, and if a model property is a model or enum without usage, you will get that model or enum from the property type.


Paste should always go inside viewport

Copy something
Scroll far enough left and/or down so you don't see the original thing
Paste it

I think it should be pasted within viewport. Otherwise I have to scroll all the way up to find it, but I'm already where I want to put it.

I think that makes sense and would be easy to implement. If anyone is up to implementing it.

Hi @vjeux , I would like to take this up. :)

@abhikulshrestha22 PRs are accepted


Extract new authors from corrected books

Sometimes a book correction changes the authors. These should be compared against the existing author list.

Forgot this is already implemented more or less directly with --rescan-keys.


Using Service Account Credentials

According to official documentation, there is a way to sign in with a service account.
https://firebase.google.com/docs/app-distribution/ios/distribute-fastlane

Note: If you're using fastlane in a CI environment, you can also sign in with a service account or by using login:ci.

But looking into plugin documentation or the login instructions in the CLI, there's absolutely no way to specify the service account credentials JSON file.
Am I missing something or is this just a mistake in docs?

Hey Denis, you can set up service credentials following the "Set the
environment variable GOOGLE_APPLICATION_CREDENTIALS" option from these
docs:
https://firebase.google.com/docs/app-distribution/android/distribute-gradle#authenticate_using_a_service_account
Firebase CLI (which fastlane currently uses for auth) will look to the env
variable to grab the service account file.
On Fri, Oct 18, 2019 at 11:01 AM Denis Tuzhik<EMAIL_ADDRESS>wrote:

According to official documentation, there is a way to sign in with a
service account.
https://firebase.google.com/docs/app-distribution/ios/distribute-fastlane
Note: If you're using fastlane in a CI environment, you can also sign in
with a service account or by using login:ci.
But looking into plugin documentation or the login instructions in the
CLI, there's absolutely no way to specify the service account credentials
JSON file.
Am I missing something or is this just a mistake in docs?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fastlane-community/fastlane-plugin-firebase_app_distribution/issues/18?email_source=notifications&email_token=AAEY3EU3KGQMFXD23HK2SMDQPHFTPA5CNFSM4JCITPX2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HSYZ54A,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEY3ESFV4VEWP7KOV6JQNLQPHFTPANCNFSM4JCITPXQ
.

--
************___________
Alex Singer | PM Firebase | Google

Hey @dentuzhik
I think I have similar issue. I'm using a service account json to try a sign in and use firebase_app_distribution
After I run this command from shell
fastlane run firebase_app_distribution app:y_app_id apk_path:./app/build/outputs/apk/release/app-release.apk
I've been facing this error
Error: failed to fetch app information. HTTP Error: 403, The caller does not have permission
And I set  env variableGOOGLE_APPLICATION_CREDENTIALS in this way
export GOOGLE_APPLICATION_CREDENTIALS=/Users/my/..../android/secure/firebase-service-account-key.json
Basically my process is

set GOOGLE_APPLICATION_CREDENTIALS env
run fastlane run firebase_app_distribution app...

I read this guide to create json key
https://firebase.google.com/docs/app-distribution/authenticate-service-account.md?platform=android
How can I solve it?
Where is my mistake?
Thank you
Claudio

Hey, is there any way to specify GOOGLE_APPLICATION_CREDENTIALS as an argument for  firebase_app_distribution method? For example:
    firebase_app_distribution(
      app: "your-app-id",
      authorization_file_path: "/Users/user/project/firebase-app-distribution.json",
      firebase_cli_path: "/usr/local/bin/firebase",
    )

The problem I'm trying to solve is to distribute several apps (staging and production) using 1 CI build. I'm using different GCP service accounts for staging and production (I think most of us do).

Hey, Ilya, not currently, but could you use the environment_variable <https://docs.fastlane.tools/actions/environment_variable/#environment_variable>
action in your Fastfile to dynamically set GOOGLE_APPLICATION_CREDENTIALS
to your service account paths?
On Wed, Apr 22, 2020 at 9:24 AM Ilya Eremin<EMAIL_ADDRESS>wrote:

Hey, is there any way to specify GOOGLE_APPLICATION_CREDENTIALS as an
argument for firebase_app_distribution method? For example:
firebase_app_distribution(
  app: "your-app-id",
  authorization_file_path: "/Users/user/project/firebase-app-distribution.json",
  firebase_cli_path: "/usr/local/bin/firebase",
)

The problem I'm trying to solve is to distribute several apps (staging and
production) using 1 CI build. I'm using different GCP service accounts for
staging and production (I think most of us do).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fastlane/fastlane-plugin-firebase_app_distribution/issues/18#issuecomment-617774810,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEY3ERJYFMIKQQPKTH4M53RN3VX3ANCNFSM4JCITPXQ
.

--
************___________
Alex Singer | PM Firebase | Google

@alexsinger Yes, this is what I ended up with. Thank you for quick response.


Added an event "-e modify" to solve issue #9.

Added an event "-e modify" to solve the #9 issue that doesn't work on Ubuntu 14.04 with inotifywait 3.14.

The problem with monitoring both modify and close_wait events is that it seems some text editors trigger both events when a file is saved. So far I've tried, nano, gedit and sublime, and all three editors trigger both events on save.
Even running echo 'hello' >> main.go seems to trigger both events, at least on my machine.
In turn, that unfortunately means that the restart function in the script is called multiple times, unnecessarily, when using those editors.
One solution might be to add some additional logic to the script to ensure that restart is called once for each 'burst' of events (in conjunction with adding the extra -e modify in this PR). But I think both things need to be done at the same time.
Out of interest, what editor / process are you using to modify your main.go file?

I am using VScode to modify Go file. Also, tried with Atom and Sublime, all editors have the same issue.


chores: upgrade of libnghttp2 binary package in ubi8

chores: upgrade of libnghttp2 binary package in ubi8
Description
Keeping the ubi8 up-date, as ubi9 images get security fixes
and ubi8-based images are getting unmaintained.
introducing an important ubi8 security fix.
How Has This Been Tested?

Check quay security tab for non error for the PR tag.
Merge criteria:

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

Thanks for the review
/approve


What happens when yielding a promise?

From the example:
async function *readLines(path) {

    let file = await fileOpen(path);

    try {

        while (!file.EOF)
            yield await file.readLine();

    } finally {

        await file.close();
    }
}

It seems like we could get away with simply yielding the promise thanks to promise unwrapping behavior rather than yielding the result of await. Is this true? Or what am I misunderstanding?

Yielding a promise would give Promise<{ value: Promise<T>, done: boolean } instead of Promise<{ value: T, done: boolean }>, IIUC.

I think you're right. This is interesting to compare with Async Functions which, if you return a promise, the promise is unwrapped... eg.
async function foo() { return Promise.resolve(42) };
foo().then(v => assert(v === 42))

async function* foo() { return Promise.resolve(42) };
let iter = foo();
iter.next().then(function(res) {
  res.value.then(v => assert(v === 42));
});

It might be nice to unwrap promises yielded from async generator bodies. Why would this be a bad idea?

Right, currently yielding and awaiting are orthogonal:  you can yield a promise and it will appear as a promise in the "value" property of the eventual iteration result.
I suppose it could be arranged so that within an async generator function we implicitly perform an await on the the value being yielded.  Alternatively, the async for-of statement could unwrap the "value" property after unwrapping the iteration result.
I haven't had time to think through the implications, though...

@bterlson That's a great point.

I feel the orthogonality is cleaner but I do admit that coming up with use cases for async-iterables-of-promises basically reduces down to coming up with use cases for promises-for-promises, which as we know are verboten.

I agree @Domenic, I think it's morally equivalent to promise-for-promise. Another argument for unwrapping yielded promises is that it will be very common and yield await is subtle and likely confusing.

I agree with this.  Thanks @bterlson !
Also, consider the following case:
async function af() { throw new Error("oops") }

async function* agf() {
    yield af();
}

let iter = agf();
let result = await iter.next();

We would certainly (I think) expect await iter.next() to throw, instead of returning an iteration result with a rejected promise for a value.

:+1: to awaiting yielded values. I am particularly compelled by the argument that return unwraps Promises in async functions, and return is a lot like yield. And of course you can still find a way to smuggle a Promise out of an async generator function if you really want to—just hide it in a wrapper object and yield that object.

Fixed in Regenerator: https://github.com/facebook/regenerator/commit/37b154955334675318c2346e7e73af460ffce087

FWIW I was just trying to figure out why this async code was not working correctly (compiled via babel):
var foo = async function Foo() {
    try {
        await Promise.reject(new Error("rejected"));
        console.log("this line should never be reached");
    }
    catch (err) {
        console.log(`error: ${err}`);
    }
}

foo();

The trouble is that the this line should never be reached was running instead of the catch clause.
I traced it down to the very code you just changed.  If I apply your change to my runtime then the above code works correctly.

Interesting. What version of Babel are you using?

babel-core: 5.2.15.
babel-runtime: 5.5.5.

I believe babel-core 5.5.3 is the version you need to guarantee Regenerator 0.8.28 or better. The version of Regenerator you're using simply translates await x to yield x, whereas the runtime you're using expects await x to be translated to yield regeneratorRuntime.awrap(x). The change I mentioned above fixes the immediate problem, now that yield x is effectively the same as yield await x, but I would still recommend upgrading to the latest runtime!

@domenic Could you elaborate on why promises-for-promises are verboten? It's probably too late now to revisit this, but I would imagine the behavior that causes the least surprise is the one that does the least amount of magic. In particular, when using a type system like TypeScript, it becomes hard to express exactly what it is the function is returning.

No, I'd rather not get off-topic in this repository. You can peruse previous es-discuss threads, TC39 meeting notes, or perhaps the promises-aplus GitHub organization.


Installation instruction incorrect?

Hi,
copy/pasting the installation instructions I got the following error:
services.unmonitorr.environment must be a mapping
As the "Key: Value" mapping syntax is used, no dash should be there. Dash should only be there if it was a list. As i "- Key=Value". Removing the dashes fixed my issue.

Though after fixing the docker file I can't get it to work. :/
@Shraymonks would you possible be able to tell me what I am doing wrong?
I have the following docker-compose.yml:
version: '3.8'
services:
  unmonitorr:
    image: shraymonks/unmonitorr:latest
    container_name: unmonitorr
    environment:
      PLEX_EVENTS: media.pause
      RADARR_HOST: http://<IP_ADDRESS>:7878
      RADARR_API_KEY: CENSORED
      SONARR_HOST: http://<IP_ADDRESS>:8989
      SONARR_API_KEY: CENSORED
    ports:
      - 9797:9797
    restart: unless-stopped

(I'm using media.pause so I can quickly test if it works or not, as it should unmonitor what I am watching as soon as I pause.)
I have the following webhook setup in plex: http://localhost:9797
Docker ps:
CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS             PORTS                    NAMES
ae6e0a3d1e62   shraymonks/unmonitorr:latest   "dumb-init node dist…"   13 minutes ago   Up 13 minutes      <IP_ADDRESS>:9797->9797/tcp   unmonitorr

Logs:
root@user:/opt/unmonitorr# docker logs unmonitorr
unmonitoring for media.pause on port: 9797
Radarr: http://<IP_ADDRESS>:7878
Sonarr: http://<IP_ADDRESS>:8989

I really appreciate any help you are willing to give!

Hi @mikkelzzz3!
Thanks I've fixed the environment section in the compose example.
Based on your compose file it looks like the container is probably not networked to Radarr/Sonarr or those addresses are incorrect. By default the container will have its own network and something like http://<IP_ADDRESS>:7878 won't work.
Also if those are all the logs you have from unmonitorr, there's probably an issue with Plex connecting to unmonitorr as well.
You can check the logs in Plex to see if Plex is able to send the webhook to unmonitorr.
Then check the logs in unmonitorr, it'll display an error if it's unable to connect to Radarr/Sonarr.

I will check the Plex logs! Also I should mention Radarr and Sonarr is not run in docker but directly on my server using systemd. Isn't it then localhost unmonitorr should connect to? (I've not really worked with docker before, is there some networking I'm missing?)

If you want the docker to work that way you should add network_mode: host to your compose file. Otherwise, <IP_ADDRESS> will refer to the machine in docker and you would need to specify the actual ip or hostname of the server for radarr and sonarr.

I checked the logs in Plex, and I got the error: Could not connect to server in the plex log.
Removing the ports section and adding network_mode: host instead worked for me :D Plex dosn't throw any errors, and I can see in the docker log that in unmonitors, and that is also reflected in radarr.
Thank you for this script :)


Ubuntu 22.04 has been released. Are you interested in adaptation?

Issue Type
Feature Request
OS
Other
OS architecture
aarch64
Hardware
Other
Description
Ubuntu 22.04 has been released. Are you interested in adaptation? it is used python 3.10.
Relevant Log Output
no

There are no plans at this time as there is no point in doing a build until the official repositories implement the internal logic support.
https://github.com/tensorflow/tensorflow/issues/55701

https://github.com/PINTO0309/Tensorflow-bin/releases/tag/v2.9.0

thanks very much!


cmd/compile: defer+delete argument bug

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
Go 1.8.
Also happens on play.golang.org.
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
What did you do?
Evaluate this code:
package main

import "fmt"

func main() {
	fmt.Println("should be 0:", len(foobar()))
}

func foobar() map[int]bool {
	m := map[int]bool{}
	for i := 0; i < 3; i++ {
		m[i] = true
		defer delete(m, i)
	}
	return m
}

What did you expect to see?
should be 0: 0

What did you see instead?
should be 0: 2

The defer statement is supposed to freeze its arguments the instant it is evaluated, but it does not when used with delete. Compare to this program, which works correctly:
package main

import "fmt"

func main() {
	fmt.Println("should be 0:", len(foobar()))
}

func foobar() map[int]bool {
	m := map[int]bool{}
	for i := 0; i < 3; i++ {
		m[i] = true
		defer myDelete(m, i)
	}
	return m
}

func myDelete(m map[int]bool, k int) {
	delete(m, k)
}

This is my interesting. Why you use defer delete?

@mattn I have a map that I occasionally add temporary values to (for intermediate computations). I was trying to use defer+delete to remove those temporary entries automatically.

Good news and bad news:
Bad news is this has been broken forever.
Good news is that it's fixed at tip (what will be Go 1.9).
I haven't bisected to see where it was fixed and whether it was intentional. If it was fixed by accident, it likely still lacks a test.
/cc @griesemer @randall77 @mdempsky @josharian

Probably fixed by the order.go changes for mapdelete_fast*. Yes, needs a test. Should double-check go delete(x), and defer/delete of the other built-in functions.

A bisect points at 5d6b7fcaa1444f6c17d519c9ce7bc0771bfd96ec (CL 38172)

runtime: add mapdelete_fast*

order.go, walk.go, and ssa.go are scattered with special handling of go/defer of built-in functions. I wonder whether instead we should just do a very early rewrite of
defer builtin(a, b, c)

to
defer func(a T, b T, c T) {
  builtin(a, b, c)
}(a, b, c)

That would probably also simplify instrumentation of such cases, which are also the topic of scattered special handling.

@josharian I was thinking the same thing.

I think we should add a test for 1.9 and and leave the closurization of deferred built-ins for 1.10. (That will also enable us to simplify other things, like not lowering OPANIC in walk.go.)
I'll send a test CL.

Note to self: walkprintfunc does this now for defer println(...). It also has a minor naming bug: lookupN("print·%d", walkprintfunc_prgen) generates names like "".print·%d1·f. :P

This is fixed at tip, we can close this now cc @mdempsky


Consistency issue between pulumi-azuread & pulumi-azure?

I'm currently working with both packages in my solution and according to the pulumi documentation the configuration for each package use the following variables:
pulumi-azure

azure:clientId or ARM_CLIENT_ID
azure:subscriptionId or ARM_SUBSCRIPTION_ID
azure:tenantId or ARM_TENANT_ID
azure:clientSecret or ARM_CLIENT_SECRET

pulumi-azuread

azuread:clientId or ARM_CLIENT_ID
azuread:subscriptionId or ARM_SUBSCRIPTION_ID
azuread:tenantId or ARM_TENANT_ID
azuread:clientSecret or ARM_CLIENT_SECRET
azuread:certificatePassword or ARM_CLIENT_CERTIFICATE_PASSWORD
azuread:clientCertificatePath or ARM_CLIENT_CERTIFICATE_PATH
azuread:environment or ARM_ENVIRONMENT

Would it make sense to rename azuread:* to azure:* because they use the same environment variables?

Hi @juchom
you are correct - each of the packages don't reflect the same configuration variables and they both should. I have opened a PR in our tfgen generation repo that creates the configuration to ensure we pick this validation up in the future
With regards to using the same azure:*, technically these are different providers therefore they do need to be configured differently. When the PR (linked) is merged, at least the providers will use the same consistent environment variables
Thoughts?
Paul

https://github.com/pulumi/pulumi-terraform-bridge/pull/72

Hi @stack72 ,
I'm not sure to understand how things will change after your PR?
Could you please give an example of the config before -> after.
Julien

Hi @juchom
The issue is, we are missing some fields that are not mapped in the azure provider. Therefore when this PR gets merged we will be alerted to those and then we can roll those changes out
This PR helps us understand the underlying schema better so we are fully covered
Paul

Ok, when I opened this issue, I had this in mind:
Imagine you use the azure & azuread provider in your stack, we can do that with config variables:

azure:clientId 1234
azuread:clientId 5678

But if we use the environment variable we only have ARM_CLIENT_ID for both.
I see your point to keep azure:* and azuread:*, but in that case should we have ARM_CLIENT_ID and ARM_AD_CLIENT_ID for azuread provider?

With regards to using the same azure:*, technically these are different providers therefore they do need to be configured differently.

I see your point to keep azure:* and azuread:*, but in that case should we have ARM_CLIENT_ID and ARM_AD_CLIENT_ID for azuread provider?

I'd love this. Having them share the same env vars is a massive pain when trying to configure them to access different tenants. Instead of CI simply setting appropriate env vars for both, one has to jump through hoops.


Port revive patch archive test again

porting https://github.com/MinaProtocol/mina/pull/14712 to develop

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-nightly-me

!ci-build-me


consul.addr rename

Its not good to change option without backward compatability.
We are using docker image of fabio
and suddenly our site stopped working after update.
Traced the problem down to fabio, and it appeared that we were using consul.addr which was fine before, and now its renamed to registry.consul.addr.

@aldarund I am sorry to hear that.
consul.addr has been deprecated and replaced by registry.consul.addr in commit 5250bac in adding support for issue #12 - multiple backends and went live with release 1.1 on 18 Feb 2016. Since then your log should have contained the following output:
$ ./fabio -cfg fabio.properties
2016/07/24 20:16:38 [INFO] Version 1.1 starting
2016/07/24 20:16:38 [WARN] config: consul.addr has been replaced by registry.consul.addr
2016/07/24 20:16:38 [INFO] Runtime config
...

Over the last five months I've released 6 more releases (1.1.1 - 1.1.6) and four RCs for 1.2 which all contained the same warning.
Also, https://hub.docker.com/r/magiconair/fabio/tags/ lists all fabio versions up to 1.0.2 including the latest RCs for 1.2 in addition to latest. You can refer to a specific version as follows:
docker pull magiconair/fabio:<version>

e.g.

docker pull magiconair/fabio:1.1.6-go1.6.2

Using latest has some risks since you assume that nothing will break or change between versions.
I do my best not to break things for one to prevent situations like yours since that clearly does not make people happy. But also because we are using fabio in our production environment. Bringing down a site like marktplaats.nl because of an upgrade that contains an edge case I've overlooked would be too dangerous. That's why we pin our versions per environment and roll out newer versions in our test environments and on our laptops first.
 Some design decisions I made turned out to be too narrowly focussed. They made sense at the time but don't fit when requirements changed. I want to be able to change things.
Also, I don't control packaging or how and when people roll-out fabio in their environment. I don't control how they stay informed, whether they check the CHANGELOG or Twitter.
Combine this with wanting to change things means that I can only depend on fabio users following best practices and a defensive approach when using fabio in their own environment.
I think your approach of running latest on your production site without testing it first is a bit reckless. With this you're destined to get burned at some point.
However, I should have probably mentioned the removal in the CHANGELOG and announced it beforehand instead of just dropping it after a couple of months; although, I'm not sure if that would have helped in your case.
I'm open for suggestions on how to handle deprecations of features, config options and behavior in the future.

At the time I've decided to rely on log messages only for deprecation warnings. Maybe fabio is too stable or doesn't get restarted often enough for people to notice.

I am going to close this one but feel free to comment for further suggestions.


⚠ Bofrost.at has degraded performance

In 85a833a, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1943 ms

Resolved: Bofrost.at performance has improved in 3110efe.


Import item via SAF with handle provided in collections file produces error

Describe the bug
When I import via SAF with the handle provided in the collections file, I get the error: "Invalid UUID string: Skipping".
When I use the same handle, but provide it in the CLI via -c option, the import works.
To Reproduce
Steps to reproduce the behavior:

Create a SAF item to import, and provide a collections file where a valid DSpace collection handle is specified.
Import as specified in the documentation (without providing a handle via -c).
After the script starts, the following error message appears: "Invalid UUID string: Skipping"

Expected behavior
The import should work as described in the DSpace documentation when a collections file with handle is provided.

@Ma-Tador : What version of DSpace is this related to?

Sorry, I forgot to mention that I use DSpace 7.4. However now is working, after I deleted a new line after the handle, everything works fine. So maybe we can add a note in the documentation to not have any new line after the handle is provided.

Remove new line after the handle and works as expected. Please add this hint in the documentation in case someone has this problem.


Homework Files

Is there a way to delete a bunch of files at once instead of going into each individual file and deleting it? I couldn't find a delete button other than on each individual item. I messed up when uploading the stuff to github and it took a while to go in and delete every single thing i had just committed.

@kaitlinclifford I had to go try this before I suggested it. Any file or group of files or folders within your repository on your computer that you delete or create or change, the same change is reflected on GitHub whenever you push it from Github Desktop. To be sure I created a testdelete folder in my 120-work folder with a file in it. I pushed it then checked to make sure it was present on Github. I then deleted it on my computer re-pushed it and presto chango it was gone from Github. Hope that helps.

I don't know how, but somehow from deleting the files here on github, then going back to the github on my desktop and then to atom, my files got deleted in atom. So if I delete things here on github, will it delete them in atom? I'm having troubles

@kaitlinclifford
So, I think I know what is happening. You created the repo, then made a buncgh of changes (added a bunch of files, from the _MACOSX folder or whatever, instead of ‘empty-example’. Then synced, all of these changes to GitHub, only to realize you didnt want them there?

(That is at least what it looks like on your repo.)
The answer to your question is yes. If you delete a file on GitHub, then sync that change with your computer, you have thereby also deleted the file on your computer. Luckily nothing is ever truly deleted when using Git though, so if you deleted things you did not mean to, this can be fixed. It is just hard to explain over text-based messages.
Is this what is going on?

@kaitlinclifford  I would only delete from my repository on my machine. It is the file directory that is the repository this is what we designated as our repository. The main interaction you need to worry about is between that file repository and Github desktop. There is a way you can view your changes if you lost any work. At the toolbar on top of Github desktop app click view then history. You should see a history of your changes. Click on the change you want to recover and it will come up I would then copy and paste this back into the appropriate file.

This is a pretty good explanation!

@michaelmusick your explanation is what happened. If I upload stuff to github and it's not what I want, but don't want to delete my work in atom what should I do? I think I'm just going to start over and then when I upload it, be careful about which stuff I upload. And @JonSwallow I totally get what you're saying, and I will probably try that when I have spare time to look things over

First, I am glad we at least understood what happened. Second, the beauty of Git and GitHub, is that we can change things, even after uploading them. Nothing is set in stone, because it is all stored in Git’s version control system. So, it is all based on commits anyways.

If you upload a file, that you later realize needs changes, you should not delete it, but instead, change it on your local machine. Commit those changes, and then re-sync to the remote (GitHub.com http://github.com/).
Does that make sense the way I described it, or does it sound like jibberish?

Ok. That all does make sense. I think that next week if I have problems like this again I will follow that. But right now I feel like it's easier to redo everything and upload it again. Maybe I can come to your office hours sometime so that you can help me understand it better

Yes, do what you must to get the assignment done. And absolutely, if you had some time, it would be wonderful for you to come by, as I would be more than happy to try and help make more clear what is occurring with Git.

Do you have set office hours, or kind of just whenever?

I do have set office hours, they are listed under the [“Instructor”](https://montana-media-arts.github.io/creative-coding-1/instructor/ https://montana-media-arts.github.io/creative-coding-1/instructor/)
Also, they are;

Tuesday: 11:30am - 1:30pm
Wednesday: 2:30pm - 4:00pm

If you cannot make those, I can try to work with you to find another time. But as I am incredibly busy, I would appreciate it if you try to make the posted hours.
Looking forward to meeting you and working with you in person sometime. (This is true for all of you in the class. Please feel free to come by my office hours!)

Alright. Thank you for all the help with this issue I'm having. And thanks for the office hours, I'll probably stop by at one of those.

I know I keep asking a lot of questions, but I'm confused again. I'm putting a picture of my github desktop to know if this is what I'm supposed to do. It says 141 changed files. Do I need to go through all of them and check/ uncheck each one if I need or don't need it? I should I just commit to master and then push all of them?

@kaitlinclifford  the green plus opens up the folder. Personally I would just go find my code for the hw assignments and the readme.md files.  You can always redownload that empty example again and work off of it for structure. You can also click on any persons name and go look at their repository for structure reference. Here is a screenshot where I got to the source of what I wanted and highlighted the code I would then copy and paste into a new readme.md.  Sorry for my terrible handwriting but I think you can get it from this. The crossed out files are not needed.

oh awesome... Thank you. that really helps me. I'll be sure to have mine look like that!!


Slow scrolling due to constant repaints

On pages such as https://webpack.js.org/guides/migrating/, the scrolling is very slow, because .sidebar and .gitter__button keep repainting.
A quick fix is adding will-change: transform on them to promote them to their own layers, eg:
.gitter__button,
.sidebar {
	will-change: transform;
}

@ivancuric would you be interested in pr-ing that change? I would just add the property to each the respective -style.css files (i.e. gitter-style.css and sidebar-style.css).

@ivancuric just merged your suggested fix. If you have any ideas for more long term solutions please share... once we're done getting the bulk of our content-related issues done, we'll be spending some time on code cleanup and making a more stable groundwork.


Should Lazy Loading Images work inside Modals?

We can't get the images to lazyload inside modals with visibility (http://semantic-ui.com/behaviors/visibility.html#lazy-loading-images). Images lazyload fine if they are outside of the modal on the normal page but as soon as they are placed inside of a modal and the modal is opened they won't load anymore. Calling $('.elem').visibility('refresh'); on modal open will load the visible images in the modal but not the ones that will enter the screen when scrolling the modal.
So should the lazyloading of images with visibility work fine in the modals also or are we doing something wrong?

Hi @jjylha, you’re doing nothing wrong, and it makes perfect sense for it to work with modals—we labeled it as enhancement: #5079. It’s been a while, if you haven’t solved it, please take a look at the workaround there. Closing as a duplicate.


Make sure constraints is always initialized to None

the constraints attribute can be missing
running setup for /home/newton/work/milabench/runs/code/torchbench/torchbenchmark/models/BERT_pytorch...OK
Traceback (most recent call last):
  File "/home/newton/miniconda3/bin/milabench", line 8, in <module>
    sys.exit(main())
  File "/home/newton/work/milabench/milabench/cli.py", line 23, in main
    run_cli(Main)
  File "/home/newton/miniconda3/lib/python3.9/site-packages/coleo/cli.py", line 628, in run_cli
    return call(opts=opts, args=args)
  File "/home/newton/miniconda3/lib/python3.9/site-packages/coleo/cli.py", line 587, in thunk
    result = fn(*args)
  File "/home/newton/work/milabench/milabench/cli.py", line 223, in install
    mp.do_install(dash=simple_dash, force=force, sync=sync)
  File "/home/newton/work/milabench/milabench/multi.py", line 88, in do_install
    pack.checked_install(force=force, sync=sync)
  File "/home/newton/work/milabench/milabench/pack.py", line 98, in checked_install
    self.install_milabench()
  File "/home/newton/work/milabench/milabench/pack.py", line 139, in install_milabench
    self.pip_install("pip", "-U")
  File "/home/newton/work/milabench/milabench/pack.py", line 161, in pip_install
    if self.constraints:
AttributeError: 'TorchBenchmarkPack' object has no attribute 'constraints'

``

I believe this is already addressed in #34 which I'm going to merge soon.


Empty args/inputs when turning streaming on and setting tool choice to any

Description
When calling the Anthropic client with streaming=True and tool_choice={"type": "any"/"tool" } the output returns a tool call but with empty args.
This is problematic for a few other reasons beyond no args being returned. For example, quite a few packages rely on the anthropic-sdk, one of which is langchain-anthropic (ref).
Expected response
I would expect that the output includes the inputs/args required for the tool call when streaming.
Reproduction steps
I've added a notebook to highlight some things:
https://gist.github.com/kwnath/f42737c023767d5effdcca20cb5bd0a6

@kwnath thanks for the report, can you share the python version you're using and the dependency versions you're using? e.g. with pip list.
I can't reproduce the issue you're seeing, with this script
from anthropic import Anthropic

client = Anthropic()

stream = client.messages.create(
    model="claude-3-5-sonnet-20240620",
    max_tokens=2048,
    temperature=0.0,
    tools=[
        {
            "name": "get_weather",
            "description": "Get the current weather in a given location",
            "input_schema": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city and state, e.g. San Francisco, CA",
                    }
                },
                "required": ["location"],
            },
        }
    ],
    tool_choice={"type": "any"},
    stream=True,
    messages=[{"role": "user", "content": "What's the weather like in San Francisco?"}],
)
for event in stream:
    print(event)

I get back multiple events
RawMessageStartEvent(message=Message(id='msg_01177R2njzZanvg1kphN3Wvh', content=[], model='claude-3-5-sonnet-20240620', role='assistant', stop_reason=None, stop_sequence=None, type='message', usage=Usage(input_tokens=366, output_tokens=10)), type='message_start')
RawContentBlockStartEvent(content_block=ToolUseBlock(id='toolu_01SjuyZhYAert5cA4LNzNNKc', input={}, name='get_weather', type='tool_use'), index=0, type='content_block_start')
RawContentBlockDeltaEvent(delta=InputJSONDelta(partial_json='', type='input_json_delta'), index=0, type='content_block_delta')
RawContentBlockDeltaEvent(delta=InputJSONDelta(partial_json='{"', type='input_json_delta'), index=0, type='content_block_delta')
RawContentBlockDeltaEvent(delta=InputJSONDelta(partial_json='location": ', type='input_json_delta'), index=0, type='content_block_delta')
RawContentBlockDeltaEvent(delta=InputJSONDelta(partial_json='"San Fran', type='input_json_delta'), index=0, type='content_block_delta')
RawContentBlockDeltaEvent(delta=InputJSONDelta(partial_json='ci', type='input_json_delta'), index=0, type='content_block_delta')
RawContentBlockDeltaEvent(delta=InputJSONDelta(partial_json='sco, CA', type='input_json_delta'), index=0, type='content_block_delta')
RawContentBlockDeltaEvent(delta=InputJSONDelta(partial_json='"}', type='input_json_delta'), index=0, type='content_block_delta')
RawContentBlockStopEvent(index=0, type='content_block_stop')
RawMessageDeltaEvent(delta=Delta(stop_reason='tool_use', stop_sequence=None), type='message_delta', usage=MessageDeltaUsage(output_tokens=41))
RawMessageStopEvent(type='message_stop')

Ah completely forgot to add this! Apologies!
Python 3.11.7

anthropic==0.34.2
anyio<5,>=3.5.0
distro<2,>=1.7.0
httpx<1,>=0.23.0
jiter<1,>=0.4.0
pydantic<3,>=1.9.0
sniffio
tokenizers>=0.13.0
typing-extensions<5,>=4.7

Thanks! I still can't reproduce with the first version of the dependencies you listed, will test again with the full list.
Have you tested using the SDK outside of a notebook? I wonder if that's causing issues?

Hmm interesting this is only happening on the notebook. I ran this in a python shell and I get multiple chunks.

Interesting, thanks. Could you share more details on how you have your notebook setup?

Thanks @RobertCraigie I'll have a deeper look into how we're setting up our notebook but for now I'm happy to close this issue and update when I do find something in our setup!

Thanks for confirming! Did you manage to determine what was causing issues in your setup?

@kwnath did you manage to figure anything out?

Hey Robert, I haven't yet, I had run a few tests around this and am still experiencing a few function calls without args. Will be investigating a bit more deeply today.

@RobertCraigie I've done a bit more investigation just toggling on/off things in our app.
I finally pin pointed it to a specific package we initialise. Sentry seems to be the culprit. I'll make a reproducible example in a bit but it seems like they've had an issue before:
https://github.com/getsentry/sentry-python/releases/tag/2.10.0
I'm currently using 2.13 which should have fixed it but I think there is something else at play.

Okay here is how you can reproduce:
https://gist.github.com/kwnath/b5e432e7492c0ba9dec7740344d8891e
First try without initialising sentry, you'll notice the end output is there are tool args. Next initialise sentry and rerun the first example you'll notice there are no args.

This is also problematic on the latest version of sentry:
langchain-anthropic==0.2.1
langchain-core==0.3.1
sentry-sdk==2.15.0

I've figured this out! I'm going to write up a small report a bit later!


Enforcing usage of Key Vaults in Add/Update monitoring virtual machine workbooks.

PR Checklist
Enforcing usage of Key Vaults in monitoring vm config related workbooks due to security concerns. With this update, users cannot add/update monitoring vm config without giving access to Key Vaults. Added an informational banner asking user to reference passwords from Key Vaults and two error banners when access is not provided.

[x] Explain your changes, so people looking at the PR know what and why, the code changes are the how.

If adding or updating templates:

[x] post a screenshot of templates and/or gallery changes
[x] ensure your template has a corresponding gallery entry in the gallery folder
[x] grep /subscription/ and ensure that your parameters don't have any hardcoded resourceIds or they will fail PR validation
[x] remove fallbackResourceIds and fromTemplateId fields from your template workbook or they will fail PR validation

link to workbooks: https://ms.portal.azure.com/?feature.includePreviewTemplates=true&feature.localtemplates=true&feature.workloadinsights=true&feature.workbookGalleryRedirect=https%3A%2F%2Freadablesecondaries.blob.core.windows.net%2Fazure-monitor-workbook-templates%2Fpackage#blade/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/sqlWorkloadInsights

for the code owners part, it might just be a syntax issue in the CODEOWNERS file that's not catching these.
codeowners has:
/Workbooks/Workloads/SQL** @microsoft/sqlexternalmonitoring

but it looks like it is missing a trailing / to mark it as "Everything inside SQL folder" instead of "every file with SQL in the name" like it is now.
looks like it should be:
/Workbooks/Workloads/SQL/** @microsoft/sqlexternalmonitoring

for the code owners part, it might just be a syntax issue in the CODEOWNERS file that's not catching these. codeowners has:
/Workbooks/Workloads/SQL** @microsoft/sqlexternalmonitoring

but it looks like it is missing a trailing / to mark it as "Everything inside SQL folder" instead of "every file with SQL in the name" like it is now.
looks like it should be:
/Workbooks/Workloads/SQL/** @microsoft/sqlexternalmonitoring

Hi John, thanks for spotting that.
I have updated the CODEOWNERS file accordingly.


Search PYSPARK_PYTHON in configurations

Check if the PYSPARK_PYTHON was defined in the configurations passed to the context.
What changes were proposed in this pull request?
Searches for the PYSPARK_PYTHON environment variable in the configurations passed to the Context in Python interface.
Why are the changes needed?
When the variable is not defined in the local OS the corresponding block will use the python3, line 230:
self.pythonExec = os.environ.get("PYSPARK_PYTHON", 'python3')

However, if some specific virtual environment is sent to the executors and/or the python path is changed in the executors, the configuration spark.executorEnv.PYSPARK_PYTHON will not be considered.

Can one of the admins verify this patch?

Jenkins ok to test

Can you add a test which indicates the need for this?

Test build #140341 has started for PR 31997 at commit 526aec7.

Test build #140341 has finished for PR 31997 at commit 526aec7.

This patch fails Python style tests.
This patch merges cleanly.
This patch adds no public classes.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44872/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44872/

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

Oh I just saw this. thanks for pinging @holdenk


[issue][Compensable][timeout]the transaction is timeout and trigger Compensable, but the global service response is 200 OK

Describe The Bug
the transaction is timeout and trigger Compensable, but the global service response is 200 OK.
TXLE Version
09c33a59cf339d31a05c9fdf1640a5dcb049c388
To Reproduce
Steps to reproduce the behavior:

set timeout to 1 sec, whatever in @SagaStart, @Compensable or @AutoCompensable.
coding second service sleep 2 sec.

Expected Result

sub-service timeout, the global service response is failed
data rolled back and all data remains consistent

Real Result

the global service response is 200 OK.
data rolled back and all data remains consistent

Fixed.

verified
txle version <IP_ADDRESS> 07b3a392244141ac0549c51355c445ee9c05b9c9


Support SQLDev 23.1.0

Make the Arbori program compatible with SQLDev 23.1.0 and SQLcl 23.1.0

It will not be possible to create native images on most platforms anymore. The reason is that the new parser included in SQLcl 23.1.0 requires AWT/Swing classes. As a result, the native image is not executable anymore. I've added some details in the README.md.


The application does not have a version <IP_ADDRESS>

Describe your suggested feature
I can't download it because the download link for the app is not available
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with a source, I should be opening an issue in the sources repository.
[X] I have updated the app to version 1.1.12.
[X] I will fill out all of the requested information in this form.

It had to be removed due to some issues, should be back soon.


Expand allowed _FillValue type and error handling in FileMetadataUtilities.F90

Description

This update expands error handling in FileMetadataUtilities to print filename in all calls to _ASSERT and _FAIL. Fail messages about unsupported attribute type now specify the unique type constraint per function. For single precision attribute retrieval there is now handling for double precision input.
Related Issue

Closes https://github.com/GEOS-ESM/MAPL/issues/1489
Motivation and Context

This update prevents run fail when retrieving _FillValue from import files containing double precision data used GCHP. It also expands the error handling so that failure on reading import attributes always results in a unique message with the filename, making it easier to find and fix the problem.
How Has This Been Tested?

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Trivial change (affects only documentation or cleanup)

Checklist:

[ ] I have tested this change with a run of GEOSgcm (if non-trivial)
[X] I have added one of the required labels (0 diff, 0 diff trivial, 0 diff structural, non 0-diff)
[X] I have updated the CHANGELOG.md accordingly following the style of Keep a Changelog

NOTE: I tested this update successfully with GCHP using MAPL 2.18.3. It was not a straightforward cherry-pick due to the addition of _FAIL but I will fix any build issues if they show up in the automatic build test.

@lizziel Okay. Can you update your end to the latest develop. I've fixed the CI issue now.

I rebased on the latest develop. Hopefully this time all will pass.

All looks good. I'll run a GEOSgcm run just to make sure it's happy (I can't see why it wouldn't).


Put memory limits on test docker containers

What does this PR do?
In attempt to reduce test flakyness, we should constraint docker containers available memory.
The values are arbitrary, and should be low enough to always fit our test infrastructure and development machines.

:broken_heart: Tests Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Build Cause: Pull request #1748 opened

Start Time: 2021-04-06T16:11:21.458+0000

Duration: 23 min 21 sec

Commit: 2c8d63814013e2988743e4edfd29ee5e1a6addcf

Test stats :test_tube:

Test
Results

Failed
1

Passed
1334

Skipped
2

Total
1337

Trends :test_tube:

Test errors
Expand to view the tests failures
Tests / Smoke Tests 01 / test – co.elastic.apm.agent.cassandra.Cassandra4InstrumentationIT

Expand to view the error details
 Could not reach any contact point, make sure you've provided valid addresses (showing first 1 nodes, use getAllErrors() for more): Node(endPoint=localhost/<IP_ADDRESS>:49176, hostId=null, hashCode=39294d32): [com.datastax.oss.driver.api.core.connection.ConnectionInitException: [s0|control|id: 0xafbe2c26, L:/<IP_ADDRESS>:58746 - R:localhost/<IP_ADDRESS>:49176] Protocol initialization request, step 1 (OPTIONS): unexpected failure (com.datastax.oss.driver.api.core.connection.ClosedConnectionException: Lost connection to remote peer)]

Expand to view the stacktrace
 com.datastax.oss.driver.api.core.AllNodesFailedException: Could not reach any contact point, make sure you've provided valid addresses (showing first 1 nodes, use getAllErrors() for more): Node(endPoint=localhost/<IP_ADDRESS>:49176, hostId=null, hashCode=39294d32): [com.datastax.oss.driver.api.core.connection.ConnectionInitException: [s0|control|id: 0xafbe2c26, L:/<IP_ADDRESS>:58746 - R:localhost/<IP_ADDRESS>:49176] Protocol initialization request, step 1 (OPTIONS): unexpected failure (com.datastax.oss.driver.api.core.connection.ClosedConnectionException: Lost connection to remote peer)]
	at co.elastic.apm.agent.cassandra.Cassandra4InstrumentationIT.getSession(Cassandra4InstrumentationIT.java:83)
	at co.elastic.apm.agent.cassandra.Cassandra4InstrumentationIT.setUp(Cassandra4InstrumentationIT.java:88)

Steps errors
Expand to view the steps failures

Shell Script

Took 8 min 5 sec . View more details on here
Description: ./scripts/jenkins/smoketests-01.sh

Log output
Expand to view the last 100 lines of log output

[2021-04-06T16:34:37.225Z]     Yaml not found, that's ok! Learn more at http://docs.codecov.io/docs/codecov-yaml
[2021-04-06T16:34:37.225Z] ==> Running gcov in . (disable via -X gcov)
[2021-04-06T16:34:37.464Z] [INFO] Codecov: Sending data...
[2021-04-06T16:34:37.486Z] ==> Python coveragepy not found
[2021-04-06T16:34:37.486Z] ==> Searching for coverage reports in:
[2021-04-06T16:34:37.486Z]     + .
[2021-04-06T16:34:38.002Z] + curl -sSLo codecov.sh https://codecov.io/bash
[2021-04-06T16:34:38.058Z]     -> Found 37 reports
[2021-04-06T16:34:38.058Z] ==> Detecting git/mercurial file structure
[2021-04-06T16:34:38.058Z] ==> Reading reports
[2021-04-06T16:34:38.058Z]     + ./apm-agent-plugins/apm-profiling-plugin/target/site/jacoco/jacoco.xml bytes=336241
[2021-04-06T16:34:38.059Z]     + ./apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/target/site/jacoco/jacoco.xml bytes=5909
[2021-04-06T16:34:38.059Z]     + ./apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/target/site/jacoco/jacoco.xml bytes=5807
[2021-04-06T16:34:38.059Z]     + ./apm-agent-plugins/apm-micrometer-plugin/target/site/jacoco/jacoco.xml bytes=20876
[2021-04-06T16:34:38.059Z]     + ./apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/target/site/jacoco/jacoco.xml bytes=13807
[2021-04-06T16:34:38.059Z]     + ./apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/target/site/jacoco/jacoco.xml bytes=9645
[2021-04-06T16:34:38.059Z]     + ./apm-agent-plugins/apm-grails-plugin/target/site/jacoco/jacoco.xml bytes=6266
[2021-04-06T16:34:38.059Z]     + ./apm-agent-plugins/apm-jdk-httpclient-plugin/target/site/jacoco/jacoco.xml bytes=15356
[2021-04-06T16:34:38.059Z]     + ./apm-agent-plugins/apm-log-shader-plugin/apm-log4j2-plugin/target/site/jacoco/jacoco.xml bytes=13841
[2021-04-06T16:34:38.060Z]     + ./apm-agent-plugins/apm-log-shader-plugin/apm-logback-plugin/apm-logback-plugin-impl/target/site/jacoco/jacoco.xml bytes=17121
[2021-04-06T16:34:38.060Z]     + ./apm-agent-plugins/apm-log-shader-plugin/apm-log-shader-plugin-common/target/site/jacoco/jacoco.xml bytes=12057
[2021-04-06T16:34:38.060Z]     + ./apm-agent-plugins/apm-log-shader-plugin/apm-log4j1-plugin/target/site/jacoco/jacoco.xml bytes=13248
[2021-04-06T16:34:38.060Z]     + ./apm-agent-plugins/apm-mongoclient-plugin/target/site/jacoco/jacoco.xml bytes=12868
[2021-04-06T16:34:38.060Z]     + ./apm-agent-plugins/apm-error-logging-plugin/target/site/jacoco/jacoco.xml bytes=9927
[2021-04-06T16:34:38.060Z]     + ./apm-agent-plugins/apm-jdbc-plugin/target/site/jacoco/jacoco.xml bytes=65449
[2021-04-06T16:34:38.060Z]     + ./apm-agent-plugins/apm-jaxws-plugin/target/site/jacoco/jacoco.xml bytes=4575
[2021-04-06T16:34:38.060Z]     + ./apm-agent-plugins/apm-log-correlation-plugin/target/site/jacoco/jacoco.xml bytes=16514
[2021-04-06T16:34:38.060Z]     + ./apm-agent-plugins/apm-okhttp-plugin/target/site/jacoco/jacoco.xml bytes=34420
[2021-04-06T16:34:38.060Z]     + ./apm-agent-plugins/apm-api-plugin/target/site/jacoco/jacoco.xml bytes=86482
[2021-04-06T16:34:38.060Z]     + ./apm-agent-plugins/apm-asynchttpclient-plugin/target/site/jacoco/jacoco.xml bytes=17775
[2021-04-06T16:34:38.322Z]     + ./apm-agent-plugins/apm-apache-httpclient-plugin/target/site/jacoco/jacoco.xml bytes=41999
[2021-04-06T16:34:38.322Z]     + ./apm-agent-plugins/apm-log-shipper-plugin/target/site/jacoco/jacoco.xml bytes=35921
[2021-04-06T16:34:38.322Z]     + ./apm-agent-plugins/apm-rabbitmq/apm-rabbitmq-plugin/target/site/jacoco/jacoco.xml bytes=30085
[2021-04-06T16:34:38.322Z]     + ./apm-agent-plugins/apm-grpc/apm-grpc-plugin/target/site/jacoco/jacoco.xml bytes=41391
[2021-04-06T16:34:38.322Z]     + ./apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/target/site/jacoco/jacoco.xml bytes=25198
[2021-04-06T16:34:38.322Z]     + ./apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/target/site/jacoco/jacoco.xml bytes=4968
[2021-04-06T16:34:38.323Z]     + ./apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/target/site/jacoco/jacoco.xml bytes=7959
[2021-04-06T16:34:38.323Z]     + ./apm-agent-plugins/apm-redis-plugin/apm-redis-common/target/site/jacoco/jacoco.xml bytes=2973
[2021-04-06T16:34:38.323Z]     + ./apm-agent-plugins/apm-servlet-plugin/target/site/jacoco/jacoco.xml bytes=78668
[2021-04-06T16:34:38.323Z]     + ./apm-agent-plugins/apm-jms-plugin/apm-jms-plugin-base/target/site/jacoco/jacoco.xml bytes=43148
[2021-04-06T16:34:38.323Z]     + ./apm-agent-plugins/apm-httpclient-core/target/site/jacoco/jacoco.xml bytes=5508
[2021-04-06T16:34:38.323Z]     + ./apm-agent-plugins/apm-jaxrs-plugin/target/site/jacoco/jacoco.xml bytes=19262
[2021-04-06T16:34:38.323Z]     + ./apm-agent-plugins/apm-jmx-plugin/target/site/jacoco/jacoco.xml bytes=43085
[2021-04-06T16:34:38.323Z]     + ./apm-agent-plugins/apm-java-concurrent-plugin/target/site/jacoco/jacoco.xml bytes=31729
[2021-04-06T16:34:38.323Z]     + ./apm-agent-premain/target/site/jacoco/jacoco.xml bytes=27672
[2021-04-06T16:34:38.323Z]     + ./apm-agent-core/target/site/jacoco/jacoco.xml bytes=1248988
[2021-04-06T16:34:38.324Z]     + ./apm-agent-plugin-sdk/target/site/jacoco/jacoco.xml bytes=31612
[2021-04-06T16:34:38.324Z] ==> Appending adjustments
[2021-04-06T16:34:38.324Z]     https://docs.codecov.io/docs/fixing-reports
[2021-04-06T16:34:38.652Z] + bash codecov.sh
[2021-04-06T16:34:38.652Z]
[2021-04-06T16:34:38.652Z]   _____          _
[2021-04-06T16:34:38.652Z]  / ____|        | |
[2021-04-06T16:34:38.652Z] | |     ___   __| | ___  ___ _____   __
[2021-04-06T16:34:38.652Z] | |    / _ \ / _` |/ _ \/ __/ _ \ \ / /
[2021-04-06T16:34:38.652Z] | |___| (_) | (_| |  __/ (_| (_) \ V /
[2021-04-06T16:34:38.652Z]  \_____\___/ \__,_|\___|\___\___/ \_/
[2021-04-06T16:34:38.652Z]                               Bash-20210309-2b87ace
[2021-04-06T16:34:38.652Z]
[2021-04-06T16:34:38.652Z]
[2021-04-06T16:34:38.652Z] ==> git version 2.17.1 found
[2021-04-06T16:34:38.652Z] ==> curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
[2021-04-06T16:34:38.652Z] Release-Date: 2018-01-24
[2021-04-06T16:34:38.652Z] Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
[2021-04-06T16:34:38.652Z] Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL
[2021-04-06T16:34:38.652Z] ==> Jenkins CI detected.
[2021-04-06T16:34:38.652Z]     project root: .
[2021-04-06T16:34:38.652Z] --> token set from env
[2021-04-06T16:34:38.652Z]     Yaml not found, that's ok! Learn more at http://docs.codecov.io/docs/codecov-yaml
[2021-04-06T16:34:38.652Z] ==> Running gcov in . (disable via -X gcov)
[2021-04-06T16:34:38.896Z]     -> No adjustments found
[2021-04-06T16:34:38.896Z] ==> Gzipping contents
[2021-04-06T16:34:38.914Z] ==> Python coveragepy not found
[2021-04-06T16:34:38.914Z] ==> Searching for coverage reports in:
[2021-04-06T16:34:38.914Z]     + .
[2021-04-06T16:34:39.157Z]         176K	/tmp/codecov.LLf9MH.gz
[2021-04-06T16:34:39.157Z] ==> Uploading reports
[2021-04-06T16:34:39.157Z]     url: https://codecov.io
[2021-04-06T16:34:39.157Z]     query: branch=SylvainJuge%2Flimit-testcontainers-memory&commit=2c8d63814013e2988743e4edfd29ee5e1a6addcf&build=1&build_url=https%3A%2F%2Fapm-ci.elastic.co%2Fjob%2Fapm-agent-java%2Fjob%2Fapm-agent-java-mbp%2Fjob%2FPR-1748%2F1%2F&name=&tag=&slug=elastic%2Fapm-agent-java&service=jenkins&flags=&pr=1748&job=&cmd_args=
[2021-04-06T16:34:39.157Z] ->  Pinging Codecov
[2021-04-06T16:34:39.157Z] https://codecov.io/upload/v4?package=bash-20210309-2b87ace&token=secret&branch=SylvainJuge%2Flimit-testcontainers-memory&commit=2c8d63814013e2988743e4edfd29ee5e1a6addcf&build=1&build_url=https%3A%2F%2Fapm-ci.elastic.co%2Fjob%2Fapm-agent-java%2Fjob%2Fapm-agent-java-mbp%2Fjob%2FPR-1748%2F1%2F&name=&tag=&slug=elastic%2Fapm-agent-java&service=jenkins&flags=&pr=1748&job=&cmd_args=
[2021-04-06T16:34:39.487Z] --> No coverage report found.
[2021-04-06T16:34:39.487Z]     Please visit http://docs.codecov.io/docs/supported-languages
[2021-04-06T16:34:39.733Z] ->  Uploading to
[2021-04-06T16:34:39.733Z] https://storage.googleapis.com/codecov/v4/raw/2021-04-06/9D96A76C16FC0F1A9E828BAAD4B02DD6/2c8d63814013e2988743e4edfd29ee5e1a6addcf/1584447f-0944-48e1-8917-7da872bfa52e.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EQM3VGPYSAFECJRMNAFIPCV2R3P2BOORCJC7NM537NPJQSFLHUDNIDWA%2F20210406%2FUS%2Fs3%2Faws4_request&X-Amz-Date=20210406T163439Z&X-Amz-Expires=10&X-Amz-SignedHeaders=host&X-Amz-Signature=9b0a78ffadc5cf4b3cb6cadb89a6e22078d5cab676dea97c377efc58a3bd0ab2
[2021-04-06T16:34:39.734Z]   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
[2021-04-06T16:34:39.734Z]                                  Dload  Upload   Total   Spent    Left  Speed
[2021-04-06T16:34:39.734Z]
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  174k    0     0  100  174k      0  1040k --:--:-- --:--:-- --:--:-- 1040k
[2021-04-06T16:34:39.734Z]     -> Reports have been successfully queued for processing at https://codecov.io/github/elastic/apm-agent-java/commit/2c8d63814013e2988743e4edfd29ee5e1a6addcf
[2021-04-06T16:34:39.935Z] Failed in branch Smoke Tests 02
[2021-04-06T16:34:40.205Z] Failed in branch Unit Tests
[2021-04-06T16:34:40.527Z] Stage "Integration Tests" skipped due to earlier failure(s)
[2021-04-06T16:34:40.636Z] Stage "AfterRelease" skipped due to earlier failure(s)
[2021-04-06T16:34:40.684Z] Stage "AfterRelease" skipped due to earlier failure(s)
[2021-04-06T16:34:41.293Z] Running on Jenkins in /var/lib/jenkins/workspace/_java_apm-agent-java-mbp_PR-1748
[2021-04-06T16:34:41.407Z] [INFO] getVaultSecret: Getting secrets
[2021-04-06T16:34:41.660Z] Masking supported pattern matches of $VAULT_ADDR or $VAULT_ROLE_ID or $VAULT_SECRET_ID
[2021-04-06T16:34:42.668Z] + chmod 755 generate-build-data.sh
[2021-04-06T16:34:42.668Z] + ./generate-build-data.sh https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-java/apm-agent-java-mbp/PR-1748/ https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-java/apm-agent-java-mbp/PR-1748/runs/1 FAILURE 1400932
[2021-04-06T16:34:42.919Z] INFO: curl https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-java/apm-agent-java-mbp/PR-1748/runs/1/steps/?limit=10000 -o steps-info.json

:bug: Flaky test report
:grey_exclamation: There are test failures but not known flaky tests.

Expand to view the summary

Test stats :test_tube:

Test
Results

Failed
1

Passed
1334

Skipped
2

Total
1337

We can't really rename them all with IT nor consider those using Testcontainers to be integration tests, as some of them are unit tests. For example, the RabbitMQ plugin is a good example of this where common instrumentation is tested with one RabbitMQ version and is then tested with multiple versions in integration tests.
However, I think once we have migrated to Junit5, using appropriate groups/tags to allow running subsets of tests would be relevant.

For example, the RabbitMQ plugin is a good example of this where common instrumentation is tested with one RabbitMQ version and is then tested with multiple versions in integration tests.

I don't understand why. There is no rigid definition of what integration test is, but let's assume it means a test that spins and communicates with another process that runs some complex third party software (not mock APM server for that matter). Then if a test is doing that, it gets this suffix, otherwise it doesn't. In fact, the RabbitMQ test was lately renamed to reflect that, and its two subclasses are suffixed with IT as well.

Codecov Report

Merging #1748 (319c8cf) into master (d7de9d2) will increase coverage by 13.41%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master    #1748       +/-   ##
=============================================
+ Coverage     61.13%   74.55%   +13.41%
+ Complexity     3607     2488     -1119
=============================================
  Files           402      219      -183
  Lines         18294    10532     -7762
  Branches       2509     1360     -1149
=============================================
- Hits          11184     7852     -3332
+ Misses         6323     2133     -4190
+ Partials        787      547      -240

Impacted Files
Coverage Δ
Complexity Δ

...astic/apm/agent/metrics/builtin/CGroupMetrics.java
66.34% <0.00%> (-2.89%)
19.00% <0.00%> (-2.00%)

...tic/apm/agent/report/ssl/TLSFallbackSSLSocket.java
39.13% <0.00%> (-2.18%)
20.00% <0.00%> (ø%)

...ging/Slf4jLoggerErrorCapturingInstrumentation.java

.../httpclient/HttpClientRequestPropertyAccessor.java

...tic/apm/agent/profiler/ProfilingConfiguration.java

...ava/co/elastic/apm/agent/jmx/MapsTokenScanner.java

...pm/agent/profiler/ProfilingActivationListener.java

...o/elastic/apm/agent/profiler/SamplingProfiler.java

...m/agent/grpc/ServerCallHandlerInstrumentation.java

...nt/rabbitmq/SetMessageListenerInstrumentation.java

... and 175 more

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 d7de9d2...319c8cf. Read the comment docs.


Split the server Connection type into version-specific submodules

The server::conn type, Connection, should get version-specific types in submodules http1 and http2.

Hey @seanmonstar, I think I'd like to work on this next.
However, I need a few additional pointers before I can start:

Do we want to split only the Connection type, or all/most of the types in the server::conn? Is it just that we want to start simple, as the same argument can be made for the rest of the file?
There will be some code duplication. Are we okay with that, or should we abstract to some common free functions?
There are methods that require both http1 and http2 features, like upgrade_h2. Just to sanity check, that would be a method in http1::Connection that would still require both features enabled, take self by value and return http2::Connection.

I'd ask you for clarifications, confirmation that we still want to work on this, and maybe some new thoughts that you had about the topic.

Yes, this is something that still needs to be done.

Do we want to split only the Connection type, or all/most of the types in the server::conn?

Lemme take a look... I think that the types currently in server::conn should be remove from the public API. Connection should exist in both. So should a builder. The Addr* types are gone already. The Connecting should be gone as well, if not already.

Duplication ... should we abstract to some common free functions?

Some duplication is fine. It's also fine to refactor to some free functions in server::conn, as long as they stay private. De-duplication is less urgent than getting the API breaking changes in place, so we can ship the RC.

There are methods that require both http1 and http2 features, like upgrade_h2

Those should likely be removed, to start with. We can add them back in a way that hyper_util::server::AutoConnection could handle either version. (That's part of the goal of #2852, but the urgency is lower).

Those should likely be removed, to start with. We can add them back in a way that hyper_util::server::AutoConnection could handle either version. (That's part of the goal of https://github.com/hyperium/hyper/issues/2852, but the urgency is lower).

Do the connections  then become simple-wrappers around the underlying dispatchers?
http2 definitely can be, and if we remove fallback from http1::Conneciton then I believe it can be as well


RBAC permissions required for Prometheus and node exporter for Kubernetes 1.6

Essentially I just need a list of permissions that is required for Prometheus and node exporter to function, like what we have for Net.

Closing in favour of #392, as there is more info there.


Add the new RMB Relay

https://github.com/threefoldtech/rmb-rs
using https://github.com/threefoldtech/rmb-rs/pkgs/container/rmb-relay

First attempt https://github.com/threefoldtech/grid_deployment/commit/eb93d59d4fd033ab2bfe98009aa4219f6c40a1b0

https://github.com/threefoldtech/grid_deployment/commit/217a75a5cacc71eb019de7f19334ae3adf90d83b


Throttling fails when multiple calls are made in quick succession

Hi, thanks for creating an excellent module. I am encountering one issue, where if multiple calls are made before the callbacks settle, then the throttling can fail. Example:
var myThrottle = require('tokenthrottle')({
    rate: 1,
    window: 10 * 1000
});

function getToken() {
    myThrottle.rateLimit('abc', function(err, limited) {
        if (err) console.log(err);
        else console.log(limited);
    });
}

getToken();
getToken();

Expected output:
false
true

Actual output:
false
false

Yup, I ran into this too.  The library is not usable for mid-to-high concurrency environments.  It doesn't use concurrency-sensitive manipulation of the payload.  If there are several concurrent requests in a node server, or multiple servers, they may each fetch the current limit, say, 100, then decrement to 99 and each write back 99 when it should be 97.


Fix latest posts pluing. Fix #112

Coverage decreased (-0.34%) to 95.99% when pulling 74c0ae621a3e43c0183088a55d8f6e77d684592b on fix/plugin_category into ca4909182f8940d31b9db7af4260ab7f76575630 on develop.

Coverage decreased (-0.34%) to 95.99% when pulling 74c0ae621a3e43c0183088a55d8f6e77d684592b on fix/plugin_category into ca4909182f8940d31b9db7af4260ab7f76575630 on develop.

Coverage increased (+0.01%) to 96.34% when pulling 74c0ae621a3e43c0183088a55d8f6e77d684592b on fix/plugin_category into ca4909182f8940d31b9db7af4260ab7f76575630 on develop.


Added GetPrecondition() to ModuleInfo and CommandInfo

An easier way of getting Preconditions for modules and commands without having to use LINQ on x.Preconditions yourself.

@FiniteReality

Personally I feel that these should be extension methods as they don't add
that much new functionality.
Also, I'm not sure how your logic handles multiple preconditions inheriting
from the same base precondition, e.g.:
class MyBasePrecondition : Precondition attribute { }
class MySubPrecondition1 : MyBasePrecondition { }

If both of these preconditions were specified on a module or command, I
think that trying to retrieve one may instead retrieve the other, which I
think is confusing behaviour. You could filter the preconditions based on
the initial condition, and then do further filtering to be more specific if
multiple preconditions are found.
On 27 Feb 2017 14:30, "Khionu Sybiern"<EMAIL_ADDRESS>wrote:

@FiniteReality https://github.com/FiniteReality
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/RogueException/Discord.Net/pull/541#issuecomment-282735690,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AUBv-r150dRydzAOd6FlPMsuTpcvj5kQks5rgt36gaJpZM4MMwsQ
.

I actually have to agree with the point made, regarding inheritance. That is undesirable behavior, if it could pull only the first of 3. The MyBasePrecondition would grab either, so the type matching should be a bit more explicit.
That said, it's worth considering whether it would be worth fixing it, given Reflection would be necessary

Resolved the issue described by @FiniteReality.

Can't this whole thing be reduced to a single Preconditions.OfType<T>() call?

That does appear to be the case now.

I should've closed this a while ago. Whoops.


crypt: Added option to encrypt directory names or leave them intact - #1240

This PR adds an extra option that allows users to choose whether they want to encrypt directory names or leave them intact.
Example:
1/12/123.txt is encrypted to 1/12/qgm4avr35m5loi1th53ato71v0 when directory names are not encrypted.
Addresses #1240

Hey @ncw, would you know why Appveyor builds are failing?
From what I tell from the error
  expected: mounttest.dirMap{"a directory/":struct {}{}, "a file 5":struct {}{}}
  actual: mounttest.dirMap{"a directory/":struct {}{}}

is caused by this assert failing.
Looks like ioutil.ReadDir(realPath) returns only one item but the test expects 2 items, one dir and one file.

@ishuah wrote

Looks like ioutil.ReadDir(realPath) returns only one item but the test expects 2 items, one dir and one file.

That is a correct interpretation.
I'm not sure why it failed - I've kicked the build off again to see if it fails again.

Thanks @ncw!

Sorry about that, pushed an amending commit.

That looks great - thanks :-)


Switch the order of delete, delete pods before deleting nodes.

https://github.com/GoogleCloudPlatform/kubernetes/issues/12545
@davidopp @roberthbailey @fgrzadkowski

LGTM.

After this gets merged you'll be signed up to review graceful deletion because my changes move all this around. Is there an easy unit test possible here to verify order?

I made a comment on the issue (#12545)

I'm merging this b/c I want to cherry-pick this.  @smarterclayton I'm happy to review your code.

Any insight into what the P0 problem was that motivated a hasty LGTM, self-merge, and cherrypick?


Please upload new code into pypi

version 0.6.0 in pypi didn't fix the UTF-8 bug. Windows will have problem installing htbuilder and st-annotated-text

This is solved by release 0.6.1


docs(guidelines): fix E2E test by removing broken links

Fixes https://github.com/otto-ec/techwriting_hub/issues/115 .
Introduced with https://github.com/otto-de/api-guidelines/pull/62/files (readme file has been removed).

Thanks a lot @cgebken 🚀


as requested:  Support for GCE (but I'd rather support for bare metal!)

;)
GCE is my favorite public cloud though.

Yes, let's add GCE support. I think we have working prototype somewhere, just need some time to polish.

Should be now fairly simple to implement this as a plugin since we have the plugin "framework" in place.


Selector proposal

Hi,
Our proposal for issue 47. It should support the same functionality as nuclear-js getters.
Robert

This is interesting. We need to choose what we want to support and what we want to push into userland, and whether we want to have “blessed” userland packages.
If @acdlite, @faassen, @goatslacker could give some feedback on what they think what core/non-core distinction would be appropriate, that would be awesome. Personally, I'm leaning to create a Github org and have a few supported add-ons like this one that would be versioned separately.

nuclear-js keypaths can be arrays too, so you can do something like:
// state: { foo: { bar: 1 }, baz: { fab: 2 } }
[['foo', 'bar'], ['baz', 'fab'], (foobar, bazfab) => ...]

I agree with @aaronjensen that there needs to be some kind of Connector level memoization. Say you generally use the same selector in two components but with different parameters, then you won't be making use of the cached results since one will be invalidating the other.

@leoasis That's true but isn't it a different selector in this case?
Because both selectors operate on the same global state. Either it is the same or not.

Yeah but I was talking mainly about parametrized selectors. Something like isTodoCompleted(todoId)
If I use createBuffered to define that selector, it will get invalidated by different todoIds

@leoasis That's true but i would argue that this still can be solved using the proposed selector approach.
If todoId is part of the central state, there must be a selector available selecting it.
In case the selector depends on a component property it would have to be composed in the component itself or created on the fly as an input of the selector depends on the component property instead of the central state.
createSelector(todoSelector, state => todoId, isTodoCompleted);
It could furthermore be argued, that it isn't a selector at all as it is not a pure function on the central redux state.

Yeah i guess you're right, makes sense.

I started to write a lot of stuff on extensions and core, but that's going to be rather long so I may write a blog entry about that sometime. A separate github org with core and extensions in it makes sense. There is some expectation that the maintainers of the core care about the extensions the organization. There's no need to go for an extension just so you get modularity, though.

Hi again!
I don't currently plan to bring it as is to Redux, but I asked @faassen and @ellbee to play around with it, and after tweaking the API, they came up with reselect. I think it solves the same problem as this PR, so I'm closing it in favor of reselect.
Thanks again for your PR, as it served as the starting point for reselect.

Nice that @faassen and @ellbee have taken over. But imho a comment to our original source code would have been fair.

@speedskater I absolutely agree. We'll get that sorted out today. Sorry.
cc @faassen

@ellbee thanks :). And nice work that you streamlined the selector approach into a pure functional one.

@speedskater I agree as well you deserve a lot of the credit: we basically just looked at your code and refactored it a bit. We discussed adding credits in the codebase already, but we did this as the hackathon before React Europe and after that there was the conference, so we had little chance for followup yet.

@ellbee already added your github nick to the README. I now also added a CREDITS file to track contributions. I've used your github nick as I don't know your real name; if you want me to put in your real name let me know.

Thanks for adding. Regarding the realnames could you please add my realname Robert Binna and the realname of my coworker Philip Spitzlinger to the credits as the initial draft was the result of a pair programming session.

Ah, I see someone already added the real names to CREDITS. Great!

Formally, you'd also need to agree on the license (MIT?).

Ah, good point. I've just added a MIT license. Thanks!


Prevent unnecessary reconciliations of Server and ServerClaim

Summary
It seems like the force patch update of resource is causing an unnecessary amount of reconciliations of resources (e.g. Server and ServerClaim). As a side effect this puts also unnecessary load on the BMCs as the client is always instantiated.

Fixed with #71


Set up redirects for the MVP lists

Description
The old website had listing of MVPs, but the new one has a search which is a great improvement, but the old links do not work anymore.
Possible Fix
Need redirects for the following URLs to the search page:
https://mvp.sitecore.com/mvps -> https://mvp.sitecore.com/Search
https://mvp.sitecore.com/mvps/2021 -> https://mvp.sitecore.com/Search?fc_personyear=2021
https://mvp.sitecore.com/mvps/2020 -> https://mvp.sitecore.com/Search?fc_personyear=2020
https://mvp.sitecore.com/mvps/2019 -> https://mvp.sitecore.com/Search?fc_personyear=2019
https://mvp.sitecore.com/mvps/2018 -> https://mvp.sitecore.com/Search?fc_personyear=2018
https://mvp.sitecore.com/mvps/2017 -> https://mvp.sitecore.com/Search?fc_personyear=2017
https://mvp.sitecore.com/mvps/2016 -> https://mvp.sitecore.com/Search?fc_personyear=2016
https://mvp.sitecore.com/mvps/2015 -> https://mvp.sitecore.com/Search?fc_personyear=2015
https://mvp.sitecore.com/mvps/2014 -> https://mvp.sitecore.com/Search?fc_personyear=2014
https://mvp.sitecore.com/mvps/2008 -> https://mvp.sitecore.com/Search?fc_personyear=2008

this is fixed


Debug Tool

A comprehensive debugging tool for tracking down issues.
Include:

Color-based state information (quickly look at a behavior and know its state)
Frame-by-frame snapshotting
ADVANCED Debugging information (possible failures, etc?)

This first version (most likely) will not include real-time information as there are many issues currently with how unity serializes information from C# scripts to the C++ backend (and back). This includes such horrific things as stripping all inherited class details, losing access to the real instances of the behavior tree upon re-serialization/scene changing/etc, and bad cycle detection from unity's serialization police...
Currently I am using Netwonsoft JSON.net to do custom serialization to work around some of these issues, but I still lose the actual class data for the instances that are actually being used... So for now I can't see doing real-time debugging at this time. (but definitely want it in the future! =P)

UPDATE: Using reactive programming this should be MUCH simpler to implement without stringing debugging code EVERYWHERE.
Also real-time debugging information should be available using reactive programming/events. Currently working on #4  to switch to Rx style using uniRx.

Update: I have this working on a new branch... actually I've had it in the debugger branch for quite a few months... It most definitely does include real-time events and tick information, so HA! Eat that, past self! 😛

Closing this as this is working as intended in the newest build. Will need improvement, but that wasn't the point of this issue. :)


Move Apifox.Apifox 2.3.6 to Ruihu.Apifox 2.3.6

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

[Policy] Reset Feedback

[Policy] Approved


[C-668] Large numbers should be abbreviated in app + email report

suggestions:
numbers > 1,000 = 1.7k
numbers > 1m = 1.3m

From SyncLinear.com | C-668

@jonathimer @joanagmaia I'm interest in working on this. Can you please assign this issue to me?


Country's name field should be blank=True

pycountries does not have an official name for every country, so many get populated with an empty string:
Country.objects.filter(name='').count()      # 77

When you then try to edit one of them via django admin you will get an error on save when leaving the "official name" field blank since it does not have blank=True.

@mvantellingen finally got to implement this using your suggestion. Added support of updating countries as well.

Since now countries update support, empty names for existing countries could fixed just by executing oscar_populate_countries command, initial population was fixed as well in 68bc575c3082002be7c1b32e097d3589c4227f22.


Added missing tests for django settings fallback

Coverage remained the same at 100.0% when pulling f90ae610de584f726e068f5c3cde5cfe18a01b4b on mkay849:master into 2307b8929af42f4ff16949b35f335c9c743617ea on NB-Dev:master.

Coverage remained the same at 100.0% when pulling f90ae610de584f726e068f5c3cde5cfe18a01b4b on mkay849:master into 2307b8929af42f4ff16949b35f335c9c743617ea on NB-Dev:master.