Openshift : Unable to run spark application on enabling mutating webhook

Openshift version 4.6.16 and 4.3.40
Installed spark operator using helm chart : helm install spark-operator spark-operator/spark-operator --namespace spark-operator --create-namespace --set image.tag=latest --set webhook.enable=true

Installation goes through smoothly.
Deployed a custom spark application using the following manifest. The manifest uses volume mounts. On deploying the app, the driver fails. Removing the volume mount specs from the manifest yaml and redeploying, the app runs successfully
Manifest yml
apiVersion: "sparkoperator.k8s.io/v1beta2"
kind: SparkApplication
metadata:
  name: spark-streaming-producer-python
  namespace: default
spec:
  type: Python
  pythonVersion: "3"
  mode: cluster
  image: "quay.io/gauravbh1/spark-consumer:latest"
  imagePullPolicy: Always
  mainApplicationFile: local:///app/src/stream.py
  sparkVersion: "3.0.0"
  restartPolicy:
    type: OnFailure
    onFailureRetries: 5
    onFailureRetryInterval: 11
    onSubmissionFailureRetries: 5
    onSubmissionFailureRetryInterval: 20
  volumes:
    - name: spark-work
      emptyDir: {}
  driver:
    cores: 1
    coreLimit: "1200m"
    memory: "2048m"
    labels:
      version: 3.0.0
    volumeMounts:
      - name: spark-work
        mountPath: /app/src
    serviceAccount: spark
  executor:
    cores: 1
    instances: 1
    memory: "1024m"
    labels:
      version: 3.0.0

App driver log has the following logs

++ id -u

myuid=0
++ id -g
mygid=0
set +e
++ getent passwd 0
uidentry=root:x:0:0:root:/root:/bin/bash
set -e
'[' -z root:x:0:0:root:/root:/bin/bash ']'
SPARK_CLASSPATH=':/opt/spark/jars/*'
env
grep SPARK_JAVA_OPT_
sort -t_ -k4 -n
sed 's/[^=]=(.)/\1/g'
readarray -t SPARK_EXECUTOR_JAVA_OPTS
'[' -n '' ']'
'[' -z ']'
'[' -z ']'
'[' -n '' ']'
'[' -z ']'
'[' -z x ']'
SPARK_CLASSPATH='/opt/spark/conf::/opt/spark/jars/*'
case "$1" in
shift 1
CMD=("$SPARK_HOME/bin/spark-submit" --conf "spark.driver.bindAddress=$SPARK_DRIVER_BIND_ADDRESS" --deploy-mode client "$@")
exec /usr/bin/tini -s -- /opt/spark/bin/spark-submit --conf spark.driver.bindAddress=<IP_ADDRESS> --deploy-mode client --properties-file /opt/spark/conf/spark.properties --class org.apache.spark.deploy.PythonRunner local:///app/src/stream.py
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/opt/spark/jars/spark-unsafe_2.12-3.1.1.jar) to constructor java.nio.DirectByteBuffer(long,int)
WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
21/04/20 13:49:49 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
python3: can't open file '/app/src/stream.py': [Errno 2] No such file or directory
log4j:WARN No appenders could be found for logger (org.apache.spark.util.ShutdownHookManager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Spark-operator pod logs (partial logs pasted)

I0420 13:44:47.666663      11 event.go:274] Event(v1.ObjectReference{Kind:"SparkApplication", Namespace:"default", Name:"spark-streaming-producer-python", UID:"ebce0b97-493c-45c1-ad0c-e764edd28cb3", APIVersion:"sparkoperator.k8s.io/v1beta2", ResourceVersion:"4343067", FieldPath:""}): type: 'Normal' reason: 'SparkDriverRunning' Driver spark-streaming-producer-python-driver is running
I0420 13:44:47.697604      11 controller.go:218] SparkApplication default/spark-streaming-producer-python was updated, enqueueing it
I0420 13:44:47.698031      11 metrics.go:112] Incrementing spark_app_running_count with labels map[app_type:Unknown]
I0420 13:44:47.698084      11 controller.go:265] Ending processing key: "default/spark-streaming-producer-python"
I0420 13:44:47.698130      11 controller.go:258] Starting processing key: "default/spark-streaming-producer-python"
I0420 13:44:47.698540      11 controller.go:265] Ending processing key: "default/spark-streaming-producer-python"
I0420 13:44:52.802800      11 spark_pod_eventhandler.go:58] Pod spark-streaming-producer-python-driver updated in namespace default.
I0420 13:44:52.802861      11 spark_pod_eventhandler.go:95] Enqueuing SparkApplication default/spark-streaming-producer-python for app update processing.
I0420 13:44:52.802936      11 controller.go:258] Starting processing key: "default/spark-streaming-producer-python"
I0420 13:44:52.803252      11 controller.go:773] Update the status of SparkApplication default/spark-streaming-producer-python from:
{
"sparkApplicationId": "spark-82c629ad1cb84f45b40634cb1441b145",
"submissionID": "e1ece93a-c97b-417a-8ac7-740742142ec8",
"lastSubmissionAttemptTime": "2021-04-20T13:44:43Z",
"terminationTime": null,
"driverInfo": {
"webUIServiceName": "spark-streaming-producer-python-ui-svc",
"webUIPort": 4040,
"webUIAddress": "<IP_ADDRESS>:4040",
"podName": "spark-streaming-producer-python-driver"
},
"applicationState": {
"state": "RUNNING"
},
"executionAttempts": 2,
"submissionAttempts": 1
}
to:
{
"sparkApplicationId": "spark-82c629ad1cb84f45b40634cb1441b145",
"submissionID": "e1ece93a-c97b-417a-8ac7-740742142ec8",
"lastSubmissionAttemptTime": "2021-04-20T13:44:43Z",
"terminationTime": "2021-04-20T13:44:52Z",
"driverInfo": {
"webUIServiceName": "spark-streaming-producer-python-ui-svc",
"webUIPort": 4040,
"webUIAddress": "<IP_ADDRESS>:4040",
"podName": "spark-streaming-producer-python-driver"
},
"applicationState": {
"state": "FAILING",
"errorMessage": "driver container failed with ExitCode: 2, Reason: Error"
},
"executionAttempts": 2,
"submissionAttempts": 1
}
I0420 13:44:52.803855      11 event.go:274] Event(v1.ObjectReference{Kind:"SparkApplication", Namespace:"default", Name:"spark-streaming-producer-python", UID:"ebce0b97-493c-45c1-ad0c-e764edd28cb3", APIVersion:"sparkoperator.k8s.io/v1beta2", ResourceVersion:"4343089", FieldPath:""}): type: 'Warning' reason: 'SparkDriverFailed' Driver spark-streaming-producer-python-driver failed
I0420 13:44:52.854076      11 metrics.go:125] Decrementing spark_app_running_count with labels map[app_type:Unknown] metricVal to 0
I0420 13:44:52.854142      11 controller.go:265] Ending processing key: "default/spark-streaming-producer-python"
I0420 13:44:52.855704      11 controller.go:218] SparkApplication default/spark-streaming-producer-python was updated, enqueueing it
I0420 13:44:52.855842      11 controller.go:258] Starting processing key: "default/spark-streaming-producer-python"
I0420 13:44:52.856100      11 controller.go:265] Ending processing key: "default/spark-streaming-producer-python"
I0420 13:44:54.330624      11 webhook.go:246] Serving admission request
I0420 13:44:54.331481      11 webhook.go:540] Pod  in namespace openshift-operator-lifecycle-manager is not subject to mutation

Note : I don't see the tls related errors as described in some other issues.
Is there an alternative way of installing the operator with mutating webhooks? This issue prevents us from using volume mounts in the app.

I tried with the following helm install spark-operator spark-operator/spark-operator --namespace spark-operator --create-namespace --set webhook.enable=true --set image.tag=latest  and it worked this time.
Does the order of --set webhook.enable and --set image.tag have any relevance?


Ho

I am working on a messaging app using AWS AppSync.
I have the following message type...
    type Message
        @model
        @auth(
            rules: [
                { allow: groups, groups: ["externalUser"], operations: [] }
            ]
        ) {
        id: ID!
        channelId: ID!
        senderId: ID!
        channel: Channel @connection(fields: ["channelId"])
        createdAt: AWSDateTime!
        text: String
    }

And I have a subscription onCreatemessage. I need to filter the results to only channels that the user is in. So I get a list of channels from a permissions table and add the following to my response mapping template.
    $extensions.setSubscriptionFilter({
        "filterGroup": [
            {
               "filters" : [
                    {
                        "fieldName" : "channelId",
                        "operator" : "in",
                        "value" : $context.result.channelIds
                    }
               ]
            }
        ]
    })

    $util.toJson($messageResult)

And it works great. But if a user is in more than 5 channels, I get the following error.
{
    "message": "Connection failed: {"errors":[{"message":"subscription exceeds maximum value limit 5 for operator `in`.","errorCode":400}]}"
}

So how can I filter with more than 5 channels.

Hey @LeoReubelt :wave: thanks for raising this and apologies for the delay here!! It appears this is a limitation of AppSync where we are not able to exceed 5 values for the in operator. Could it be possible to instead leverage a combination of Cognito custom attributes and owner auth with a custom identity claim to achieve similar results without the constraint? Or perhaps if you feel you will not exceed a limit of 500 channels, could Cognito User Pool Groups with group authorization be an option?
type Todo @model  @auth(rules: [
  { allow: owner },
  { allow: owner, identityClaim: "custom:channels", ownerField: "channels" }
]) {
  // ...
  channels: [String]
}

thanks for the suggestions @josefaidt.  i have to look into the first option (cognito custom attributes, owner auth, custom identity claim). a limit of 500 channels will not work.


Bundling, import.meta and url rewriting

One of the major goals of this proposal is to have a simpler bundling target, however like existing bundling the current proposal breaks the way that import.meta.url (and potentially import.meta.resolve in future) work.
For example suppose we do this is a module today:
// https://domain.tld/path/to/lib/renderIcon.js

const iconURL = new URL("./img.png", import.meta.url);

export default function renderIcon() {
  const img = document.createElement("img");
  img.src = iconURL;
  return img;
}

// https://domain.tld/path/to/main.js
import renderIcon from "./lib/renderIcon.js";

// do something with renderIcon

With a naive bundling strategy one would generate the following module:
module "#./lib/renderIcon.js" {
  const iconURL = new URL("./img.png", import.meta.url);

  export default function renderIcon() {
    const img = document.createElement("img");
    img.src = iconURL;
    return img;
  }
}

import renderIcon from "#./lib/renderIcon.js";

// do something with renderIcon

Now this obviously breaks as now new URL("./img.png", import.meta.url) points to the wrong URL as import.meta.url is now within a different folder. In order to resolve this, bundlers will need to repair import.meta.url, and would have to do so basically eternally into the future.
This becomes particularly problematic when import.meta.url is used both for loading modules and for resources, for example suppose we have the module:
const resolveShader = (name: string) => new URL(`./shaders/${ name }.js`, import.meta.url);
const resolveTexture = (name: string) => new URL(`./textures/${ name }.js`, import.meta.url);

export default function createBackground(shaderName: string, textureName: string) {
  assert(shaderName.match(IDENTIFIER_NAME));
  assert(shaderName.match(IDENTIFIER_NAME));

  const shader = await import(resolveShader(shaderName));
  const texture = await fetch(resolveTexture(shaderName));
}

Now suppose a bundle is generated:
module "#./shaders/shader1.js" {
  // ...
}

module "#./shaders/shader2.js" {
  // ...
}

module "./createBackground.js" {
  const resolveShader = (name: string) => new URL(`./shaders/${ name }.js`, import.meta.url);
  const resolveTexture = (name: string) => new URL(`./textures/${ name }.js`, import.meta.url);

  export default function createBackground(shaderName: string, textureName: string) {
    assert(shaderName.match(IDENTIFIER_NAME));
    assert(shaderName.match(IDENTIFIER_NAME));

    const shader = await import(resolveShader(shaderName));
    const texture = await fetch(resolveTexture(shaderName));
  }
}

There is not really any reasonble simple transform for import.meta.url that can ensure it continues to work for resources, but also resolves internally to the module for the JS parts.
This is exacerbated with proposals like import.meta.resolve that add more complexity about what these resolutions even mean.
Similarly import rewriting makes things more complicated as now specifiers potentially need extra transforms in places like import() to function correctly.

Now I have an idea for a solution that I mention here based on another issue, and in fact this issue is raised in response to concerns I had from thinking about that.
In particular I'd propose that module fragments should be able to be identified with arbitrary strings rather than just #fragment names. These names would be treated as if they were canonical urls resolved in the same way as specifiers are today.
For example suppose we have the following module:
// https://domain.tld/path/to/mod.js

module "./lib/assert.js" {
  // is https://domain.tld/path/to/lib/assert.js
  console.log(import.meta.url);

  export default function assert() {

  }
}

import assert from "./lib/assert.js";

In this case, we would treat the fragment module as being at https://domain.tld/path/to/mod.js for the purposes of import.meta.url and friends. Similarly for any import/import() emerging from within mod.js, we treat this module fragment as being canonical for that URL (unless overriden by say an import map). This way features like import.meta.url are preserved as is, specifier resolution is simple and relatively obvious, and things like bundling are almost as simple as inlining.
Now these canonicalizations of URLs would only apply inside the module, if canonicalization of urls is desired outside an import map could be used to map them to this module as per usual.
This also means bare specifiers can be used without import maps, if they are inlined into the module. However import maps would still take precendence (although that may map it directly back which would be permissible).

I agree with your analysis that the fragment-based approach forces bundlers to continue to rewrite URLs of ES modules (not just for import.meta.url but for all imports, unless you use an import map entry per module, which is not the intended deployment mode for import maps). The question is whether we consider this problem bad enough to be worth the costs that would come from allowing more general specifiers.

It's important to note that the meta-context of a module is changed by bundling it. Thinking host-agnostically about import.meta and all of its theoretical use cases, it's an unavoidable requirement that a bundler which preserves runtime behaviour has to hardcode the value of import.meta according to the host environment's specification.
For this reason I think the goal of coincidentally preserving the value of import.meta.url is a bit misconceived. And inline module identification which works by overriding external resource specifiers has no basis except for achieving this.

Just wanted to voice my support for @Jamesernator's idea around using arbitrary strings analogous to how import specifiers work currently.
From the perspective of someone designing a new bundler, an extremely desirable capability this enables is bundling module code as-is without any transforms while preserving most (afaik all?) semantics.
This means bundlers can just string together bytes from different modules blindly interleaved with some data in between for the declaration boilerplate, without having to modify or even inspect them. It makes bundling simple and cheap enough to be performed on-demand at request time (say by CDN nodes) without introducing any additional latency or memory/compute usage to buffer individual module contents in order to transform them.
I'd love to hear more about the specific costs and limitations people are concerned about with this approach and help think about how we can solve for them, because the capability it enables feels extremely compelling, and it'd be a real shame if we missed the opportunity to enable it here and had to wait for another round of proposals.


[Fix-7288] Not allow to delete the default alarm group.

Purpose of the pull request
This PR will close #7288 .
Brief change log
Users can't be allowed to delete the default alarm group.It's because that the default alarm group need to remain for the module of service, master and worker. So I added a few codes to restrain from removing the default alarm group.
Verify this pull request
This change added tests and can be verified as follows:

Manually verified the change by testing locally.

Codecov Report

Merging #7932 (e8e706d) into dev (a81093d) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##                dev    #7932   +/-   ##
=========================================
  Coverage     41.15%   41.15%
  Complexity     3710     3710
=========================================
  Files           637      637
  Lines         27080    27084    +4
  Branches       3078     3079    +1
=========================================
+ Hits          11144    11146    +2
- Misses        14861    14866    +5
+ Partials       1075     1072    -3

Impacted Files
Coverage Δ

.../org/apache/dolphinscheduler/api/enums/Status.java
100.00% <100.00%> (ø)

...eduler/api/service/impl/AlertGroupServiceImpl.java
91.66% <100.00%> (+0.30%)
:arrow_up:

...org/apache/dolphinscheduler/remote/utils/Host.java
37.77% <0.00%> (-2.23%)
:arrow_down:

...e/dolphinscheduler/remote/NettyRemotingClient.java
52.11% <0.00%> (-1.41%)
:arrow_down:

...er/master/dispatch/host/assign/RandomSelector.java
83.33% <0.00%> (+5.55%)
:arrow_up:

Continue to review full report at Codecov.

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


Pickaxes Lore Blocks Broken

The formatting for the blocks broken placeholder in the lores of pickaxes is unformatted.
PlaceholderAPI would be a great addition to the lores of pickaxes.


Loaded event called twice?

when calling ShowChildWindowAsync() my ContentControl Loaded event gets called twice ... it does not suppose to do that.
var view = new ContentControl();
view.Loaded += (s, arg) =>
{
	// gets called twice ???
};

var childWindow = new ChildWindow()
{
	ChildWindowWidth = 400,
	ChildWindowHeight = 300,
	ShowCloseButton = true,
	IsOpen = true,
	IsModal = true,
	Content = view,
};
await App.Current.MainWindow.ShowChildWindowAsync(childWindow);

PS: am using SimpleChildWindow version 1.5 with MahApps 1.6.5

The Loaded event fires when an element becomes part of the visual tree. Depending where your element is, this can happen more than once. Also an application might have to recreate its visual tree.


Fresh installation flynn-host list timeout

Tried both Linode & DO
flannel.1, flynnbr0, and veth* network interfaces are not there.

Did you follow the manual installation docs? Did you get any errors along the way?

@imars there wasn't errors along the way. I am able to bootstrap single node cluster but not 3 nodes formation. flynn-host list command timeout. There is nothing listening on port 1111.

Is flynn-host running on each of the three servers? There will only be something listening on port 1111 if you successfully bootstrap the cluster, so what happens when you run flynn-host bootstrap in the 3 node cluster?

Both 3 flynn-host status are green which means up & running.
Just not being able to flynn-host list to get a list of peers.

@lmars any thoughts?

@j105 please post both the command you are running and the output of flynn-host bootstrap in the 3 node cluster.


RFE: expand documentation on suspend and lock

Is there a way to implement usual suspend-and-lock routine with nwg-bar?
If we simply put "systemctl suspend" than after suspend the desktop will be unlocked which is contrary to what people are used to in X11 where desktop is locked after unsuspending.

Although the default config contains power bar-like commands, nwg-bar is nothing but a set of GTK buttons witch a command attached to each. You can use any script you want there.


Suppressing .env loading message when PIPENV_QUIET is set

This is a proposed fix for issue #2358 that have been closed without solution.
The fix suppresses the message "Loading .env environment variables" that is sent to stderr, when PIPENV_QUIET environment variable is set.
This is very useful for people that use pipenv run in cron commands, because writing to stderr may systematically report the cron as error.

well, note that all tests were failing until recently, so that may be contributing... the changes seem ok to me so i'll just update your pr with the current changes and see if that works

(I think the transient test failure issue is resolved and this is probably something we can merge now!)

Any news on this item. I am also interested to get ride this notification.

This was fixed in these recent PR:
https://github.com/pypa/pipenv/pull/5006
https://github.com/pypa/pipenv/pull/5010


Enhancement request-- revoke, and delete

I'm an Ops Engineer in the US.  I've started to use your piculet ruby gem, and absolutely love it-- I don't know how I managed before it, THANKS for writing it!
I wanted to contribute back to the project a suggestion and code for your review and consideration.
USE CASE ONE:  We update security group IP's often, based on certain business requirements, and I found that when we need to authorize new IP's, before we revoke, we run out of rules to assign the new IP's.  I've made a single change to revoke the rules first, and authorize second.  I understand that it's not always optimal to revoke first, but I thought it might be helpful to the community to have an option to revoke first; "--revoke-first". (For our business use-case, we need to revoke first, so I've included the code changes that I put in place... obviously just changing order in your "update" method)
~/.rvm/gems/ruby-2.0.0-p481/gems/piculet-0.2.6/lib/piculet/wrapper/permission.rb
        def update(dsl)
          log(:info, 'Update Permission', :green, log_id)
          plus_ip_ranges, minus_ip_ranges, plus_groups, minus_groups = diff(dsl)
          unless (minus_ip_ranges + minus_groups).empty?
            @collection.revoke(protocol, port_range, (minus_ip_ranges + minus_groups), :log_color => :green)
          end
          unless (plus_ip_ranges + plus_groups).empty?
            @collection.authorize(protocol, port_range, (plus_ip_ranges + plus_groups), :log_color => :green)
          end
        end

USE CASE TWO: When a security group is deleted, most often it's attached to an object within AWS, and it can't be deleted, in which piculet stops processing the rest of the input file.  I've written a rescue block for piclulet to pass the error (as piculet currently does), and then it continues to run -- allowing the script to continue processing the rules following the error.
~/.rvm/gems/ruby-2.0.0-p481/gems/piculet-0.2.6/lib/piculet/wrapper/security-group.rb
    def delete
      log(:info, 'Delete SecurityGroup', :red, "#{vpc_id || :classic} > #{name}")
      if name == 'default'
        log(:warn, 'SecurityGroup `default` is reserved', :yellow)
      else
        unless @options.dry_run
          begin
            @security_group.delete
            @options.updated = true
          rescue Exception => e
            log(:info, 'FAILED', :red, e)
          end
        end
      end
    end

Thanks again for your work with the project.
Eric

+1 for revoking before adding. Happens to me too (not a lot, but annoying)

Thank you for comment :smiley:
I'll consider it.

I'm sorry that an fix is late.
v0.2.8.beta4 has been released.
This release includes #13.

This can be closed now, no @winebarrel ?

Thank you for letting me know.


feat: added azure active directory authentication

Added @azure/identity package to authenticate with Active Directory (AD)
Modifed index.ts to enable AD authentication via NXCACHE_AZURE_AD_AUTH env var flag or adAuth` attribute

@NiklasPor if I was to make this PR again but get it up to date with main, what are the chances of it getting merged? I'd love to be able to use this but the lack of Azure AD support is a bit of a blocker for me.

Sorry, totally oversaw this one when I was upgrading nx-remotecache-custom yesterday. The PR looks fine, but could you describe to me how I can easily check if this is working on my local machine?
WIth these packages most of the work actually comes from verifying that they are working 😁

Sorry, totally oversaw this one when I was upgrading nx-remotecache-custom yesterday. The PR looks fine, but could you describe to me how I can easily check if this is working on my local machine?
WIth these packages most of the work actually comes from verifying that they are working 😁

Sorry, it has been a while since I wrote this and I'm trying to remember. I believe you can run az login locally and set NXCACHE_AZURE_AD_AUTH to true.

Just bumping this PR since it got some attention last week

Just bumping this PR since it got some attention last week

Bump

Just bumping this PR since it got some attention last week

Bump

Bump

Thanks for your contribution, this will be part of the release which comes together with support for Nx 16.6 👍

Thanks, the feature is available starting with 4.2.0 👍


need help configuring things that the docs don't mention

I'm looking for some help in configuring dehydrated to automate certificate renewal for my company.  We primarily use wildcard certificates.
I built an app using php, bash, and certbot designed for human interaction.  It lets people generate/renew lets encrypt certs defined in its database.  It uses '--dns-route53' to automatically handle the validation.  This works quite well ... it only takes a few clicks and about 30 seconds for someone to get an updated certificate.
I've been looking over the docs for dehydrated.  I haven't been able to work out exactly what dehydrated config to create to duplicate this system for automation.  Boss asked me to look into dehydrated as an alternative to modifying my webapp for automation as well as human interaction.  My automation would set environment variables for the AWS key and secret that automatic route53 validaton needs, but I haven't seen any way to tell dehydrated to use route53 validation.
What I am hoping to find is fully fleshed out example configs.  There are docs on each config file, but I have not seen any complete sets of example config files.  Those config file sets should also come with an explanation of how the config files interact with each other.

After evaluating what I can find, I have determined that I won't be saving myself any time or effort by using dehydrated.  I already have code using certbot that I can use in my automation efforts, and I would spend as much time building automation for dehydrated as I would with my own code.


Reorder graph colors

Why this pull request
As discussed in this comment, this PR aims to use the Rainbow Highlights pallet from the style guide for the commit graph.
New graph colros
Since GitKraken themes supports up to 10 colors, I chose to enrich the pallet with more colors:
"graph-color-0": "#{{red.hex}}",
"graph-color-1": "#{{maroon.hex}}",
"graph-color-2": "#{{peach.hex}}",
"graph-color-3": "#{{yellow.hex}}",
"graph-color-4": "#{{green.hex}}",
"graph-color-5": "#{{teal.hex}}",
"graph-color-6": "#{{sapphire.hex}}",
"graph-color-7": "#{{sky.hex}}",
"graph-color-8": "#{{blue.hex}}",
"graph-color-9": "#{{lavender.hex}}",

Screenshots

before
after

lgtm


Download through cygwin is not working as expected

So basically, i installed cygwin using the provided command, moved to the Mido project i cloned to my windows machine inside the cygwin terminal, ran the Mido script and got an error trying to download it:
joly0@idk /cygdrive/c/Users/joly0/Documents/Projects/Mido
$ ./Mido.sh win11x64
[i] Downloading Windows media from official Microsoft servers...
[i] Downloading Windows 11...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  137k    0  137k    0     0   506k      0 --:--:-- --:--:-- --:--:--  511k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Failed to open the file /dev/null: No such file or directory
  0   757    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (23) Failure writing output to destination, passed 757 returned<PHONE_NUMBER>
[!] Failed at writing Windows media to disk! Out of disk space or permission error? Exiting...

[!] 1 attempted download(s) failed! Please re-run Mido with these arguments to try downloading again (any partial downloads will be resumed): win11x64
[+] Finished! Please see the above errors with information

joly0@idk /cygdrive/c/Users/joly0/Documents/Projects/Mido

I assume this is not intentional or its intended behaviour?

This is related to #18


FFAR changes

Increase firerate of 40mm and 70mm
Remove 70mm DAGR as it is identical to regular 70mm
Gave 70mm infrared guidance abilities to compensate for removal of DAGR

@CheezusChrust make sure to do a backward for the current dagr pods, so they are reconverted to regular 70mm and we dont have missing ammo crates


bcompare: <IP_ADDRESS>058 -> <IP_ADDRESS>348 https://www.scootersoftware.com/download/v4changelog

version bump for bcompare

Hi @kpe , thank you for the PR! I've tried to build it now and it works only with version = "<IP_ADDRESS>483";

greetings @kpe, thank you for your PR
few things to resolve

please apply suggested changes
squash commits, this is done to aid git bisect
adjust commit message to follow guidelines, this is to allow automatic running of checks for pull requests

otherwise, welcome to the journey !

I tried building with these changes on my local machine and the hash changed again.

bcompare is at <IP_ADDRESS>483 on master, closing.


No .DTB file for Orange Pi Zero 2W

If choose building for Orange Pi Zero 2W:
fdtfile=allwinner/sun50i-h618-orangepi-zero2w.dtb in Env.txt
but no such file in created .img and in /ULO-repository-main/kernel/6.6.36-current-sunxi64/dtb-allwinner-6.6.36-current-sunxi64.tar.gz
so board cannot boot

Loaded kernel 6.1.31, but when build error: No such file or directory

Loaded kernel 6.1.31, but when build error: No such file or directory
try to give local version behind the kernel folder name like this

6.1.31 to 6.1.31-sun50iw9


fix(regex-rule): bugfix for attribute lookup

what

Added the right attribute lookup logic for the single_header and the single_query_argument blocks of code regarding the regex_pattern_set_reference_statement_rules dynamic block.
This was done to rectify a misconfiguration and also follows the existing configuration design.

why

Attribute lookup failed for single_header. The following screenshot was the error I was receiving

│  420:                     name = single_header.value.name
│     ├────────────────
│     │ single_header.value is 1
│
│ Can't access attributes on a primitive-typed value (number).

FYI: Ignore the line number in the nippet. It's from an edited fork of your repo. But this bug does exist here as well
references
Similar issue to https://github.com/cloudposse/terraform-aws-waf/pull/10
closes #10

Don't know what all this formatting is that was committed by your CI. But it's not part of the contributions I made 👼

/test all

@dannyibishev Thanks for the contribution! Released as https://github.com/cloudposse/terraform-aws-waf/releases/tag/0.0.4


Updated the config initialization so that the loaded config has a higher priority than the profile config

Updated the config initialization so that the loaded config has a higher priority than the profile config

Coverage increased (+0.001%) to 49.003% when pulling 2832a03668bc26ba540045e62070b8e0d1bc285b on RomanZacharia:develop into cd0aef920ce537287af0f8949fde03c0d97c019b on ethereum:develop.


feat: support webpack 5 (experimental)

This PR add support for webpack 5 in a very experimental way. Close #2.

Thanks for the PR! Published as<EMAIL_ADDRESS>


Moved all the project to a src folder

Next JS also supports the src folder.
I moved everything project related to this folder because it was a bit hard to navigate and search.  I've also edited the Dockerfile.
Additionally, svgs has been renamed to assets.

Hi @davidsingal thanks for taking the time to re-order this stuff!
I just checked that the whole thing gets built properly running via docker / docker-compose so LGTM
I also noticed that the client needs a bit more time to build pages (at least in dev mode) but this is probably due to my lack of computational resources, so if this works for you, works for me as well!
Thanks!


Update ops.h -- Eliminating a Compilation Warning Message of Type Inconsistency

In this source code file, the type of t.NumElements() is a signed integer, while the type of v.size() is unsigned. For the "!=" operator between them, a warning message appears when TensorFlow is compiled with a C++ application.

I signed the CLA!


clean duplicate push contents.

When you push two or more content into one stack. some content maybe duplicate. with this code, it will leave only the unique content.
当你向stack中push多个内容时，他们可能重复，使用此段代码，将只会保留不重复的项。

It could be intentional.


Mp containers

This PR makes containers only concerned with mapping state and dispatch to props.
Relies on #25

Thanks @mfpiccolo for the pull request!
Per the CONTRIBUTING.md file displayed when you created this pull request, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
This is a standard procedure for many open source projects. Your form should be processed within 24 hours and reviewers for your pull request will be able to proceed.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.


Fix #153 - Vanilla debounce and associated changes to improve performance

Fix for #153 adds a vanilla JS debounce with associated changes to improve performance when there are a lot of messages loaded
What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

Look great, thanks a lot!

Not at all buddy glad to be able to give something back. Thanks of all the work on the package - it's awesome.


Leo westebbe/frontend 372 admin assignments

Sets up the Admin view Assignments table.

Restructured table a bit:

'Surveyor' column changed to 'Surveyor(s)' and should display links to as many surveyors are put on an assignment.
Removed 'Home' column - function of this column unknown as one Assignment may have many homes
Removed 'Surveyed' column - function of this column unknown.
'Completed' column changed to 'Completion' and displays a count of (completed homes / total homes in assignment). Uses a non-exist 'completed' property from each home object within an assignment. This will probably have to be worked out on the backend. Clarification please on what a "completed" assignment/home is.
'Assignment' column provides links to assignments

Sets up Admin view Assignment pages for single assignments (clicking 'View' under 'Assignment' column on the Assignments table navigates here).

Lists homes data inside of an assignment cluster.
No access yet to unassign homes.
Also makes use of the non-existant 'completed' property.

My use case suggestions: @LWest001 @Rando-cal @mattdelsordo
Assignments page - URL: /admin/assignment
Adding and Removing Surveyors from Assignments

Select the rows you want to assign to the Assignments by clicking on the checkbox.
Open the Surveyor dropdown located at the top.

If surveyors have already been added, ensure that the appropriate surveyors are selected.

Click on the surveyors you wish to add or remove from the selected Assignments.

Note: A maximum of two surveyors can be assigned per Assignment.

Maximum Number of Surveys per Assignment = 23
The Google Maps API restricts the display of more than 23 houses per route.
Completion Column
When you complete all the surveys assigned to an Assignment, the Assignment is marked as completed, as shown in the example 23/23.
Regarding completion
When you finish a survey and answer all the questions, mark the survey as complete.
Assignment ID - URL: /admin/assignment/assignProfile/1
Unassign Surveys/Homes from the Assignment

Click on the Assignment button (URL: /admin/assignment).

Redirect to the URL: /admin/assignment/assignProfile/1.

Click on the Unassign X button.

This action automatically moves the Home/Survey related to the Assignment to the Unassignment page (URL: /admin/assignment/unassigned).

Unassigned Page - URL: /admin/assignment/unassigned
Create a New Assignment
At the top, we need a "Create Assignment" button.

Click on the checkbox in the row table.

Maximum number of surveys per Assignment: 23.

After selecting the checkbox rows (homes/surveys), click on the "Create Assignment" button to create an Assignment ID.

Add Homes/Surveys to Existing Assignment ID

Click on the Assignment dropdown at the top where you want to assign more Homes/Surveys.

After selecting from the dropdown, verify that the Assignment ID number is visible.

In the table, click on the checkboxes of the Homes/Surveys you want to assign to the Assignment ID.

Note: The maximum number of homes/surveys per assignment is 23.

Click on the "Send To" button to finalize the assignment.

After clicking, verify that all the Homes/Surveys are no longer shown.
Verify that the added Homes/Surveys are displayed under the Assignment ID on the URL: /admin/assignment.

Let me know if you have any suggestions or if we can move forward with it. Thanks!

Assignments page - URL: /admin/assignment

Select the rows you want to assign to the Assignments by clicking on the checkbox.

Open the Surveyor dropdown located at the top.

If surveyors have already been added, ensure that the appropriate surveyors are selected.

Click on the surveyors you wish to add or remove from the selected Assignments.

Note: A maximum of two surveyors can be assigned per Assignment.

I fixed the dropdown menu in the newest set of commits.

Maximum Number of Surveys/Homes per Assignment = 23 The Google Maps API restricts the display of more than 23 houses per route.

Good note. I think this is something we should implement on the Homes page, since that is where homes can be added to assignments

Completion Column When you complete all the surveys assigned to an Assignment, the Assignment is marked as completed, as shown in the example 23/23.
Regarding completion When you finish a survey and answer all the questions, mark the survey as complete.

Agreed. To implement this on request might be kind of expensive. We would have to check all survey_visits, check their survey_response to see if all their survey_answers are filled, check the home that the survey_visit belongs to, then see which assignment the home belongs to...
I think this should be done on the backend so we can just get a completed property attached to a home, then check only which homes belong to which assignments and if they are completed or not.

Assignment ID - URL: /admin/assignment/assignProfile/1
Unassign Surveys/Homes from the Assignment

Click on the View button on the Assignment column (URL: /admin/assignment).

Redirect to the URL: /admin/assignment/assignProfile/1.

Click on the Unassign X button.

This action automatically moves the Home/Survey related to the Assignment to the Unassignment page (URL: /admin/assignment/unassigned).

Yes - I think this function should be implemented in a separate PR. The scope of this one should be querying and displaying data and visual tweaks. We have a whole batch of mutation-related issues to tackle!

Unassigned Page - URL: /admin/assignment/unassigned

I went ahead and implemented data loading and presentation in the newest batch of commits for both unassigned homes (via an apiSlice hook) and a list of assignments in the dropdown menu.

Create a New Assignment At the top, we need a "Create Assignment" button.

Click on the checkbox in the row table.

Maximum number of surveys per Assignment: 23.

After selecting the checkbox rows (homes/surveys), click on the "Create Assignment" button to create an Assignment ID.

Definitely need this function - I implemented it as a "Create New" option in the dropdown. Let me know what you think.

Add Homes/Surveys to Existing Assignment ID

Click on the Assignment dropdown at the top where you want to assign more Homes/Surveys.

After selecting from the dropdown, verify that the Assignment ID number is visible.

In the table, click on the checkboxes of the Homes/Surveys you want to assign to the Assignment ID.

Note: The maximum number of homes/surveys per assignment is 23.

Click on the "Send To" button to finalize the assignment.

After clicking, verify that all the Homes/Surveys are no longer shown.
Verify that the added Homes/Surveys are displayed under the Assignment ID on the URL: /admin/assignment.

Yes, let's make sure these parameters are in place when we implement the mutation requests!

Let me know if you have any suggestions or if we can move forward with it. Thanks!

One thing I would like to see is a user verification before adding homes to an assignment. A good way to do this would be a modal that pops up when the Add Homes To Assignment button is clicked. The Modal would list the homes on that assignment, and maybe show where that home relates to a map of the existing homes in the assignment. Then, the user would click either "Add Home To This Assignment" or "Cancel".

Haven't ran this myself but it looks pretty good from a code perspective :+1:


Admin Area: add orphaned data elements to concepts

As an F&E admin user
I want to assign orphaned data elements to concepts
So that the categories and concepts structure is up to date
Acceptance Criteria
The orphaned data elements admin pages should be built as shown in the UE design, below. The following points should be noted:

On pages 1 and 4 of the UED, the 'Assign to concept' box is autocomplete.
On pages 1 and 4 of the UED, the data element tick boxes can be completed before or after selecting a concept in the 'Assign to concept' box.
There are no 'Cancel' buttons - navigation out of the 'orphaned data elements' pages is via the breadcrumb at the top of the page.
On page 2 of the UED, clicking on 'Remove assigned concept' takes the user back to page 1.
Page 4 is essentially the same as page 1, except the previously selected and assigned data elements have been removed from the list and there is a text box at the top of the page informing the user of this.

UEDs
Orphaned data elements v2.pdf

Martin Johnson and Janet Crame have confirmed that they're happy with this, so it's ready for development.

A meeting has been arranged with the user team, development team and UX designer for 12th November to decide how to make the admin pages more user friendly. This ticket will be discussed at that meeting and updated afterwards.

A meeting was held on 12/11/2020 attended by Gwen McGill, Martin Johnson, Janet Crame, Mark Bateman, Cristina Acquani and Dave Gamblin, to discuss changes to the F&E Admin pages. Amendments to the UEDs were agreed.
Mark Bateman will make the changes and circulate the updated UEDs.

Released to live and successfully tested.


[Sample]  Add contextual date times when the parameters are "start" and "end"

In this example we use the same value for start and end time which works but is confusing from a sample point of view.

When there are 'start' and end time in the parameter list, append a hour later to end time.

There is really no point to polish those "randomly generated sample values", therefore we are going to close this as a wont fix.
When we have the ability to generate samples from the example on the tsp file, we will get far better generated samples.


BLE serial sketch not compiling for BLE Nano(V1.5) error: type 'Print' is not a base type for type 'BLESerial'

When I try to compile the example sketch for BLE serial, it throws the following error: type 'Print' is not a base type for type 'BLESerial'. Arduino IDE Version: 1.8.3 and BLEPeripheral Library Version: 0.4.0
EDIT: Added IDE and Library Versions

It works after using the board from https://github.com/sandeepmistry/arduino-nRF5 instead of the official RBL


Framerate at the center of Packed is significantly worse than saltern.

Description
I've had to turn on low-res viewport and lower lighting quality to Low, something that wasn't necessary before. Not sure what could be causing this, unless Toolbox is rendering more things than it should be.

Can't replicate, also not sure on the position as 0,0 is the west side so I just guessed but my fps was 80 to 150

Can't replicate, also not sure on the position as 0,0 is the west side so I just guessed but my fps was 80 to 150

Bar area.

This is part of a larger issue in client performance and cant reproduce currently.


Largest rectangular area under histogram

Problem Statement
Given the heights of the bars of a histogram, find out the largest
rectangular area under the histogram. Width of each bar is 1 unit.
I want to add the C++ code for this in Data Structure ->Stack folder
Please assign me this issue

Sure @neha030, you can go ahead !


I've been working on another parser for groovy

Hi, I just noticed that this parser already existed after spending like two weeks working on my own version from scratch. Would you like to check it out at https://github.com/murtaza64/tree-sitter-jenkins?
(It's called Jenkins but there's very few jenkins-specific features, so it can be adapted to be a general groovy parser)
I haven't tested your implementation but mine seems to, at face value, be more feature complete as of now.
Would you be interested in merging our projects so that the upstream parser in nvim-treesitter is more feature complete?

You can make pr now. I write this parse just for android development .And I also handle decorate, generics_class and etc, it works good, if just come from gradle and general groovy script, it has no error when parse these, I am satisfied with it. But I do not know groovy very much. so I just make it performs well on android gradle script. so , yes , if you think this is not good enough, make pr now, and I also willing to make you the maintainer if you willing to

Can you let me take a look at the highlight of yours? I will take a try this weekend.. and of course, you can make a pr, because here , there are some important ci. have you try that in gradle script?

Well, yours are good enough, please make pr now, and I will push scheme update to nvim-treesitter

And

can this be highlighted?

https://github.com/apache/groovy/blob/3b1b1cb3f2f78432a86ed7a7776d3cc13e107366/subprojects/groovy-groovysh/src/main/groovy/org/apache/groovy/groovysh/completion/antlr4/InfixKeywordSyntaxCompleter.groovy#L4
this is not parse well enought

and also Generics

My parse have already handle most error, and decorate and generic.. can you help add support for them?

Emm, there is too many error.. but it is still good. though to many error

Yes, I will work on generics, decorators and stuff before making any PRs. Just wanted to gauge your interest in merging projects. When it's ready, would you prefer to push my version to upstream?

can this be highlighted?
You mean dependencies? Sure. But I am not sure if the current way of highlighting jenkins-specific symbols is great because they will still be highlighted even when not using jenkins, and the same problem will happen for gradle. Any ideas here?

Thanks for sharing examples of files where it doesn't work well.
Also, feel free to contribute to the project. Or I might take a look at your error/decorator/generics parsing and bring it into mine.

Today I'll look at your code and see how we can merge the parts you've implemented with the parts I have.

I'm quite excited to see this and hope you merge your work streams...

I've implemented annotations and generics, please take another look!

Cool grammar, can you make pr now? Just replace the gammer, test, and c code under src

And after this pr, you should also add your name to package.json..and you should make a pr to nvim-treesitter

And do you write any groovy script? I think we need someone who are using this script to maintain it.. before I keep this gammer simple enough to make it works under most case

You also need to test it yourself. Replace the name in package.json and gammer.js to groovy, and test it.

Emm, have you test grammer like
foreach { map ->
  print(map)
}

Ping..

Sorry, I've been busy with work

Yes, I work with groovy daily (in Jenkins)
I have to implement closures still
I think it's better to switch the upstream config to use my repo instead of completely overwriting this repo, thoughts?
I will add more full-script tests and stuff once this is production ready. I've been using it on my machine for a few days and most things work, but I still keep finding bugs here and there so I'm not ready to merge it. If you would like to help with development, feel free to make PRs in my repo

Sorry it's still been very busy at work. I will try to finish this up over the holidays!

@Decodetalkers I think my parser is mature enough to replace this one now. Would you be OK with switching the upstream parser to mine instead of yours?

Ok, please


Protojson do not round trip field masks

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
While I know its considered a good practice to use snake case field names in a proto definition, there is nothing restricting one from using camel case. Currently protojson encoder/decoder functions for fieldmasks explicitly test that the values in the paths can round trip from snake case to camelCase, however when your proto definition is already in camel case this check fails.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Provide options on the protojson.MarshalOption/UnmarshalOption that allow one to ignore these conditions. I have actually implemented something like this HERE and would be happy to submit a PR if this is considered acceptable.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
I do have some code that using reflection will convert any fieldmasks from camelCase to snake_case just before marshaling. While this works I would really prefer not to have to maintain that code.
Additional context
Add any other context or screenshots about the feature request here.

Hm… I think I didn’t understand you at all on the first pass of reading this. I think you’re saying that if someone is writing a protobuf against the style-guide by using camelCase or CamelCase for field names that things break. Unfortunately, camel cased field names are known to break a lot of things in the protobuf world in subtle and not-so-subtle ways.
I think this is I think the argument here is that this is bad input, and we do not want to support further bad habits of defining field names with a camel case. The style guide choice here is not out of a purely aesthetic reasons, it is an important multi-language interoperability standard. There’s a whole lot of protobuf code out there in a ton of different languages, and forcing everyone into using camel case is bad form. We are not living in a Go-only ecosystem with protobuf, and interoperability with other languages is a necessary and constant consideration in every change.

I understand and my change doesn't change any defaults. If field names need to be required to be snake case I would expect that the protoc compiler actually fail to parse the messages but it doesn't. As it stands right now we have a lot of messages with camelCase field names. Its just giving people who did things slightly differently an opportunity to work around those restrictions by explicitly opting in. In my fork I reused the UseProtoNames option on the MarshalOptions struct since it seemed like it fit, but I do not really care what the options are, just looking to give a bit of flexibility.

I understand, unfortunate for us.

It is unfortunate that the project has to be so strict about not bringing in bells and whistles, but this project has been specifically been bitten before for trying to do things ahead of standardization.
You might bring it up to the protobuf community itself and get their buy in?


Cannot run most samples due to issue with future

Describe the bug
I cannot run most of the sample programs, as they all result in a similar result to the traceback below.
To Reproduce

Run samples that utilize asciimatics.widgets or asciimatics.effects.

Expected behavior
I expected the sample programs provided to correctly run.
Screenshots
Traceback (most recent call last):
File "pyGraphicRPG.py", line 3, in
from asciimatics.widgets import Frame, ListBox, Layout, Divider, Text,
File "C:\Users\jdgda\AppData\Local\Programs\Python\Python38-32\lib\site-packages\asciimatics\widgets.py", line 20, in
from future.moves.itertools import zip_longest
ModuleNotFoundError: No module named 'future.moves.itertools'
System details (please complete the following information):

OS Version: Windows 10
Asciimatics version: 1.11.0

Just realized that my python install is apparently ruined, as other modules in my own project are broken. Closing because you will likely be unable to reproduce.

Issue was resolved by reinstalling future for anyone who finds this issue with the same problem.


Remove version number from ASM jar path in STF

Copying @llxia 's comment from https://github.com/AdoptOpenJDK/stf/pull/97#discussion_r544664372:
"Could we not include the version in the jar name? Instead of downloading into asm-9.0/asm-9.0.jar, just use a generic name. For example, asm.jar. If we do it this way, we do not need to update the folder and file name for every version update in https://github.com/AdoptOpenJDK/openjdk-systemtest/pull/387 and https://github.com/AdoptOpenJDK/openjdk-tests/pull/2126/files "
We can update the logic in top.xml and have a generic name for the destination file for asm.jar and use that in all places where it's referenced.
This will indeed make it easier to update ASM Jar.
FYI @lumpfish

My main reservation is that this change it would no longer be obvious which version was present in systemtest-prereqs,

My main reservation is that this change it would no longer be obvious which version was present in systemtest-prereqs

Agreed. I expressed the same concern here: https://github.com/AdoptOpenJDK/stf/pull/97#discussion_r544672396
I guess we'd have to decide which con we all agree to accept:

Remove version number in asm jar - so that it's NOT obvious any longer in build output as to which version of ASM we are using (Note, this also is inconsistent with the rest of the prereq jars)

Keep the version number in ASM jar as is, and accept that we'd have to have to come up with 3 PRs every time we update ASM library.

@llxia @lumpfish

Maybe create a file in systemtest-prereqs next to the asm.jar file in the build after the download is successful which says which version was downloaded (e.g. version-info.txt)?

Can we simply have ASM version number defined as a property somewhere at the beginning of top.xml?
(we'd need it to build the download URL anyway).
Users interested in knowing the exact version of ASM can just look that up in top.xml. This sounds simpler than going into the systemtest_prereqs directory and looking for version-info.txt.
In either case, we'd have to update the documentation to tell users where to look for ASM jar's version number.
@lumpfish

The version number will have to be in the build files somewhere anyway so the correct version is downloaded.
I was coming from the point of view of someone having run the build, looking at the systemtest-prereqs folder and seeing the asm folder with the asm.jar in it.
If there was a version-info.txt next to it you might infer that would tell you something about the version.
It might be a challenge to someone going through the build files looking for the version number they are not familiar with how the build works.
Anyway, it was only a suggestion.

We can add a version-info.txt under the asm folder, as suggested by @lumpfish above, and get rid of the version number from all the rest of the places.
@llxia - are you alright with this solution?
Just wanted to confirm with everyone before implementing this.

We can add a version-info.txt under the asm folder, as suggested by @lumpfish above, and get rid of the version number from all the rest of the places.
@llxia - are you alright with this solution?
Just wanted to confirm with everyone before implementing this.

In the console output, there is info about the download URL and version. Do we really need extra version-info.txt file?
  [echo] Executing macro download-file
     [echo] File to download: https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm/9.0/asm-9.0.jar
     [echo] Destination: /home/jenkins/workspace/systemtest.getDependency/systemtest_prereqs/asm-9.0/asm-9.0.jar
     [echo] Download tool: wget
    [mkdir] Created dir: /home/jenkins/workspace/systemtest.getDependency/systemtest_prereqs/asm-9.0
     [exec] --2020-12-27 13:16:40--  https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm/9.0/asm-9.0.jar
     [exec] Resolving repository.ow2.org (repository.ow2.org)... <IP_ADDRESS>
     [exec] Connecting to repository.ow2.org (repository.ow2.org)|<IP_ADDRESS>|:443... connected.
     [exec] HTTP request sent, awaiting response... 200 OK
     [exec] Length: 121783 (119K) [application/java-archive]
     [exec] Saving to: ‘/home/jenkins/workspace/systemtest.getDependency/systemtest_prereqs/asm-9.0/asm-9.0.jar’
     [exec]
     [exec]      0K .......... .......... .......... .......... .......... 42%  233K 0s
     [exec]     50K .......... .......... .......... .......... .......... 84%  467K 0s
     [exec]    100K .......... ........                                   100%  172M=0.3s
     [exec]
     [exec] 2020-12-27 13:16:41 (369 KB/s) - ‘/home/jenkins/workspace/systemtest.getDependency/systemtest_prereqs/asm-9.0/asm-9.0.jar’ saved

In the console output, there is info about the download URL and version. Do we really need extra version-info.txt file?
  [echo] Executing macro download-file
     [echo] File to download: https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm/9.0/asm-9.0.jar
     [echo] Destination: /home/jenkins/workspace/systemtest.getDependency/systemtest_prereqs/asm-9.0/asm-9.0.jar
     [echo] Download tool: wget
    [mkdir] Created dir: /home/jenkins/workspace/systemtest.getDependency/systemtest_prereqs/asm-9.0
     [exec] --2020-12-27 13:16:40--  https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/asm/9.0/asm-9.0.jar
     [exec] Resolving repository.ow2.org (repository.ow2.org)... <IP_ADDRESS>
     [exec] Connecting to repository.ow2.org (repository.ow2.org)|<IP_ADDRESS>|:443... connected.
     [exec] HTTP request sent, awaiting response... 200 OK
     [exec] Length: 121783 (119K) [application/java-archive]
     [exec] Saving to: ‘/home/jenkins/workspace/systemtest.getDependency/systemtest_prereqs/asm-9.0/asm-9.0.jar’
     [exec]
     [exec]      0K .......... .......... .......... .......... .......... 42%  233K 0s
     [exec]     50K .......... .......... .......... .......... .......... 84%  467K 0s
     [exec]    100K .......... ........                                   100%  172M=0.3s
     [exec]
     [exec] 2020-12-27 13:16:41 (369 KB/s) - ‘/home/jenkins/workspace/systemtest.getDependency/systemtest_prereqs/asm-9.0/asm-9.0.jar’ saved

Quoting from Simon's comment above:

I was coming from the point of view of someone having run the build, looking at the systemtest-prereqs folder and seeing the asm folder with the asm.jar in it.
If there was a version-info.txt next to it you might infer that would tell you something about the version.

@lumpfish - can the user look up the ASM version in the build output, as Lan mentioned above?
As for me, I've only ever looked up ASM version when it has been time to upgrade the ASM library, e.g., to enable ASM dependent tests for new JDK versions. So, I am okay with having the ASM version only printed out in build output.

Quoting from Simon's comment above:

I was coming from the point of view of someone having run the build, looking at the systemtest-prereqs folder and seeing the asm folder with the asm.jar in it.
If there was a version-info.txt next to it you might infer that would tell you something about the version.

@lumpfish - can the user look up the ASM version in the build output, as Lan mentioned above?
As for me, I've only ever looked up ASM version when it has been time to upgrade the ASM library, e.g., to enable ASM dependent tests for new JDK versions. So, I am okay with having the ASM version only printed out in build output.

For the users who do not have access to the build output (very unlikely), they should be able to check top.xml for the version.

For the users who do not have access to the build output (very unlikely), they should be able to check top.xml for the version.

My issue was not that the information about the asm version being used isn't available (you can see it in the build files which do the download as well as the build output), but I don't think that's necessarily the most obvious place to look.  If you've run the build previously and have the systemtest-prereqs directory then the version of the dependent packages (junit_4.2 etc.) is obvious from the name.  So one might expect the same for the asm version which after this proposed change would no longer be the case.  Adding a metadata file inside the directory containing the jar would make it easy to find out which version from the location of the jar itself.
As @Mesbah-Alam says though - how many users (other than ourselves) have actually ever looked for or needed to care about the asm version - I don't know the answer to that, but obviously we've had cases where things don't work because the version needs to be changed.

My issue was not that the information about the asm version being used isn't available (you can see it in the build files which do the download as well as the build output), but I don't think that's necessarily the most obvious place to look.  If you've run the build previously and have the systemtest-prereqs directory then the version of the dependent packages (junit_4.2 etc.) is obvious from the name.  So one might expect the same for the asm version which after this proposed change would no longer be the case.  Adding a metadata file inside the directory containing the jar would make it easy to find out which version from the location of the jar itself.
As @Mesbah-Alam says though - how many users (other than ourselves) have actually ever looked for or needed to care about the asm version - I don't know the answer to that, but obviously we've had cases where things don't work because the version needs to be changed.

After reading the discussion above, I feel there are more disadvantage in keeping the version number in the prereq jar name and its folder name. Since updating a prereq jar (e.g. ASM) is something we do more often than looking for the version of ASM in use from its jar file name.
Here's what I propose :

Clean up version number from jar file name and folder name of all prereq jars with version numbers (e.g. ASM, log-4j, junit, ant and hamcrest).
List the version numbers clearly in top.xml as properties.
Update documentation so that users know where to check for version numbers of a particular prereq jar if needed.
Print out the version number of all prereqs in System test build output.

This way we can: (a) Update a prereq libraries easily, (b) not have to hardcode prereq version numebrs in systemtest.getDependency script.

After reading the discussion above, I feel there are more disadvantage in keeping the version number in the prereq jar name and its folder name. Since updating a prereq jar (e.g. ASM) is something we do more often than looking for the version of ASM in use from its jar file name.
Here's what I propose :

Clean up version number from jar file name and folder name of all prereq jars with version numbers (e.g. ASM, log-4j, junit, ant and hamcrest).
List the version numbers clearly in top.xml as properties.
Update documentation so that users know where to check for version numbers of a particular prereq jar if needed.
Print out the version number of all prereqs in System test build output.

This way we can: (a) Update a prereq libraries easily, (b) not have to hardcode prereq version numebrs in systemtest.getDependency script.

The following 4 PRs will remove version numbers from system test prereq jars:

https://github.com/AdoptOpenJDK/stf/pull/99 contains:

The actual changes in top.xml where logic to download, expand and store prereq jars in systemtest_prereq location has been updated.
Removal of version numbers from prereq jar references in STF repo.

https://github.com/AdoptOpenJDK/openjdk-tests/pull/2176 contains:

Removal of version number from prerq jar references in getDependency script that's used by systemtest.getDependency Jenkins job instances.

https://github.com/AdoptOpenJDK/openjdk-systemtest/pull/392 contains:

Removal of version number from prereq jar references in test projects in openjdk-systemtest repo.

https://github.com/eclipse/openj9-systemtest/pull/123 contains:

Removal of version number from prerq jar references in test projects in openj9-systemtest repo.

Testing:

A dummy.systemtest.getDependency job which points to https://github.com/AdoptOpenJDK/openjdk-tests/pull/2176 has been created in internal Jenkins (so that the original systemtest.getDependency job on which the live builds depend remains untouched).
A temporary change has been added to  https://github.com/AdoptOpenJDK/openjdk-tests/pull/2176 to force the test grinder to pull the new prereq jars (that do not contain version numbers) from dummy.systemtest.getDependency (this change will be removed from the PR before final delivery of course).
A sanity.system Grinder build using the 4 PRs has been started (internal-Grinder/13187).

The following 4 PRs will remove version numbers from system test prereq jars:

https://github.com/AdoptOpenJDK/stf/pull/99 contains:

The actual changes in top.xml where logic to download, expand and store prereq jars in systemtest_prereq location has been updated.
Removal of version numbers from prereq jar references in STF repo.

https://github.com/AdoptOpenJDK/openjdk-tests/pull/2176 contains:

Removal of version number from prerq jar references in getDependency script that's used by systemtest.getDependency Jenkins job instances.

https://github.com/AdoptOpenJDK/openjdk-systemtest/pull/392 contains:

Removal of version number from prereq jar references in test projects in openjdk-systemtest repo.

https://github.com/eclipse/openj9-systemtest/pull/123 contains:

Removal of version number from prerq jar references in test projects in openj9-systemtest repo.

Testing:

A dummy.systemtest.getDependency job which points to https://github.com/AdoptOpenJDK/openjdk-tests/pull/2176 has been created in internal Jenkins (so that the original systemtest.getDependency job on which the live builds depend remains untouched).
A temporary change has been added to  https://github.com/AdoptOpenJDK/openjdk-tests/pull/2176 to force the test grinder to pull the new prereq jars (that do not contain version numbers) from dummy.systemtest.getDependency (this change will be removed from the PR before final delivery of course).
A sanity.system Grinder build using the 4 PRs has been started (internal-Grinder/13187).

The related PRs have been merged.

The related PRs have been merged.


BREAKING: remove virtual method call from constructor in OpenStringBuilder

Continuation of fixes with virtual calls being made from constructors. The issue originally reported by SonarCloud scans: https://sonarcloud.io/project/issues?resolved=false&rules=csharpsquid%3AS1699&id=apache_lucenenet and referenced in this issue: https://github.com/apache/lucenenet/issues/670
This one focuses on OpenStringBuilder. The pattern here is to create a private method that the constructor can use and virtual methods can use as well.

Merging this one since it was similar to SnowballProgram.


Add indicators via frontmatter

Hi!
Any plans to add the ability to pull indicators from frontmatter? I have to imagine its a completely different approach. I was considering giving it a try but I thought if you had plans, I wouldn't spend the time
Thanks ~

Hi, i like the idea! Would need some consideration on how both approaches can coexist in a reasonable way. (E.g. how are indicators handled, that are set with both approaches?)
I don't have the time to work on the plugin at the moment. Though i hope that changes in the coming months.


Add py.typed stub as per PEP-561

This marks the package as annotated to allow it's types to be inferred by mypy when used as a library some another application. More details about this in PEP-561.
Without this, running mypy on some code that uses mitmproxy returns these errors:
test_stubs.py:1: error: Cannot find implementation or library stub for module named 'mitmproxy'
test_stubs.py:2: error: Cannot find implementation or library stub for module named 'mitmproxy.net.http'
test_stubs.py:3: error: Cannot find implementation or library stub for module named 'mitmproxy.utils'

Once I added this to the package and installed the latest dev version, the errors are removed. Unfortunately, in some other modules I see these errors:
/Users/pavel.savchenko/.virtualenvs/stub_test/lib/python3.6/site-packages/mitmproxy/optmanager.py:11: error: Cannot find implementation or library stub for module named 'ruamel'

This seems to be an issue with ruamel's namespace structure (I'm not sure what is the issue, but I tried to file a ruamel.yaml ticked here)

Thanks! 🍰 😃


Make legend translatable

Hi @tblanke
As mentioned in issue #58 it would be great if we can also have the legend of the figures translatable.
This is however not that urgent, for the navigation toolbar makes this also possible (although, not automatically).
Best,
@wouterpeere

Hi @wouterpeere ,
The legend text is now translateable. Can you please have look?
with best regards
@tblanke

Hi @tblanke
This seems to be working fine!
I just added another plot with two lines, so the functionality on how to create a translatable legend is more clear!
Best,
@wouterpeere


[Story]: Kserve support for performance metrics

Goal
Ensure our performance metrics features for both the model server and also models themselves work with Kserve in addition to model mesh
Dependency issue

Backend support: https://github.com/opendatahub-io/kserve/issues/119

Itemized goals

Add Kserve support for model server metrics
Add Kserve support for model inference metrics

Aspects continued elsewhere
No response
Mocks
No mocks

Migrated to https://issues.redhat.com/browse/RHOAIENG-246 - moving to closed


Hardening repository

REVIEWERS
@jesuspg @hmunfru
DESCRIPTION

Add bumpversion configuration file
Remove .swp file
Rename phomehome by phonehome
Update .gitignore file

TESTING
Locally.

LGTM


Respective legislative and parliamentary constituency should display automatically as soon as district is selected

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Additional context
Add any other context about the feature request here.

Hi there,
I'm done with all assembly districtwise of  maharashtra and also found that one function is repeated Please allow me to contribute

Not getting the Particular Dataset Got one Json file but it has of all Countries Do you have any other idea abt it:
https://pkgstore.datahub.io/core/world-cities/world-cities_json/data/5b3dd46ad10990bca47b04b4739a02ba/world-cities_json.json above is one of the json files i got but it has no district directly the city name which is more likely as an assembly But did you have any idea how to use it


Implementation help

PermissionsActivity.java.zip
hey im trying to implement your pager example and apparently i didi everything right but and i click the check button a request popup show and not a permission popup mu code is  attached could you help me out

its skipping the left picture nado going straight to the second


Usage of log_cmd_error in sdc-plugin leads to less than ideal error messages

The sdc-plugin uses log_cmd_error to report a number of issues, see;
https://github.com/SymbiFlow/yosys-symbiflow-plugins/blob/91d7db03ddbee23f9ff91f395de1692a37e51362/sdc-plugin/sdc.cc#L130
and
https://github.com/SymbiFlow/yosys-symbiflow-plugins/blob/91d7db03ddbee23f9ff91f395de1692a37e51362/sdc-plugin/sdc.cc#L153
However it seems that log_cmd_error doesn't provide a lot of information about what caused the error. Most importantly in the sdc-plugin it does not report the file and line number in the sdc file which causes the issue.
It is unclear to me if log_cmd_error needs to be improved or if a different function should be called instead.

We could use the log_file_error function instead (code)
It produces the output in the following form:

sdc.cc:130: ERROR: Incorrect number of arguments


Ansible request for Windows shortnames

Please put the name of the software product (and affected platforms if relevant) in the title of this issue

[ ] Missing install
[x] Bug in ansible playbook
[ ] Request for new playbook addition

Details: This is showing up during the [Common : Ensure 'Program Files (x86)' has a shortname] task in the Windows playbook on at least some machines, preventing successful completion:
fatal: [test-ibmcloud-win2012r2-x64-2]: FAILED! => {"changed": true, "cmd": "fsutil file setshortname \"C:\\Program Files (x86)\" \"PROGRA~2\"", "delta": "0:00:00.119001", "end": "2021-02-17 01:23:29.342042", "msg": "non-zero return code", "rc": 1, "start": "2021-02-17 01:23:29.223041", "stderr": "", "stderr_lines": [], "stdout": "Error:  Access is denied.\r\n\r\n", "stdout_lines": ["Error:  Access is denied.", ""]}

This can't be run after we have installed the rest of the playbook, because services start running in the Program Files (x86) folder.
I'll put the Ignore_Errors: yes var into it, as this should allow the playbook to be re-run on already setup machines.


max_value() is being deprecated, use ::MAX instead

https://doc.rust-lang.org/std/primitive.u16.html#method.max_value
PR checklist:

[ ] make succeeds (on *nix)
[ ] make reftests succeeds
[X] tested examples with the following backends: DX12

Looks like our MSRV for Naga matches this, phew!
bors r+


[fix] 解决iOS 14不能正常加载fair_extension中的js plugin

resolved the issue where the plugin was not functioning correctly on iOS 14

LGTM


Update index.md

updates to governance index file per Paulo comments on PRP process

need to create new one due to images file not here


Named functions are broken

Not sure what happened, since named functions used to work, but they aren’t now.
Example: Try it Online!

May be a regression caused by this change

This is fixed in a recent commit


Add Python 3 support

builtins is not a dict
Initialize imports at level=0

Tested multiple times locally


Sr Consultant

Great code snippets and great illustrating examples!

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

ID: e3753657-9f0f-4e68-abde-5f461099cb6e
Version Independent ID: f7bd9eb0-1653-15fd-5f0e-dc0ee5c3bf88
Content: Safely update interfaces using default interface methods in C#
Content Source: docs/csharp/tutorials/default-interface-methods-versions.md
Product: dotnet-csharp
Technology: csharp-fundamentals
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for the compliments @samezyane I'm glad it helped.
Closing as kudos.


Bring the router service to engines

Would be really cool, if we could bring the RouterService to engines as well. I propose keeping the exact same API, but adding an *External variant for all methods, just like we are doing with the route extension:
https://github.com/ember-engines/ember-engines/blob/ec4d1ae7a413a7e5d9e57a4e3b2e0f0d19a0afcd/addon/-private/route-ext.js#L14-L17
Implementing a proper RouterService for engines would also allow us to refactor the route-ext and also add the missing *External methods to Route and Controller for symmetry.
I've done a PoC service which I am using for my projects, but it would be great to have an official solution that does not rely on dirty hacks.
Links

Ember API docs for RouterService
RFC #95: Router Service
PoC implementation using some private API

Closes #260, #391.

@buschtoens this PoC works  making transitionToExternal & replaceWithExternal with URL?
we need pass a URL (a string that starts with a /).
this.transitionTo('/');
this.transitionTo('/blog/post/1/comment/13');
this.transitionTo('/blog/posts?sort=title');

No, this intentionally not supported, as it would break the encapsulation principle of engines. You can only transitionToExternal routes by the name that was provided to the engine via externalRoutes.
If you need to perform arbitrary navigation, yoo could inject the host's router service into the engine as host-router / external-router. But I would encourage you to check whether you absolutely need to do this or if there isn't another way or abstraction you could put inbetween, because this'll also break with the encapsulation principle.

@buschtoens sorry my comment was a bit confused, I'm saying that transitionExternal methods today only accept routeName but not routPath/URL, we must add support for this, as well.

@villander No worries, I understood you right the first time. ☺
The idea behind engines is to encapsulate a part of the application from the rest. Any references / dependencies to the host app should be explicit and declarative. This is why services are explicitly injected into the engine. The same goes for routes (externalRoutes).
Allowing users to transitionToExternal by URL would break with that principle. The fully qualified URL can only be known by the host app. This detail should thus not be exposed to / accessible by the engine. The engine only knows about the externalRoutes names.
The need to transition by URL from inside an engine is an indicator for a leaky engine that is not fully encapsulated. Imagine it this way: You should be able to take that engine and drop it into any other app and be able to run it, as long as the expected external services and externalRoutes were passed into the engine.
If you still, for whatever reason, need to trigger a transition by URL from inside the engine, you can pass the host app's "real" router service into the engine as external-router and call transitionTo on it directly.

The fully qualified URL can only be known by the host app. This detail should thus not be exposed to / accessible by the engine. The engine only knows about the externalRoutes names.

Completely agreed.

yup, makes all sense @buschtoens I'll get this to work and open a pull request ASAP.
thanks!

I think this is related?  #648

@sumeetattree Yes indeed. #648 is a duplicate of this issue / will be fixed by resolving issue. For the time being, you could use my EngineRouterService PoC.

@buschtoens I left a comment on your gist https://gist.github.com/buschtoens/de2faacfc8977e39843b7e2cc2f3fd1e#gistcomment-2960117

transitory addon until #669 is merged - https://www.npmjs.com/package/ember-engines-router-service.

PSA for anyone subscribed to this issue: @SergeAstapov has submitted RFC 819 "Public router service", which makes the RouterService available to engines in accordance with #691 "Merge internal and external route namespace, drop *External methods & <LinkToExternal>".