Update deps

It looks like this is modeled on https://github.com/cf-platform-eng/rds-broker, which uses some outdated dependencies and pins to a personal fork of brokerapi. This patch updates many of those dependencies. Since vendored files changed, the diffs look huge--the first commit includes all the actual code changes. Also, if you aren't a glide fan, I'd be happy to revert back to godep.

Update to latest dependencies, including upstream brokerapi
Manage dependencies with glide
Run go fmt

Ping @muconsulting: does this seem reasonable to you? I'd be happy to revise if you have suggestions. Thanks!


nullable field in document query should not be optional

Describe the bug
When generating a query in document contains nullable field, the generated document query's field's type is still T | null | undefined, which should be T | null
To Reproduce
Steps to reproduce the behavior:
schema:
# schema.graphql

type Person {
  name: String!
  age: Int
}

type Query {
  person: Person
}

document:
# document.graphql

query search {
  person {
    name
    age
  }
}

command:
gql-gen --template graphql-codegen-typescript-template --schema schema.graphql document.graphql --out schema.ts

Expected behavior
In generated schema.ts:
// ...

export interface Person {
  name: string;
  age?: number | null; // <- this is correct because it's introspection
}

// ...

export namespace Search {
  export type Variables = {};

  export type Query = {
    __typename?: "Query";
    person?: Person | null;
  };

  export type Person = {
    __typename?: "Person";
    name: string;
    age?: number | null; // <- this should not be optional because we queried this field
  };
}

Search.Person.age should not be optional(undefined), because we queried that nullable field, it could only be null when there is no data available.
Environment:

OS: Arch Linux (latest)
Codegen: 0.12.6
Node: 10.11.0
graphql: 14.0.2

I'm wondering what's happening here (what effort is needed to get this merged in). Running into the same issue.

@moonray There is nothing special is blocking #706, just regular tests and related essential works.
Why I haven't update PR for a while: Because of many other tasks other than this gql-gen issue needed to be done in my work last week, and this issue was not the only one blocking my task about gql-gen(actually I'm migrating from apollo-graphql to graphql-code-generator), debugging further unknown issue is consuming  too much time, I left the PR here and focused on other tasks. Maybe this weekend I'll have a chance to deal with it. However, if someone is very urgent on this issue and could continue the PR is also appreciated.

Fixed in: https://github.com/dotansimha/graphql-code-generator/pull/855

Fixed in 0.14 🎉


/Zo (Enhance Optimized Debugging) switch is missing from this list

See https://docs.microsoft.com/en-us/cpp/build/reference/zo-enhance-optimized-debugging?view=vs-2017

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

ID: f2353367-e490-5dc3-fc39-3bcba30bf365
Version Independent ID: 4300089e-7ea0-68bf-eb1f-c9c31cdb8d41
Content: Compiler Options Listed Alphabetically
Content Source: docs/build/reference/compiler-options-listed-alphabetically.md
Product: visual-cpp
GitHub Login: @corob-msft
Microsoft Alias: corob

@reye You're right, that's an obvious oversight. This is the sort of thing you can propose an edit PR for, if you're so inclined.

Hi. Is this still open? Can I contribute somehow?

Does PR mean Pull Request?
From: Colin Robertson<EMAIL_ADDRESS>Sent: Friday, 12 October 2018 6:07 AM
To: MicrosoftDocs/cpp-docs<EMAIL_ADDRESS>Cc: reye<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/cpp-docs] /Zo (Enhance Optimized Debugging) switch is missing from this list (#460)
@reyehttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Freye&data=02|01||e9f21ce8f45b4d0524f308d62fb50bc3|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636748851959512012&sdata=qsZwA8EG9QU876TPdXkQ3i7x3N8%2BVkwu%2FQO5EPGELCE%3D&reserved=0 You're right, that's an obvious oversight. This is the sort of thing you can propose an edit PR for, if you're so inclined.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fcpp-docs%2Fissues%2F460%23issuecomment-429099816&data=02|01||e9f21ce8f45b4d0524f308d62fb50bc3|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636748851959512012&sdata=oWb3aJr7gVZd7xdiDAicmM1lZmPAaRPFlNSRLRwrpTY%3D&reserved=0, or mute the threadhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFUJimrt9dTsfLxo75rVghwnmbEb4eDbks5uj6TKgaJpZM4XUnNL&data=02|01||e9f21ce8f45b4d0524f308d62fb50bc3|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636748851959512012&sdata=T%2F5Ep0xkCASU6OpxEg3paOYOzf01GB6SL8xUCVOaLn8%3D&reserved=0.

Does PR mean Pull Request?

fixed


no such file or directory, open '/Users/.../project-name/node_modules/metro-bundler/src/Resolver/polyfills/prelude_dev.js'

Getting this error all of a sudden. Tried deleting node modules and reinstalling, clearing cache, upgrading react native, reinstalling metro-bundler. None of it worked.
The path indeed does not exist. In fact I don't see any src folder in node_modules/metro-bundler.
I downloaded the src folder from this repo and added it to node-modules/metro-bundler. Now the file is definitely there. But it's still showing the same error...saying there's no such file.

Anyone has insights on this?
Update: cleared cache again after adding src folder. It worked one time. And then when I rebuild I'm now getting this same error...

Seems like an issue with the concrete Metro/RN install, and shouldn't repro once upgrading/reinstalling with Yarn.


Final Wiring of Peripherals  to the Bone

With the competiton around the corner and the need to add another cape to our stack of capes we don't have a lot of space to plug things in to the top of the bone.
As of now we already added easy keyed connectors for the following systems:
Simon sensors
Simon Actuators
Power screw
Stepper left
Stepper right
Is there any other connector I can add to make it easier? Like any pwm's for the servo?
This issue can be closed when the connectors are added, the wires are made, and the connections are verified

We've got the bot fully wired up and all the connections are made and verified correct!


problems with confindr rMLSt database

Hi :)
I am having trouble with getting the rMLST database for confindr. following the instructions gets such an error:
Traceback (most recent call last):
File "/home/msszwarc/miniconda3/envs/confindr/bin/confindr_database_setup", line 10, in
sys.exit(main())
File "/home/msszwarc/miniconda3/envs/confindr/lib/python3.6/site-packages/confindr_src/database_setup.py", line 270, in main
args.secret_file)
File "/home/msszwarc/miniconda3/envs/confindr/lib/python3.6/site-packages/confindr_src/database_setup.py", line 209, in setup_confindr_database
record.seq._data = record.seq._data.replace('-', '').replace('N', '')
TypeError: a bytes-like object is required, not 'str'

Hello A,
I ran into the same problem with both Python versions (3.7 and 3.8). Your code snippet solved the problem for Python 3.8 and I haven't tried it with Python 3.7.

Hello, I encounted the same problem and I modified the python script by removing the _data
before record.seq._data = str(record.seq._data).replace('-', '').replace('N', '').encode()
after record.seq. = str(record.seq.).replace('-', '').replace('N', '').encode()

Fixed by 19d0d1d for v0.8.1.


Made the code more user friendly.

Created pull request for issue #5.
Description :
Added space and new line and separating lines to beatify code and segregated every single i/o.

@all-contributors please add @sagnik1511 for code

@all-contributors please add @sagnik1511 for code


Emoji size changed after changing skin

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open android app
Go to the chat enter emoji that I have entered in video
Click on "Change default skin tone"
Change its skin and send it
First emoji skin size is greater then other skins

Expected Result:
Emoji size should be same if you change skin
Actual Result :
Emoji first skin size is greater then others
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native

Version Number: 1.2.69-2
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/218225452-c9d9bafa-b18a-4cb3-8df5-b27c7231405a.mp4

https://user-images.githubusercontent.com/43996225/218225468-cd53b0b9-b731-4cf3-a1f1-6b521ee9ef97.mp4
Expensify/Expensify Issue URL:
Issue reported by: @ayazhussain
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1675929140301629
View all open jobs on GitHub

Triggered auto assignment to @MitchExpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync


Add probabilistic classification to hiclass

Add probabilistic classification via calibration to hiclass using the following methods:

Platt Scaling
Isotonic Regression
Beta calibration
(Inductive/Cross) Venn-ABERS calibration

Hi @LukasDrews97,
Just a quick request from someone from France. Would it be possible to add a threshold to remove labels that have low probability?

Codecov Report
Attention: Patch coverage is 90.29703% with 98 lines in your changes missing coverage. Please review.

Project coverage is 93.94%. Comparing base (4595264) to head (db15547).
Report is 4 commits behind head on main.

Files with missing lines
Patch %
Lines

hiclass/_calibration/VennAbersCalibrator.py
79.62%
43 Missing :warning:

hiclass/HierarchicalClassifier.py
85.84%
16 Missing :warning:

hiclass/LocalClassifierPerLevel.py
89.33%
8 Missing :warning:

hiclass/metrics.py
95.45%
8 Missing :warning:

hiclass/_calibration/Calibrator.py
91.89%
6 Missing :warning:

hiclass/Pipeline.py
44.44%
5 Missing :warning:

hiclass/LocalClassifierPerNode.py
95.78%
4 Missing :warning:

hiclass/_calibration/BetaCalibrator.py
87.87%
4 Missing :warning:

...iclass/probability_combiner/ProbabilityCombiner.py
88.88%
3 Missing :warning:

hiclass/LocalClassifierPerParentNode.py
98.76%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #119      +/-   ##
==========================================
- Coverage   96.68%   93.94%   -2.74%
==========================================
  Files          13       28      +15
  Lines        1268     2297    +1029
==========================================
+ Hits         1226     2158     +932
- Misses         42      139      +97

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


报错，找不到gs文件

请问这个代码是不是有问题啊？我还没跑，看到你这个问题怕白忙活了

Have you done python setup.py develop in https://github.com/ucas-vg/GroupSampling#installation?

Have you done python setup.py develop in https://github.com/ucas-vg/GroupSampling#install
i don't try   because i am afraid that it's can't train

Have you done python setup.py develop in https://github.com/ucas-vg/GroupSampling#install
i don't try   because i am afraid that it's can't train

Cannot find ‘gs’ probably because he hasn't done  python setup.py develop.

Have you done python setup.py develop in https://github.com/ucas-vg/GroupSampling#install
i don't try   because i am afraid that it's can't train

Cannot find ‘gs’ probably because he hasn't done python setup.py develop.

it means code can be trained?

Have you done python setup.py develop in https://github.com/ucas-vg/GroupSampling#install
i don't try   because i am afraid that it's can't train

Cannot find ‘gs’ probably because he hasn't done python setup.py develop.

it means code can be trained?

Yes. If you have any problem, you can continue to contact me and I will fix it.

Have you done python setup.py develop in https://github.com/ucas-vg/GroupSampling#install
i don't try   because i am afraid that it's can't train

Cannot find ‘gs’ probably because he hasn't done python setup.py develop.

it means code can be trained?

Yes. If you have any problem, you can continue to contact me and I will fix it.

ok thanks

hello
hope you are doing well .
please i want to ask you about  this command "python setup.py develop" it doesn't work for me
after runing it gives me this error :
(Traceback (most recent call last):
File "train.py", line 20, in
from gs import datasets
ImportError: cannot import name 'datasets' from 'gs' (/home/myuser/.local/lib/python3.8/site-packages/gs/init.py) )
please can you tell me what can i do to fix it
thank you !

Cannot find ‘gs’ probably because you didn't setup the code: python setup.py develop.

#绝对路径导入
import sys
sys.path.append('/home/zsc/ReID/GroupSampling-master')

上面的路径根据自己环境改成GroupSampling-master所在的路径


Add the option to choose time

I was mostly wondering if anyone has been able to add a time (hour/minute) picker to this project. If no one has, is there any plan to add it?

Hi @austinkregel I don't have any plans to do this as I don't need it myself currently.


[SPARK-25501][SS] Add kafka delegation token support.

What changes were proposed in this pull request?
It adds kafka delegation token support for structured streaming. Please see the relevant SPIP
What this PR contains:

Configuration parameters for the feature
Delegation token fetching from broker
Usage of token through dynamic JAAS configuration
Minor refactoring in the existing code

What this PR doesn't contain:

Documentation changes because design can change

How was this patch tested?
Existing tests + added small amount of additional unit tests.
Because it's an external service integration mainly tested on cluster.

4 node cluster
Kafka broker version 1.1.0
Topic with 4 partitions
security.protocol = SASL_SSL
sasl.mechanism = SCRAM-SHA-256

An example of obtaining a token:
18/10/01 01:07:49 INFO kafka010.TokenUtil: TOKENID         HMAC                           OWNER           RENEWERS                  ISSUEDATE       EXPIRYDATE      MAXDATE
18/10/01 01:07:49 INFO kafka010.TokenUtil: D1-v__Q5T_uHx55rW16Jwg [hidden] User:user    []                        2018-10-01T01:07 2018-10-02T01:07 2018-10-08T01:07
18/10/01 01:07:49 INFO security.KafkaDelegationTokenProvider: Get token from Kafka: Kind: KAFKA_DELEGATION_TOKEN, Service: kafka.server.delegation.token, Ident: 44 31 2d 76 5f 5f 51 35 54 5f 75 48 78 35 35 72 57 31 36 4a 77 67

An example token usage:
18/10/01 01:08:07 INFO kafka010.KafkaSecurityHelper: Scram JAAS params: org.apache.kafka.common.security.scram.ScramLoginModule required tokenauth=true serviceName="kafka" username="D1-v__Q5T_uHx55rW16Jwg" password="[hidden]";
18/10/01 01:08:07 INFO kafka010.KafkaSourceProvider: Delegation token detected, using it for login.

ok to test

Test build #96814 has started for PR 22598 at commit f9b4685.

What's diff with https://github.com/apache/spark/pull/22550 ? Let's close one of them. +@merlintang

That said on the jira the mentioned PR by @merlintang is crashing on my cluster so not proposed for merge. Please close it.

@gaborgsomogyi  thanks for your PR, I am going through the details and test on my local machine.

Test build #96814 has finished for PR 22598 at commit f9b4685.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
 class KafkaDelegationTokenIdentifier extends AbstractDelegationTokenIdentifier

Merged build finished. Test PASSed.

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

Test build #96871 has started for PR 22598 at commit 2a79d59.

Test build #96871 has finished for PR 22598 at commit 2a79d59.

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

Merged build finished. Test PASSed.

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

Merged build finished. Test FAILed.

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

Test build #97114 has started for PR 22598 at commit a4ab4f5.

Test build #97115 has started for PR 22598 at commit 8c860fe.

Test build #97114 has finished for PR 22598 at commit a4ab4f5.

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

Merged build finished. Test PASSed.

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

Test build #97115 has finished for PR 22598 at commit 8c860fe.

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

Merged build finished. Test PASSed.

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

Test build #97151 has finished for PR 22598 at commit a2c4397.

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

Merged build finished. Test PASSed.

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

Test build #97188 has started for PR 22598 at commit fffd139.

Test build #97188 has finished for PR 22598 at commit fffd139.

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

Merged build finished. Test PASSed.

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

Test build #97612 has started for PR 22598 at commit 7c22433.

Test build #97612 has finished for PR 22598 at commit 7c22433.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this, please

Test build #97613 has started for PR 22598 at commit 7c22433.

Test build #97613 has finished for PR 22598 at commit 7c22433.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #97976 has started for PR 22598 at commit d7af8ef.

Test build #97976 has finished for PR 22598 at commit d7af8ef.

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

Merged build finished. Test PASSed.

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

Test build #98506 has started for PR 22598 at commit caf7f1f.

Test build #98506 has finished for PR 22598 at commit caf7f1f.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #98513 has started for PR 22598 at commit deea82f.

Test build #98513 has finished for PR 22598 at commit deea82f.

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

+1, LGTM.

Test build #98621 has started for PR 22598 at commit d938594.

Test build #98621 has finished for PR 22598 at commit d938594.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #98622 has started for PR 22598 at commit 17d25f2.

Test build #98622 has finished for PR 22598 at commit 17d25f2.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #98623 has started for PR 22598 at commit 47d79ef.

Test build #98623 has finished for PR 22598 at commit 47d79ef.

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

Merged build finished. Test PASSed.

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

Test build #98873 has finished for PR 22598 at commit b4541cd.

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

Merged build finished. Test PASSed.

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

Test build #98890 has started for PR 22598 at commit 2a0cdb7.

Test build #98890 has finished for PR 22598 at commit 2a0cdb7.

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

Merged build finished. Test FAILed.

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

retest this, please

Test build #98912 has started for PR 22598 at commit 2a0cdb7.

Test build #98912 has finished for PR 22598 at commit 2a0cdb7.

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

Merged build finished. Test FAILed.

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

retest this, please

Test build #98921 has started for PR 22598 at commit 2a0cdb7.

Test build #98921 has finished for PR 22598 at commit 2a0cdb7.

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

Merged build finished. Test PASSed.

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

Test build #99110 has started for PR 22598 at commit 5741917.

Test build #99191 has finished for PR 22598 at commit 30df8f1.

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

Merged build finished. Test FAILed.

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

retest this please

Test build #99197 has started for PR 22598 at commit 30df8f1.

Test build #99322 has started for PR 22598 at commit 36d05d2.

Merged build finished. Test FAILed.

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

retest this, please

Test build #99330 has started for PR 22598 at commit 36d05d2.

Test build #99330 has finished for PR 22598 at commit 36d05d2.

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

Merged build finished. Test PASSed.

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

Test build #99453 has started for PR 22598 at commit cbff31c.

Test build #99453 has finished for PR 22598 at commit cbff31c.

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

Merged build finished. Test FAILed.

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

Test build #99469 has started for PR 22598 at commit 2a0b1c3.

Test build #99474 has started for PR 22598 at commit c0519f8.

Test build #99476 has started for PR 22598 at commit a122865.

Test build #99469 has finished for PR 22598 at commit 2a0b1c3.

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

Merged build finished. Test FAILed.

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

Test build #99474 has finished for PR 22598 at commit c0519f8.

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

Merged build finished. Test PASSed.

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

Merging to master.

@gaborgsomogyi why all these configs use Spark conf? Does this mean we cannot support multiple tokens? We have supported to pass kafka configs via data source options, why not use data source options instead? Sorry if I missed any discussions here.

@zsxwing this part is described in the SPIP with possible alternatives. Yeah, multiple tokens not supported.

We have supported to pass kafka configs via data source options, why not use data source options instead?

As a small extract these parameters are parsed way after the delegation token subsystem started and tokens obtained.

this is exciting to me.
i tested it on a kafka 2.2.0 cluster that uses gssapi/kerberos for authentication, by enabling token support in kafka. to be specific in server.properties i changed:
- sasl.enabled.mechanisms=GSSAPI
+ sasl.enabled.mechanisms=GSSAPI,SCRAM-SHA-256,SCRAM-SHA-512
+ delegation.token.master.key=somesecret

note that i kept sasl.mechanism.inter.broker.protocol=GSSAPI
i could see my spark structured streaming job obtain kafka token successfully. after that i ran into some issues in driver that seemed kafka specific. i added comments here:
https://issues.apache.org/jira/browse/KAFKA-7631

Good to hear its used. Ping me if you see any Spark related issue. BTW, multi-cluster support is on the way...

this is exciting to me.
i tested it on a kafka 2.2.0 cluster that uses gssapi/kerberos for authentication, by enabling token support in kafka. to be specific in server.properties i changed:
- sasl.enabled.mechanisms=GSSAPI
+ sasl.enabled.mechanisms=GSSAPI,SCRAM-SHA-256,SCRAM-SHA-512
+ delegation.token.master.key=somesecret

note that i kept sasl.mechanism.inter.broker.protocol=GSSAPI
i could see my spark structured streaming job obtain kafka token successfully. after that i ran into some issues in driver that seemed kafka specific. i added comments here:
https://issues.apache.org/jira/browse/KAFKA-7631

after adding the scram login module to my broker jaas configs (so brokers have both kerberos and scram) the kafka specific issue was resolved. so now everything works. i will be doing long running tests over next few days/weeks. thanks again.

i have been testing long running structured streaming jobs from and to kafka using delegation tokens. the driver is launched by a user with a kerberos login and keytab, principal and keytab are provided to spark-submit. trigger is hourly.
i see no errors in executor logs.
in driver i see this starting 24 hours after job was launched (i assume this is when kerberos ticket expires?):
2019-05-31 17:05:03 WARN internals.AbstractCoordinator: [Consumer clientId=consumer-1, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-0] This member will leave the group because consumer poll timeout has expired. This means the time between subsequent calls to poll() was longer than the configured max.poll.interval.ms, which typically implies that the poll loop is spending too much time processing messages. You can address this either by increasing max.poll.interval.ms or by reducing the maximum size of batches returned in poll() with max.poll.records.
2019-05-31 17:05:03 INFO internals.AbstractCoordinator: [Consumer clientId=consumer-1, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-0] Member consumer-1-3f19c416-c17a-41f6-b710-67f50dd7a568 sending LeaveGroup request to coordinator node05.company.com:9092 (id:<PHONE_NUMBER> rack: null)
2019-05-31 18:00:00 INFO internals.ConsumerCoordinator: [Consumer clientId=consumer-1, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-0] Revoking previously assigned partitions
[twitter-0]
2019-05-31 18:00:00 INFO internals.AbstractCoordinator: [Consumer clientId=consumer-1, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-0] (Re-)joining group
2019-05-31 18:00:00 INFO internals.AbstractCoordinator: [Consumer clientId=consumer-1, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-0] Group coordinator node05.company.com:9092 (id:<PHONE_NUMBER> rack: null) is unavailable or invalid, will attempt rediscovery
2019-05-31 18:00:00 INFO network.Selector: [Consumer clientId=consumer-1, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-0] Failed authentication with node06.company.com/<IP_ADDRESS> (Authentication failed during authentication due to invalid credentials with SASL mechanism SCRAM-SHA-512)
2019-05-31 18:00:00 ERROR clients.NetworkClient: [Consumer clientId=consumer-1, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-0] Connection to node 56 (node06.company.com/<IP_ADDRESS>:9092) failed authentication due to: Authentication failed during authentication due to invalid credentials with SASL mechanism SCRAM-SHA-512
2019-05-31 18:00:00 INFO network.Selector: [Consumer clientId=consumer-1, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-0] Failed authentication with node10.company.com/<IP_ADDRESS> (Authentication failed during authentication due to invalid credentials with SASL mechanism SCRAM-SHA-512)
2019-05-31 18:00:00 ERROR clients.NetworkClient: [Consumer clientId=consumer-1, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-0] Connection to node 60 (node10.company.com/<IP_ADDRESS>:9092) failed authentication due to: Authentication failed during authentication due to invalid credentials with SASL mechanism SCRAM-SHA-512
2019-05-31 18:00:00 WARN kafka010.KafkaOffsetReader: Error in attempt 1 getting Kafka offsets:
org.apache.kafka.common.errors.SaslAuthenticationException: Authentication failed during authentication due to invalid credentials with SASL mechanism SCRAM-SHA-512
2019-05-31 18:00:01 INFO consumer.ConsumerConfig: ConsumerConfig values:
        <redacted>
2019-05-31 18:00:01 INFO authenticator.AbstractLogin: Successfully logged in.
2019-05-31 18:00:01 INFO utils.AppInfoParser: Kafka version: 2.2.0
2019-05-31 18:00:01 INFO utils.AppInfoParser: Kafka commitId: 05fcfde8f69b0349
2019-05-31 18:00:01 INFO consumer.KafkaConsumer: [Consumer clientId=consumer-2, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-1] Subscribed to topic(s): <redacted>
2019-05-31 18:00:01 INFO clients.Metadata: Cluster ID: <redacted>
2019-05-31 18:00:01 INFO internals.AbstractCoordinator: [Consumer clientId=consumer-2, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-1] Discovered group coordinator node06.company.com:9092 (id:<PHONE_NUMBER> rack: null)
2019-05-31 18:00:01 INFO internals.ConsumerCoordinator: [Consumer clientId=consumer-2, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-1] Revoking previously assigned partitions
[]
2019-05-31 18:00:01 INFO internals.AbstractCoordinator: [Consumer clientId=consumer-2, groupId=spark-kafka-source-84afdf97-b7e0-468e-9ee1-d7ab50e81b85-1237283319-driver-1] (Re-)joining group

it seems like login with SCRAM fails a few times and then succeeds again. is this expected?

Since Kafka doesn't support dynamic parameter settings, yes.

got it. thanks
On Tue, Jun 4, 2019, 12:56 Gabor Somogyi<EMAIL_ADDRESS>wrote:

Since Kafka doesn't support dynamic parameter settings, yes.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/apache/spark/pull/22598?email_source=notifications&email_token=AAGIQJBOG73M6ZDTQNP7T4TPY2NERA5CNFSM4FYHCM42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW5GLEQ#issuecomment-498754962,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGIQJAOKP4QQJDLKKAUQULPY2NERANCNFSM4FYHCM4Q
.

we just upgraded our dev cluster from SASL_PLAINTEXT to SASL_SSL but something is wrong with the certificates (or with kafkas hostname resolution? not sure yet). so as a workaround i temporarily need to set:
ssl.endpoint.identification.algorithm = "" (blank, which disables hostname verification)
i know how to do this in spark structured streaming for kafka in general. but its not clear how i do this for the kafka token provider.
i can see the kafka admin client being created:
2019-06-07 10:17:06 INFO admin.AdminClientConfig: AdminClientConfig values:
        <redacted>
        ssl.endpoint.identification.algorithm = https
        <redacted>

how i can generally change any of these settings?
is there a key like
--conf spark.kafka.ssl.endpoint.identification.algorithm = ""
that i can use?
or perhaps per kafka cluster, like
--conf spark.kafka.clusters.<cluster>.ssl.endpoint.identification.algorithm=""
in future i could see how there are other settings in this kafka admin clients configuration that i would like to change as well, so i am looking for a general way to update it in a deployment.
thanks!

It's not yet possible. I'm having one week vacation but after that I'll add this feature.

very much appreciated. i will test it once you have branch.
have a good vacation
On Fri, Jun 7, 2019, 13:13 Gabor Somogyi<EMAIL_ADDRESS>wrote:

It's not yet possible. I'm having one week vacation but after that I'll
add this feature.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/apache/spark/pull/22598?email_source=notifications&email_token=AAGIQJGURJW5VCD63F2ACQTPZKJMVA5CNFSM4FYHCM42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXGN4OA#issuecomment-499965496,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGIQJDPIXQJZGK3WH5CI4LPZKJMVANCNFSM4FYHCM4Q
.


Add UBB Device Support

The Unifi UBB is not supported by Unpoller.
This would probably be best supported as a type of UAP, but 60Ghz would need adding as a new frequency.

do you have an api sample of this -j flag on running and post a clip here 🙏

Hi @platinummonkey, Apologies for the delay. Here's the sample error & message. Pleas let me know if you need anything else.
unifi-poller_1  | 2023/11/20 19:32:21 [ERROR] unknown asset type - ubb - skipping: data={"required_version":"0.9.19","has_speaker":false,"license_state":"registered","mesh_sta_vap_enabled":false,"type":"ubb","setup_id":"c876b770-9863-49e8-b25c-e6cbc6e79bce","hw_caps":2,"reboot_duration":0,"config_network":{"ip":"<IP_ADDRESS>","type":"dhcp"},"syslog_key":"0a2611a0bf86368f3a8094b1ace8122b424c8e8b1c5fd08561fc8bb85616fa0e","model":"UBBXG","lcm_tracker_enabled":false,"bandsteering_mode":"off","ip":"<IP_ADDRESS>","last_connection_network_name":"Device Management","ubb_is_ap":true,"led_override_color":"#0000FF","version":"<IP_ADDRESS>","unsupported_reason":0,"adoption_completed":true,"anon_id":"f1ed39e5-f46e-4461-8399-907b35670697","last_connection_network_id":"609c656948679c239271f344","country_code":0,"wlangroup_id_na":"609317f248679c23926db3c0","ubb_ssid":"6c516cd669222d7a5aa1a3aafaaaf405","antenna_table":[],"wifi_caps":0,"site_id":"609317ea48679c23926db3ad","adopted_at":1689362913,"name":"HighschoolPortables-BB-1","fw_caps":594186285,"_id":"64b1a1e1c550590396ce0d6f","ubb_bssid":"AC:8B:A9:40:C9:5C","mgmt_network_id":"609c656948679c239271f344","gateway_mac":"3c:ec:ef:32:91:55","atf_enabled":false,"radio_table":[{"antenna_gain":6,"builtin_antenna":true,"has_dfs":true,"tx_power":20,"channel":149,"max_txpower":23,"min_rssi_enabled":false,"is_11ac":true,"builtin_ant_gain":12,"ht":40,"radio":"na","tx_power_mode":"auto","name":"wifi0","min_txpower":23,"has_fccdfs":true,"radio_caps":117440516,"radio_caps2":0,"antenna_id":-1,"current_antenna_gain":0},{"antenna_gain":6,"builtin_antenna":true,"channel":"auto","max_txpower":16,"min_rssi_enabled":false,"builtin_ant_gain":19,"ht":4320,"radio":"ad","tx_power_mode":"high","name":"terra2","min_txpower":16,"radio_caps":1073741824,"radio_caps2":32,"antenna_id":-1,"current_antenna_gain":0}],"connected_at":1700439116,"two_phase_adopt":false,"inform_ip":"<IP_ADDRESS>","cfgversion":"a8666b24a9b214e2","mac":"ac:8b:a9:40:be:34","provisioned_at":1690853246,"inform_url":"http://unifi:8080/inform","ethernet_table":[{"num_port":1,"name":"ueth1","mac":"ac:8b:a9:40:be:35"}],"upgrade_duration":0,"unsupported":false,"sys_error_caps":0,"last_uplink":{"uplink_mac":"24:5a:4c:1b:11:f4","uplink_remote_port":51,"port_idx":2,"type":"wire"},"led_override":"off","disconnected_at":1700439019,"ubb_pair_name":"UniFi Building Bridge","architecture":"aarch64","x_aes_gcm":true,"has_fan":false,"has_eth1":false,"model_incompatible":false,"x_authkey":"81d01a9d224dd133571886fbc1f520b3","model_in_eol":false,"has_temperature":true,"adopted_by_client":"android","model_in_lts":false,"ubb_pair_id":"40C95C","kernel_version":"4.19.68","serial":"AC8BA940BE34","ubb_psk":"6dea90cfd1f74eeefcbbdfa206254402","fixed_ap_available":true,"led_override_color_brightness":100,"adopted":true,"hash_id":"1399907b35670697","device_id":"64b1a1e1c550590396ce0d6f","uplink":{"full_duplex":true,"mac":"ac:8b:a9:40:be:35","name":"ueth1","num_port":1,"rx_bytes":2064933802,"rx_dropped":0,"rx_errors":399431958528,"rx_packets":2580131236,"speed":10000,"tx_bytes":544639693,"tx_dropped":132841,"tx_errors":0,"tx_packets":3345105480,"up":true,"max_speed":1000,"type":"wire","tx_bytes-r":3.828723181818182E8,"rx_bytes-r":2.5423727272727273E7,"uplink_source":"lldp_uplink","uplink_mac":"24:5a:4c:1b:11:f4","port_idx":2,"uplink_remote_port":51,"uplink_device_name":"HighSchool-SW-1"},"state":1,"start_disconnected_millis":1700439019848,"upgrade_state":0,"start_connected_millis":1700439116220,"last_seen":1700508703,"next_interval":86,"disconnection_reason":"MISSED_INFORM, last_seen '1700438879', considered_lost '1700438951', state: 1","upgradable":true,"adoptable_when_upgraded":false,"upgrade_to_firmware":"<IP_ADDRESS>","known_cfgversion":"a8666b24a9b214e2","uptime":4031135,"_uptime":4031135,"locating":false,"connect_request_ip":"<IP_ADDRESS>","connect_request_port":"60110","sys_stats":{"loadavg_1":"2.11","loadavg_15":"2.31","loadavg_5":"2.21","mem_buffer":9166848,"mem_total":1969893376,"mem_used":919826432},"system-stats":{"cpu":"57.1","mem":"46.2","uptime":"4031135"},"ssh_session_table":[],"lldp_table":[{"chassis_id":"24:5a:4c:1b:11:f4","is_wired":true,"local_port_idx":2,"local_port_name":"ueth1","port_id":"Port 51"},{"chassis_id":"ac:8b:a9:40:c9:5c","is_wired":false,"local_port_name":"wlan0","port_id":"wlan0"}],"displayable_version":"1.1.0","connection_network_id":"609c656948679c239271f344","connection_network_name":"Device Management","startup_timestamp":1696477569,"is_access_point":false,"safe_for_autoupgrade":false,"ubb_peer_state":1,"link_quality":93,"link_quality_current":93,"general_temperature":31,"link_capacity":6600,"mode":"ap-ptp","p2p_stats":{"rx_rate":514371,"throughput":671686,"tx_rate":157315},"isolated":false,"radio_table_stats":[{"name":"wifi0","channel":149,"radio":"na","gain":6,"satisfaction":-1,"state":"RUN","extchannel":0,"tx_power":16,"num_sta":0,"user-num_sta":0},{"name":"terra2","channel":11,"radio":"ad","gain":6,"satisfaction":-1,"state":"RUN","extchannel":0,"tx_power":5,"num_sta":0,"user-num_sta":0}],"port_stats":[],"vwire_table":[],"vwire_vap_table":[],"downlink_lldp_macs":[],"vap_table":[{"bssid":"AC:8B:A9:40:C9:5C","channel":149,"essid":"6c516cd669222d7a5aa1a3aafaaaf405","name":"ath0","num_sta":1,"radio":"na","radio_name":"wifi0","rx_bytes":1651936352,"rx_dropped":0,"rx_errors":0,"rx_packets":1616089,"state":"RUN","tx_bytes":1715976689,"tx_dropped":0,"tx_errors":0,"tx_packets":1616455,"tx_power":16,"up":true,"usage":"user","t":"vap","ap_mac":"ac:8b:a9:40:be:34","map_id":null,"site_id":"609317ea48679c23926db3ad"}],"downlink_table":[],"bytes-d":59180448,"tx_bytes-d":13881000,"rx_bytes-d":45299448,"bytes-r":672291.1800790657,"peer_ubb":{"required_version":"0.9.19","has_speaker":false,"license_state":"registered","type":"ubb","setup_id":"7dbc2986-86e7-4d1b-abf4-f38dd5ffc9be","hw_caps":2,"reboot_duration":0,"config_network":{"ip":"<IP_ADDRESS>","type":"dhcp"},"syslog_key":"efbb6789bf3ca87df294c3c79b81ff4352ac198af24f15c456d414acebbfa11f","model":"UBBXG","ip":"<IP_ADDRESS>","last_connection_network_name":"Device Management","ubb_is_ap":false,"led_override_color":"#0000FF","version":"<IP_ADDRESS>","unsupported_reason":0,"adoption_completed":true,"anon_id":"7acd0e91-e023-4286-8e87-9b89deb28867","last_connection_network_id":"609c656948679c239271f344","country_code":0,"wlangroup_id_na":"609317f248679c23926db3c0","ubb_ssid":"6c516cd669222d7a5aa1a3aafaaaf405","antenna_table":[],"wifi_caps":0,"site_id":"609317ea48679c23926db3ad","adopted_at":1689362913,"name":"HighschoolPortables-BB-1","fw_caps":594186285,"_id":"64b1a1e1c550590396ce0d71","ubb_bssid":"AC:8B:A9:40:C9:5C","mgmt_network_id":"609c656948679c239271f344","gateway_mac":"3c:ec:ef:32:91:55","radio_table":[{"antenna_gain":6,"builtin_antenna":true,"channel":"auto","max_txpower":16,"builtin_ant_gain":19,"ht":4320,"radio":"ad","name":"terra2","min_txpower":16,"radio_caps":1073741824,"radio_caps2":32,"antenna_id":-1,"current_antenna_gain":0},{"antenna_gain":6,"builtin_antenna":true,"has_dfs":true,"tx_power":20,"channel":149,"max_txpower":23,"is_11ac":true,"builtin_ant_gain":12,"ht":40,"radio":"na","tx_power_mode":"auto","name":"wifi0","min_txpower":23,"has_fccdfs":true,"radio_caps":117440516,"radio_caps2":0,"antenna_id":-1,"current_antenna_gain":0}],"connected_at":1700441142,"two_phase_adopt":false,"inform_ip":"<IP_ADDRESS>","cfgversion":"d6b33c0855a461ac","mac":"ac:8b:a9:40:c9:5c","provisioned_at":1690853246,"inform_url":"http://unifi:8080/inform","ethernet_table":[{"num_port":1,"name":"ueth1","mac":"ac:8b:a9:40:c9:5d"}],"upgrade_duration":0,"unsupported":false,"sys_error_caps":0,"last_uplink":{"uplink_mac":"ac:8b:a9:40:be:34","type":"wireless"},"led_override":"off","disconnected_at":1700441120,"ubb_pair_name":"UniFi Building Bridge","architecture":"aarch64","x_aes_gcm":true,"has_fan":false,"has_eth1":false,"model_incompatible":false,"x_authkey":"c59a04ee4e7e147d92473d6580c1ce32","model_in_eol":false,"has_temperature":true,"model_in_lts":false,"ubb_pair_id":"40C95C","kernel_version":"4.19.68","serial":"AC8BA940C95C","ubb_psk":"6dea90cfd1f74eeefcbbdfa206254402","fixed_ap_available":true,"led_override_color_brightness":100,"adopted":true,"hash_id":"6e879b89deb28867","device_id":"64b1a1e1c550590396ce0d71","uplink":{"authorized":true,"mac":"ac:8b:a9:40:be:34","rssi":58,"ap_mac":"ac:8b:a9:40:be:34","name":"wlan0","channel":11,"radio":"ad","type":"wireless","up":true,"uplink_mac":"ac:8b:a9:40:be:34","tx_bytes-r":0.0,"rx_bytes-r":0.0,"uplink_source":"legacy","uplink_device_name":"HighschoolPortables-BB-1"},"state":1,"start_disconnected_millis":1700441120235,"upgrade_state":0,"start_connected_millis":1700441142621,"last_seen":1700508694,"next_interval":69,"disconnection_reason":"MISSED_INFORM, last_seen '1700440982', considered_lost '1700441062', state: 1","upgradable":true,"adoptable_when_upgraded":false,"upgrade_to_firmware":"<IP_ADDRESS>","known_cfgversion":"d6b33c0855a461ac","uptime":4031126,"_uptime":4031126,"locating":false,"connect_request_ip":"<IP_ADDRESS>","connect_request_port":"47718","sys_stats":{"loadavg_1":"2.03","loadavg_15":"2.32","loadavg_5":"2.22","mem_buffer":11837440,"mem_total":1969893376,"mem_used":923951104},"system-stats":{"cpu":"57.8","mem":"46.3","uptime":"4031126"},"ssh_session_table":[],"lldp_table":[{"chassis_id":"d8:b3:70:6e:b4:ff","is_wired":true,"local_port_idx":2,"local_port_name":"ueth1","port_id":"Port 25"},{"chassis_id":"ac:8b:a9:40:be:34","is_wired":false,"local_port_name":"wlan0","port_id":"wlan0"}],"displayable_version":"1.1.0","connection_network_id":"609c656948679c239271f344","connection_network_name":"Device Management","startup_timestamp":1696477569,"is_access_point":false,"safe_for_autoupgrade":false,"ubb_peer_state":1,"link_quality":93,"link_quality_current":93,"general_temperature":38,"link_capacity":6600,"mode":"sta-ptp","p2p_stats":{"rx_rate":156582,"throughput":671578,"tx_rate":514996},"isolated":false,"radio_table_stats":[{"name":"wifi0","channel":149,"radio":"na","gain":6,"satisfaction":-1,"state":"RUN","extchannel":0,"tx_power":16},{"name":"terra2","channel":11,"radio":"ad","gain":6,"satisfaction":-1,"state":"RUN","extchannel":0,"tx_power":8}],"port_stats":[],"vwire_table":[],"vwire_vap_table":[],"vap_table":[{"bssid":"AC:8B:A9:40:C9:5C","channel":149,"essid":"6c516cd669222d7a5aa1a3aafaaaf405","name":"ath0","num_sta":1,"radio":"na","radio_name":"wifi0","rx_bytes":1648088307,"rx_dropped":0,"rx_errors":0,"rx_packets":1616446,"state":"RUN","tx_bytes":1719800436,"tx_dropped":2,"tx_errors":0,"tx_packets":1616084,"tx_power":16,"up":true,"usage":"user","t":"vap","ap_mac":"ac:8b:a9:40:c9:5c","map_id":null,"site_id":"609317ea48679c23926db3ad"}],"downlink_table":[],"bytes-d":41016449,"tx_bytes-d":31440228,"rx_bytes-d":9576221,"bytes-r":672059.264963707,"uplink_ap_mac":"ac:8b:a9:40:be:34","downlink_lldp_macs":[]},"stat":{"bb":{"site_id":"609317ea48679c23926db3ad","o":"bb","oid":"ac:8b:a9:40:be:34","bb":"ac:8b:a9:40:be:34","time":1700438100000,"datetime":"2023-11-19T23:55:00Z","user-wifi0-rx_packets":28066.0,"user-terra2-rx_packets":6.0531068E7,"user-rx_packets":6.0559134E7,"wifi0-rx_packets":28066.0,"terra2-rx_packets":6.0531068E7,"rx_packets":6.0559134E7,"user-wifi0-rx_bytes":2.86847E7,"user-terra2-rx_bytes":7.4634720867E10,"user-rx_bytes":7.4663405567E10,"wifi0-rx_bytes":2.86847E7,"terra2-rx_bytes":7.4634720867E10,"rx_bytes":7.4663405567E10,"user-wifi0-rx_errors":0.0,"user-terra2-rx_errors":9650176.0,"user-rx_errors":9650176.0,"wifi0-rx_errors":0.0,"terra2-rx_errors":9650176.0,"rx_errors":9650176.0,"user-wifi0-rx_dropped":0.0,"user-terra2-rx_dropped":0.0,"user-rx_dropped":0.0,"wifi0-rx_dropped":0.0,"terra2-rx_dropped":0.0,"rx_dropped":0.0,"user-wifi0-rx_crypts":0.0,"user-terra2-rx_crypts":0.0,"user-rx_crypts":0.0,"wifi0-rx_crypts":0.0,"terra2-rx_crypts":0.0,"rx_crypts":0.0,"user-wifi0-rx_frags":0.0,"user-terra2-rx_frags":0.0,"user-rx_frags":0.0,"wifi0-rx_frags":0.0,"terra2-rx_frags":0.0,"rx_frags":0.0,"user-wifi0-tx_packets":28143.0,"user-terra2-tx_packets":4.5243291E7,"user-tx_packets":4.5271434E7,"wifi0-tx_packets":28143.0,"terra2-tx_packets":4.5243291E7,"tx_packets":4.5271434E7,"user-wifi0-tx_bytes":2.9945208E7,"user-terra2-tx_bytes":1.2303710137E10,"user-tx_bytes":1.2333655345E10,"wifi0-tx_bytes":2.9945208E7,"terra2-tx_bytes":1.2303710137E10,"tx_bytes":1.2333655345E10,"user-wifi0-tx_errors":0.0,"user-terra2-tx_errors":8887664.0,"user-tx_errors":8887664.0,"wifi0-tx_errors":0.0,"terra2-tx_errors":8887664.0,"tx_errors":8887664.0,"user-wifi0-tx_dropped":0.0,"user-terra2-tx_dropped":269032.0,"user-tx_dropped":269032.0,"wifi0-tx_dropped":0.0,"terra2-tx_dropped":269032.0,"tx_dropped":269032.0,"user-wifi0-tx_retries":0.0,"user-terra2-tx_retries":0.0,"user-tx_retries":0.0,"wifi0-tx_retries":0.0,"terra2-tx_retries":0.0,"tx_retries":0.0,"user-wifi0-mac_filter_rejections":0.0,"user-terra2-mac_filter_rejections":0.0,"user-mac_filter_rejections":0.0,"wifi0-mac_filter_rejections":0.0,"terra2-mac_filter_rejections":0.0,"mac_filter_rejections":0.0,"user-wifi0-wifi_tx_attempts":0.0,"user-terra2-wifi_tx_attempts":0.0,"user-wifi_tx_attempts":0.0,"wifi0-wifi_tx_attempts":0.0,"terra2-wifi_tx_attempts":0.0,"wifi_tx_attempts":0.0,"user-wifi0-wifi_tx_dropped":0.0,"user-terra2-wifi_tx_dropped":0.0,"user-wifi_tx_dropped":0.0,"wifi0-wifi_tx_dropped":0.0,"terra2-wifi_tx_dropped":0.0,"wifi_tx_dropped":0.0,"bytes":8.6997060912E10,"duration":7.0345E7,"user-wifi0-ath0-rx_packets":28066.0,"user-wifi0-ath0-rx_bytes":2.86847E7,"user-wifi0-ath0-tx_packets":28143.0,"user-wifi0-ath0-tx_bytes":2.9945208E7,"user-terra2-wlan0-rx_packets":6.0531068E7,"user-terra2-wlan0-rx_bytes":7.4634720867E10,"user-terra2-wlan0-tx_packets":4.5243291E7,"user-terra2-wlan0-tx_bytes":1.2303710137E10,"user-terra2-wlan0-tx_dropped":269032.0,"user-terra2-wlan0-rx_errors":9650176.0,"user-terra2-wlan0-tx_errors":8887664.0}},"tx_bytes":12333655345,"rx_bytes":74663405567,"bytes":86997060912,"num_sta":0,"user-num_sta":0,"user-wlan-num_sta":0,"x_has_ssh_hostkey":false}

Sorry, Accidental close.

This is helpful I can work with that

Any luck with this? Happy to post my UBB data if needed.

I would be interested in this, too. Do you need additional data?


Add additional reference data to dashboard

Apologies if this is the wrong place to open this issue, but:
We should add additional reference observation data to the dashboard. Specifically, net load and solar power observations.
For BA-level data (ISOs/RTOs/utilities), we can leverage the EIA Open Data API (https://www.eia.gov/opendata/), which provides hourly-resolution net load data for all US ISOs and most US utilities going back a few years. Additionally, some (but not all) areas listed in the API have solar generation data. Note: the EIA Open Data pulls directly from public sources and does not include any discernible quality control/validation of the data.
For individual systems (e.g. single PV plants), we'll need to aggregate a list of known datasets and decide what to prioritize. I need to find the link, but I know NY maintains a database of time-series data from PV plants that were involved in NY-funded work (ranging from a few kW to multiple MWs in size).

EDIT: I'm closing this issue and will then re-open the issue in core.


Version2

⚠ AR.js repository has been moved, please check it out at: https://github.com/AR-js-org/AR.js ⚠

Merge

merge


(winff) Download location have changed

Seems like the download location (as well as the home page) have changed.
This was brought up through an email message.
Currently the winff package is a manual package
Original Message
WinFF has been re-homed to http://www.biggmatt.com/winff/ and the latest version is 1.5.5. 1.5.4 as setup for chocolatey does not install. It returns a file corrupted error, no matter how many times I retry the install AFTER removing the corrupted installer from temp.

Should be embedded, particularly because:

This maybe the final version of WinFF except for preset updates.


Publish multiple BOMs in one project

Is there a way of publishing multiple sboms from one project?
I have attempted to register a new task extending the UploadSBOMTask
tasks.register('uploadAnotherSbom', UploadSBOMTask) {
    ...
}

but fails with:
Could not get unknown property 'UploadSBOMTask' for project

I tried this in our Kotlin Project and it worked, which Gradle DSL are you using?
This is the working code in Kotlin DSL
import com.liftric.dtcp.tasks.UploadSBOMTask
...

tasks {
    val uploadSbomTwo by creating(UploadSBOMTask::class) {
        url.set("https://api.dtrack.example.com")
        val dtApiKey: String? by project
        apiKey.set(dtApiKey)
        inputFile.set(File("${rootProject.buildDir}/reports/sbom/bom.json"))
        autoCreate.set(true)
        projectName.set(rootProject.name)
        projectVersion.set(rootProject.version.toString())
        parentName.set(rootProject.name)
    }

}

I tried this in our Kotlin Project and it worked, which Gradle DSL are you using?
This is the working code in Kotlin DSL

Sounds promising 👍 Using groovy however.

For the record this worked in groovy:
buildscript {
    repositories {
        maven {
            url = uri("https://plugins.gradle.org/m2/")
        }
    }
    dependencies {
        // https://mvnrepository.com/artifact/com.liftric/dependency-track-companion-plugin
        classpath("com.liftric:dependency-track-companion-plugin:1.1.0")
    }
}

import com.liftric.dtcp.tasks.UploadSBOMTask

apply plugin: 'com.liftric.dependency-track-companion-plugin'

tasks.register('uploadAnotherSbom', UploadSBOMTask) {
    ...
}


The sub menu is loaded open and doesn't collapse

I have updated to v3.8.2 and the now is the submenu loaded with all child items open. Clicking on the parent menu item doesn’t collapse anything. Regarding the menu array I am using the minimal sub menu demo.
My system is Laravel 6.0.4 with PHP 7.2

May you need to republish your views 😉

Please, check you have followed the instructions from here. Also use your browser's console, and attach any error you may see there...

Yes publish the views fix the issue. Bellow is the magic
php artisan vendor:publish --provider="JeroenNoten\LaravelAdminLte\ServiceProvider" --tag=assets --force
php artisan config:clear
php artisan cache:clear
php artisan config:cache


New version: Fermionic v1.1.2

Registering package: Fermionic
Repository: https://github.com/Marco-Di-Tullio/Fermionic.jl
Created by: @Marco-Di-Tullio
Version: v1.1.2
Commit: eb9483a13068d2ec33ee0defaad4fd644670c9c2
Reviewed by: @Marco-Di-Tullio
Reference: https://github.com/Marco-Di-Tullio/Fermionic.jl/issues/2#issuecomment-625545037

@Marco-Di-Tullio
Please retrigger Registrator. This will resolve the merge conflict.
[noblock]

@Marco-Di-Tullio
Please retrigger Registrator. This will resolve the merge conflict.
[noblock]

@JuliaRegistrator register


feat: add history to ConversationState in StreamingClient::send_message

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report
Attention: Patch coverage is 5.79710% with 65 lines in your changes missing coverage. Please review.

Project coverage is 12.28%. Comparing base (e408297) to head (27a3e41).
Report is 2 commits behind head on main.

Files with missing lines
Patch %
Lines

...tes/fig_api_client/src/clients/streaming_client.rs
4.87%
39 Missing :warning:

crates/fig_api_client/src/model.rs
0.00%
26 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #280      +/-   ##
==========================================
- Coverage   12.29%   12.28%   -0.01%
==========================================
  Files        2246     2246
  Lines      191037   191100      +63
  Branches   174951   175014      +63
==========================================
+ Hits        23479    23483       +4
- Misses     166391   166450      +59
  Partials     1167     1167

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


PureRenderMixin does not work on Formsy managed components

The shouldComponentUpdate method always finds a difference between this.props and nextProps on the '_isValidValue' key. This is a function that changes whenever Formsy.Form renders which happens whenever any Formsy managed component on the form updates. The net result is that all components on the form re-render every time a key is typed in an input field (for example).
If the form includes some expensive components then this is slow. The workaround is to extract the expensive stuff out into subcomponents (not managed by Formsy) and use PureRenderMixin there. But all Formsy forms would perform better if this was fixed.

Tx for making this excellent library available to everyone.

Alternate workaround is to use a PureRenderMixin that ignores _isValidValue in props:
/**
 * Same as React's PureRenderMixin but excludes _isValidValue from the props comparison to workaround this issue:
 * https://github.com/christianalfoni/formsy-react/issues/134
 */
var PureRenderMixin = {
    shouldComponentUpdate: function(nextProps, nextState) {
        return !shallowEqual(this.props, nextProps, '_isValidValue') ||
            !shallowEqual(this.state, nextState);
    }
};

module.exports = PureRenderMixin;

function shallowEqual(objA, objB, ignoreKey) {
    if (objA === objB) {
        return true;
    }
    var key;
    // Test for A's keys different from B.
    for (key in objA) {
        if (objA.hasOwnProperty(key) && (!objB.hasOwnProperty(key) || objA[key] !== objB[key])) {
            if (!ignoreKey || ignoreKey != key) return false;
        }
    }
    // Test for B's keys missing from A.
    for (key in objB) {
        if (objB.hasOwnProperty(key) && !objA.hasOwnProperty(key)) {
            if (!ignoreKey || ignoreKey != key) return false;
        }
    }
    return true;
}

Hi @davidtinker and thanks for looking into this :-)
I think the best solution is to make the function referenced, instead of creating it each time (inside formsy source code). That way the diff check will not see them as different values and you do not have to do anything about it :-)
I have changed this now, so it should be okay. Let me know if you see something I do not see!

Hello, how is one supposed to display error and required messages using showError() and showRequired() (using the HOC) when also using the pure-render-mixin ? Those functions depend on context therefore the components don't update. Thanks in advance for the insight.


Needs update for QuickCheck 2.7

Hi,
I’m getting build failures on Debian:
Preprocessing test suite 'properties' for ed25519-<IP_ADDRESS>...
[1 of 1] Compiling Main             ( tests/properties.hs, dist-ghc/build/properties/properties-tmp/Main.o )

tests/properties.hs:90:9:
    Constructor `Failure' should have 10 arguments, but has been given 8
    In the pattern: Failure n _ _ _ _ _ _ _
    In a case alternative: Failure n _ _ _ _ _ _ _ -> return (False, n)
    In a stmt of a 'do' block:
      case r of {
        Success n _ _ -> return (True, n)
        GaveUp n _ _ -> return (True, n)
        Failure n _ _ _ _ _ _ _ -> return (False, n)
        _ -> return (False, 0) }
make: *** [build-ghc-stamp] Error 1

http://aws-logs.debian.net/ftbfs-logs/2014/08/30/haskell-ed25519_<IP_ADDRESS>-2_unstable.log
It seems that you need to upgrade to the latest QuickCheck.

We also get buildd failures in NixOS: http://hydra.cryp.to/build/1098563/nixlog/4/raw. Is this package still actively maintained? I see a fix has been provided in https://github.com/thoughtpolice/hs-ed25519/pull/4 long ago, but it's never been merged?


Decorator based Controller doesn't comply Liskov substitution principle implemented by Hibernate

When the springmvc-raml-plugin is initialized with the rule: 'com.phoenixnap.oss.ramlapisync.generation.rules.Spring4ControllerDecoratorRule' the MVC Rest Controller is implemented by:

An interface Controller,
A Decorator that is composed by a Controller.
Note: The Decorator implements the interface Controller.

Because the Decorator methods are annotated adding restrictions on their arguments and the overridden methods of the interface are not annotated, the Decorator is not compliant with Liskov substitution principle.
The issue is that from the version >= 1.5.x of springboot, Hibernate validates the Bean against this principle and generates the error ‘Hibernate Validator - HV000151’ for our Decorator that prevents the service to process requests.
A solution would be to remove the overriding link between the Decorator and the interface Controller. Not sure this link is really relevant.
What do you think about this issue?
Note: There is a workaround that consists to disable the Hibernate validation but it is not really recommended.

Hi,
thanks for reaching us.
Can you please add some more details to the issue - raml part and Maven configuration so I can easily reproduce it?
Thanks.

Here is a project that may help you to reproduce this issue.
raml-173.zip
Procedure:

mvn clean install
mvn spring-boot:run
send a request GET to http://localhost:8080/resources/a_resource
confirm that the following error is displayed on the App console

2017-08-28 23:29:21.205 ERROR 13476 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is javax.validation.ConstraintDeclarationException: HV000151: A method overriding another method must not alter the parameter constraint configuration, but method public org.springframework.http.ResponseEntity org.test.ResourceAResourceControllerDecorator.getAResource(java.lang.String) changes the configuration of public abstract org.springframework.http.ResponseEntity org.test.ResourceAResourceController.getAResource(java.lang.String).] with root cause

In the source code, the ControllerDecorator implements Controller. But the decorator adds a constraint to one of its argument that make the decorator more strict than the interface.
If you remove the link ControllerDecorator ---|> Controller, the Get works.
Note: you need to use http headers with contraint to generate the right method
Hope this will help you to find the right solution

The (most easy) solution will be to add annotations also on interface.
It will be fixed as part of #175


[spark] Add catalog and database info for spark analyze

Purpose
Add the catalog and database info to the TableIdentifier, so that Spark can obtain more info when calling calculateSingleLocationSize.
Tests
N/A
API and Format
No.
Documentation
No.

cc @Zouxxyy, thanks.


chore: add garbage collector for cleaning in creating snapshots with no transactions

bors merge

bors merge

bors try


Back button should return to overview page

Back button from any of the other nav pages should return the user to the overview page.
Back button should not exit the app because it causes a sleep and a dcrwallet reconnect.

Verified in latest build.


Use dockerized Cassandra in tests

Fixes #2182
I tried org.testcontainers:cassandra at first, but it conflicted with the existing library and I couldn't find the benefit to use CassandraContainer instead of GenericContainer. I mean, even if we use CassandraContainer, the code will be almost the same in our test code.
2020-01-01T10:17:53.5606938Z +-io.prestosql:presto-cassandra:328-SNAPSHOT
2020-01-01T10:17:53.5607907Z   +-io.prestosql.cassandra:cassandra-driver:3.1.4-2
2020-01-01T10:17:53.5609386Z     +-io.netty:netty-handler:4.0.37.Final
2020-01-01T10:17:53.5610012Z and
2020-01-01T10:17:53.5612375Z +-io.prestosql:presto-cassandra:328-SNAPSHOT
2020-01-01T10:17:53.5653490Z   +-org.testcontainers:cassandra:1.12.3
2020-01-01T10:17:53.5654227Z     +-com.datastax.cassandra:cassandra-driver-core:3.7.1
2020-01-01T10:17:53.5655207Z       +-io.netty:netty-handler:4.0.56.Final
2020-01-01T10:17:53.5655323Z ,
2020-01-01T10:17:53.5655672Z Require upper bound dependencies error for io.dropwizard.metrics:metrics-core:3.1.2 paths to dependency are:
2020-01-01T10:17:53.5656098Z +-io.prestosql:presto-cassandra:328-SNAPSHOT
2020-01-01T10:17:53.5656330Z   +-io.prestosql.cassandra:cassandra-driver:3.1.4-2
2020-01-01T10:17:53.5767977Z     +-io.dropwizard.metrics:metrics-core:3.1.2
2020-01-01T10:17:53.5768427Z and
2020-01-01T10:17:53.5768962Z +-io.prestosql:presto-cassandra:328-SNAPSHOT
2020-01-01T10:17:53.5769501Z   +-org.testcontainers:cassandra:1.12.3
2020-01-01T10:17:53.5770041Z     +-com.datastax.cassandra:cassandra-driver-core:3.7.1
2020-01-01T10:17:53.5770587Z       +-io.dropwizard.metrics:metrics-core:3.2.2

I tried org.testcontainers:cassandra at first, but it conflicted with the existing library

@bsideup am I correct org.testcontainers:cassandra should have provided dependency on Cassandra driver?
https://github.com/testcontainers/testcontainers-java/blob/6007f7169265d8cf8b7294bdb9ce7d0c22f9e543/modules/cassandra/build.gradle#L5

even if we use CassandraContainer, the code will be almost the same in our test code

let's stay with generic container then, thanks @ebyhr for trying this out

Updated:

Remain static CassandraQueryRunner
Add Closeable to CassandraServer
Add tearDown to each tests

I'm checking the CI failure.


update(workflows): resolve node version from .nvmrc

Type of Change

Workflows

What issue does this relate to?

What should this PR do?

This PR will help workflows to resolve the node version from .nvmrc file instead of the engines prop from package.json.

What are the acceptance criteria?

Check if workflows are resolving node version which is defined in the nvm config file.

@MattIPv4 Please do a review when time permits.
Thanks.

@MattIPv4 By default nvm resolves the same npm version which is shipped with a particular node binary in this case v16.16.0.
When nvm install && nvm use command is executed in the project root it automatically resolves the npm v8.11.0.

Please note the resolved npm version here, which is the same as defined in the package's engines prop, so IMHO resolving the npm version explicitly is overkill here.
Please LMK if there are any other questions.

We specifically define the NPM version here as we've run into issues in the past where we need to bump NPM beyond what is normally shipped. The change you are proposing removes the ability, I see that as a regression in the functionality of these workflows.

I'm all for bumping the checkout action and using the newer Node.js action that has caching built-in, but let's stick to defining the versions for Node.js & NPM from engines, so they're exactly what we define them to be.

@MattIPv4 Just asking out of curiosity, are you sure the current CI install npm command works correctly?
In the CI the command executed for installing npm echoed something like npm i -g<EMAIL_ADDRESS>which does not establish the desired npm version correctly.

@MattIPv4 Please check now. I have added a step with a guard to check and update the NPM version according to package engines.npm version.

Oh interesting, maybe this has been silently failing for a while. It definitely worked at one point in the past 'cause we had to bump NPM to get dependencies installing correctly


[BUG] It's not saving the model at the configured Epochs.

Before You Report a Bug
It's only saving the G & D versions but not the main one.

Bug Description
Please provide a clear and concise description of the bug.
Steps to Reproduce
Outline the steps to replicate the issue:

Go to '...'
Click on '....'
Scroll down to '....'
Observe the error.

Expected Behavior
Save the main model every 100 Epochs.
Assets
Include screenshots or videos if they can illustrate the issue.
Desktop Details:

Operating System: [e.g., Windows 10]
Browser: [e.g., FireFox, Edge]

Additional Context

Save frequency of 100 = save on 100, 200, 300, 400, 500, 600, 700 ...

Save frequency of 100 = save on 100, 200, 300, 400, 500, 600, 700 ...

I know how to count, don't worry.
Another example with a few Epochs, so you can understand what i mean:
An error occurred connecting to Discord: Could not find Discord installed and running on this machine.
Theme Loaded: Applio
Running on local URL:  http://<IP_ADDRESS>:6969

To create a public link, set `share=True` in `launch()`.
Starting preprocess with 24 processes...
Preprocess completed in 15.44 seconds.
Starting extraction with 24 cores and rmvpe...
Pitch Extraction: 100%|██████████████████████████████████████████████████████████████| 143/143 [00:04<00:00, 35.70it/s]
Pitch extraction completed in 4.01 seconds.
Starting feature extraction...
Embedding Extraction: 100%|██████████████████████████████████████████████████████████| 143/143 [00:03<00:00, 40.47it/s]
Embedding extraction completed in 4.54 seconds.
Starting training...
Loaded pretrained (G) 'rvc/models/pretraineds/pretrained_v2/f0G40k.pth'
Loaded pretrained (D) 'rvc/models/pretraineds/pretrained_v2/f0D40k.pth'
  0%|                                                                                | 0/20 [00:00<?, ?it/s]C:\Applio\env\lib\site-packages\torch\autograd\__init__.py:251: UserWarning: Grad strides do not match bucket view strides. This may indicate grad was not created according to the gradient layout contract, or that the param's strides changed since DDP was constructed.  This is not an error, but may impair performance.
grad.sizes() = [64, 1, 4], strides() = [4, 1, 1]
bucket_view.sizes() = [64, 1, 4], strides() = [4, 4, 1] (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\torch\csrc\distributed\c10d\reducer.cpp:334.)
  Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
Milei | epoch=1 | step=20 | time=20:07:36 | training_speed=0:00:19
Milei | epoch=2 | step=40 | time=20:07:53 | training_speed=0:00:17 | lowest_value=29.705 (epoch 2 and step 31)
Milei | epoch=3 | step=60 | time=20:08:11 | training_speed=0:00:17 | lowest_value=29.413 (epoch 3 and step 44)
Milei | epoch=4 | step=80 | time=20:08:29 | training_speed=0:00:17 | lowest_value=28.087 (epoch 4 and step 61)
Milei | epoch=5 | step=100 | time=20:08:47 | training_speed=0:00:17 | lowest_value=26.095 (epoch 5 and step 87)
Milei | epoch=6 | step=120 | time=20:09:05 | training_speed=0:00:18 | lowest_value=25.451 (epoch 6 and step 111)
Milei | epoch=7 | step=140 | time=20:09:23 | training_speed=0:00:17 | lowest_value=25.451 (epoch 6 and step 111)
Milei | epoch=8 | step=160 | time=20:09:41 | training_speed=0:00:18 | lowest_value=25.451 (epoch 6 and step 111)
Milei | epoch=9 | step=180 | time=20:09:59 | training_speed=0:00:17 | lowest_value=25.451 (epoch 6 and step 111)
Saved model 'C:\Applio\logs\Milei\G_200.pth' (epoch 10)
Saved model 'C:\Applio\logs\Milei\D_200.pth' (epoch 10)
Milei | epoch=10 | step=200 | time=20:10:33 | training_speed=0:00:34 | lowest_value=25.451 (epoch 6 and step 111)
Milei | epoch=11 | step=220 | time=20:10:51 | training_speed=0:00:18 | lowest_value=25.451 (epoch 6 and step 111)
Milei | epoch=12 | step=240 | time=20:11:09 | training_speed=0:00:17 | lowest_value=23.81 (epoch 12 and step 231)
Milei | epoch=13 | step=260 | time=20:11:27 | training_speed=0:00:17 | lowest_value=23.81 (epoch 12 and step 231)
Milei | epoch=14 | step=280 | time=20:11:45 | training_speed=0:00:17 | lowest_value=23.81 (epoch 12 and step 231)
Milei | epoch=15 | step=300 | time=20:12:03 | training_speed=0:00:17 | lowest_value=23.81 (epoch 12 and step 231)
Milei | epoch=16 | step=320 | time=20:12:21 | training_speed=0:00:17 | lowest_value=23.81 (epoch 12 and step 231)
Milei | epoch=17 | step=340 | time=20:12:39 | training_speed=0:00:18 | lowest_value=23.81 (epoch 12 and step 231)
Milei | epoch=18 | step=360 | time=20:12:57 | training_speed=0:00:17 | lowest_value=23.81 (epoch 12 and step 231)
Milei | epoch=19 | step=380 | time=20:13:14 | training_speed=0:00:17 | lowest_value=23.81 (epoch 12 and step 231)
Saved model 'C:\Applio\logs\Milei\G_400.pth' (epoch 20)
Saved model 'C:\Applio\logs\Milei\D_400.pth' (epoch 20)
Milei | epoch=20 | step=400 | time=20:13:46 | training_speed=0:00:31 | lowest_value=23.81 (epoch 12 and step 231)
Milei | epoch=21 | step=420 | time=20:14:05 | training_speed=0:00:18 | lowest_value=23.81 (epoch 12 and step 231)
Milei | epoch=22 | step=440 | time=20:14:23 | training_speed=0:00:17 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=23 | step=460 | time=20:14:41 | training_speed=0:00:18 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=24 | step=480 | time=20:14:58 | training_speed=0:00:17 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=25 | step=500 | time=20:15:16 | training_speed=0:00:17 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=26 | step=520 | time=20:15:34 | training_speed=0:00:18 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=27 | step=540 | time=20:15:52 | training_speed=0:00:17 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=28 | step=560 | time=20:16:10 | training_speed=0:00:17 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=29 | step=580 | time=20:16:27 | training_speed=0:00:17 | lowest_value=22.882 (epoch 22 and step 439)
Saved model 'C:\Applio\logs\Milei\G_600.pth' (epoch 30)
Saved model 'C:\Applio\logs\Milei\D_600.pth' (epoch 30)
Milei | epoch=30 | step=600 | time=20:17:05 | training_speed=0:00:37 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=31 | step=620 | time=20:17:23 | training_speed=0:00:17 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=32 | step=640 | time=20:17:41 | training_speed=0:00:18 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=33 | step=660 | time=20:17:59 | training_speed=0:00:18 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=34 | step=680 | time=20:18:18 | training_speed=0:00:18 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=35 | step=700 | time=20:18:36 | training_speed=0:00:18 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=36 | step=720 | time=20:18:54 | training_speed=0:00:17 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=37 | step=740 | time=20:19:11 | training_speed=0:00:17 | lowest_value=22.882 (epoch 22 and step 439)
Milei | epoch=38 | step=760 | time=20:19:30 | training_speed=0:00:18 | lowest_value=22.599 (epoch 38 and step 755)
Milei | epoch=39 | step=780 | time=20:19:48 | training_speed=0:00:18 | lowest_value=22.599 (epoch 38 and step 755)
Saved model 'C:\Applio\logs\Milei\G_800.pth' (epoch 40)
Saved model 'C:\Applio\logs\Milei\D_800.pth' (epoch 40)
Milei | epoch=40 | step=800 | time=20:20:22 | training_speed=0:00:34 | lowest_value=22.599 (epoch 38 and step 755)
Training has been successfully completed with 40 epoch, 800 steps and 27.701 loss gen.
Lowest generator loss: 22.599 at epoch 38, step 755
Saved model 'C:\Applio\logs\Milei\Milei_40e_800s.pth' (epoch 40 and step 800)
Saved index file 'C:\Applio\logs\Milei\added_Milei_v2.index'

It's only creating the last main weight at the end of the train: Milei_40e_800s.pth, where are the others pth?
It's configured to save every 10 Epochs, but it's only creating G & D.
PD: I'm using the last commit vua GIT PULL, not the zipped one.

With the zipped version 3.2.2:
An error occurred connecting to Discord: Could not find Discord installed and running on this machine.
Theme Loaded: Applio
Running on local URL:  http://<IP_ADDRESS>:6969

To create a public link, set `share=True` in `launch()`.
Starting preprocess with 24 cores...
Preprocess completed in 20.91 seconds.
Starting extraction with 24 cores and rmvpe...
F0 Extraction: 100%|█████████████████████████████████████████████████████████████████| 106/106 [00:03<00:00, 31.56it/s]
F0 extraction completed in 3.36 seconds.
Starting feature extraction...
Processing 0_98.wav (184, 768): 100%|████████████████████████████████████████████████| 106/106 [00:02<00:00, 41.97it/s]
Feature extraction completed in 3.74 seconds.
Saved index file 'C:\ApplioV3.2.2\logs\Milei\added_Milei_v2.index'
Starting training...
Loaded pretrained (G) 'rvc/models/pretraineds/pretrained_v2/f0G40k.pth'
Loaded pretrained (D) 'rvc/models/pretraineds/pretrained_v2/f0D40k.pth'
  0%|                                                                                | 0/18 [00:00<?, ?it/s]C:\ApplioV3.2.2\env\lib\site-packages\torch\autograd\__init__.py:251: UserWarning: Grad strides do not match bucket view strides. This may indicate grad was not created according to the gradient layout contract, or that the param's strides changed since DDP was constructed.  This is not an error, but may impair performance.
grad.sizes() = [64, 1, 4], strides() = [4, 1, 1]
bucket_view.sizes() = [64, 1, 4], strides() = [4, 4, 1] (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\torch\csrc\distributed\c10d\reducer.cpp:334.)
  Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
Milei | epoch=1 | step=18 | time=20:56:19 | training_speed=0:00:16
Milei | epoch=2 | step=36 | time=20:56:34 | training_speed=0:00:15 | lowest_value=29.664 (epoch 2 and step 18)
Milei | epoch=3 | step=54 | time=20:56:49 | training_speed=0:00:14 | lowest_value=27.647 (epoch 3 and step 46)
Milei | epoch=4 | step=72 | time=20:57:03 | training_speed=0:00:14 | lowest_value=27.647 (epoch 3 and step 46)
Milei | epoch=5 | step=90 | time=20:57:18 | training_speed=0:00:14 | lowest_value=26.5 (epoch 5 and step 73)
Milei | epoch=6 | step=108 | time=20:57:33 | training_speed=0:00:14 | lowest_value=26.5 (epoch 5 and step 73)
Milei | epoch=7 | step=126 | time=20:57:48 | training_speed=0:00:14 | lowest_value=24.512 (epoch 7 and step 111)
Milei | epoch=8 | step=144 | time=20:58:02 | training_speed=0:00:14 | lowest_value=24.512 (epoch 7 and step 111)
Milei | epoch=9 | step=162 | time=20:58:17 | training_speed=0:00:14 | lowest_value=24.43 (epoch 9 and step 146)
Saved model 'C:\ApplioV3.2.2\logs\Milei\G_180.pth' (epoch 10)
Saved model 'C:\ApplioV3.2.2\logs\Milei\D_180.pth' (epoch 10)
Saved model 'C:\ApplioV3.2.2\logs\Milei\Milei_10e_180s.pth' (epoch 10 and step 180)
Milei | epoch=10 | step=180 | time=20:58:56 | training_speed=0:00:39 | lowest_value=24.43 (epoch 9 and step 146)
Milei | epoch=11 | step=198 | time=20:59:11 | training_speed=0:00:14 | lowest_value=24.364 (epoch 11 and step 196)
Milei | epoch=12 | step=216 | time=20:59:26 | training_speed=0:00:14 | lowest_value=24.364 (epoch 11 and step 196)
Milei | epoch=13 | step=234 | time=20:59:40 | training_speed=0:00:14 | lowest_value=24.364 (epoch 11 and step 196)
Milei | epoch=14 | step=252 | time=20:59:55 | training_speed=0:00:14 | lowest_value=24.364 (epoch 11 and step 196)
Milei | epoch=15 | step=270 | time=21:00:10 | training_speed=0:00:14 | lowest_value=24.364 (epoch 11 and step 196)
Milei | epoch=16 | step=288 | time=21:00:25 | training_speed=0:00:14 | lowest_value=24.364 (epoch 11 and step 196)
Milei | epoch=17 | step=306 | time=21:00:39 | training_speed=0:00:14 | lowest_value=24.16 (epoch 17 and step 298)
Milei | epoch=18 | step=324 | time=21:00:54 | training_speed=0:00:14 | lowest_value=24.16 (epoch 17 and step 298)
Milei | epoch=19 | step=342 | time=21:01:08 | training_speed=0:00:14 | lowest_value=24.16 (epoch 17 and step 298)
Saved model 'C:\ApplioV3.2.2\logs\Milei\G_360.pth' (epoch 20)
Saved model 'C:\ApplioV3.2.2\logs\Milei\D_360.pth' (epoch 20)
Saved model 'C:\ApplioV3.2.2\logs\Milei\Milei_20e_360s.pth' (epoch 20 and step 360)
Milei | epoch=20 | step=360 | time=21:01:46 | training_speed=0:00:37 | lowest_value=22.97 (epoch 20 and step 345)
Milei | epoch=21 | step=378 | time=21:02:00 | training_speed=0:00:14 | lowest_value=22.516 (epoch 21 and step 369)
Milei | epoch=22 | step=396 | time=21:02:15 | training_speed=0:00:14 | lowest_value=22.516 (epoch 21 and step 369)
Milei | epoch=23 | step=414 | time=21:02:29 | training_speed=0:00:14 | lowest_value=22.516 (epoch 21 and step 369)
Milei | epoch=24 | step=432 | time=21:02:44 | training_speed=0:00:14 | lowest_value=22.516 (epoch 21 and step 369)
Milei | epoch=25 | step=450 | time=21:02:58 | training_speed=0:00:14 | lowest_value=22.516 (epoch 21 and step 369)
Milei | epoch=26 | step=468 | time=21:03:13 | training_speed=0:00:14 | lowest_value=22.516 (epoch 21 and step 369)
Milei | epoch=27 | step=486 | time=21:03:27 | training_speed=0:00:14 | lowest_value=22.516 (epoch 21 and step 369)
Milei | epoch=28 | step=504 | time=21:03:42 | training_speed=0:00:14 | lowest_value=22.516 (epoch 21 and step 369)
Milei | epoch=29 | step=522 | time=21:03:56 | training_speed=0:00:14 | lowest_value=22.516 (epoch 21 and step 369)
Saved model 'C:\ApplioV3.2.2\logs\Milei\G_540.pth' (epoch 30)
Saved model 'C:\ApplioV3.2.2\logs\Milei\D_540.pth' (epoch 30)
Saved model 'C:\ApplioV3.2.2\logs\Milei\Milei_30e_540s.pth' (epoch 30 and step 540)
Milei | epoch=30 | step=540 | time=21:04:31 | training_speed=0:00:35 | lowest_value=22.516 (epoch 21 and step 369)
Milei | epoch=31 | step=558 | time=21:04:46 | training_speed=0:00:15 | lowest_value=22.516 (epoch 21 and step 369)
Milei | epoch=32 | step=576 | time=21:05:01 | training_speed=0:00:14 | lowest_value=22.516 (epoch 21 and step 369)
Milei | epoch=33 | step=594 | time=21:05:15 | training_speed=0:00:14 | lowest_value=22.441 (epoch 33 and step 578)
Milei | epoch=34 | step=612 | time=21:05:30 | training_speed=0:00:14 | lowest_value=22.441 (epoch 33 and step 578)
Milei | epoch=35 | step=630 | time=21:05:45 | training_speed=0:00:14 | lowest_value=22.441 (epoch 33 and step 578)
Milei | epoch=36 | step=648 | time=21:05:59 | training_speed=0:00:14 | lowest_value=22.441 (epoch 33 and step 578)
Milei | epoch=37 | step=666 | time=21:06:14 | training_speed=0:00:14 | lowest_value=22.441 (epoch 33 and step 578)
Milei | epoch=38 | step=684 | time=21:06:29 | training_speed=0:00:14 | lowest_value=22.441 (epoch 33 and step 578)
Milei | epoch=39 | step=702 | time=21:06:43 | training_speed=0:00:14 | lowest_value=22.441 (epoch 33 and step 578)
Saved model 'C:\ApplioV3.2.2\logs\Milei\G_720.pth' (epoch 40)
Saved model 'C:\ApplioV3.2.2\logs\Milei\D_720.pth' (epoch 40)
Saved model 'C:\ApplioV3.2.2\logs\Milei\Milei_40e_720s.pth' (epoch 40 and step 720)
Milei | epoch=40 | step=720 | time=21:07:17 | training_speed=0:00:34 | lowest_value=22.441 (epoch 33 and step 578)
Training has been successfully completed with 40 epoch, 720 steps and 29.23 loss gen.
Lowest generator loss: 22.441 at epoch 33, step 578
Saved model 'C:\ApplioV3.2.2\logs\Milei\Milei_40e_720s.pth' (epoch 40 and step 720)
Saved index file 'C:\ApplioV3.2.2\logs\Milei\added_Milei_v2.index'

See the difference?

so just use that 🤷

so just use that 🤷

so just use that 🤷

really? this is the suggested solution?
noice 👌


replace random nonces with message sequence numbers

Fixes #564.

I did some benchmarking of this today. Running iperf I observed a ~1% drop compared to master, based on the highest throughput figure from 10 runs. The variance is much greater than 1% though, so I'm not going to read much into that result, and in any case a 1% drop would be perfectly acceptable. It is certainly possible that there might be a slight performance decrease with this change, since we have increased the encapsulation overhead by 6 bytes (2 byte offset in the old code vs 8 byte message sequence number here).
I also ran multiweave, attempting to determine how many weaves I can get to fully establish connections. On master I get as far as 32. On this branch to 50. The reason is likely twofold. Firstly, on master we run into #564, which this fixes. Secondly, crypto on the tcp connection should perform much better on this branch, and since connection establishment is mostly about the tcp connections, that likely makes a difference in the test.

Ok, I'm going to add a few specific comments about the current advanceState implementation. And then explain how the current windowing approach offends my sense of micro-optimization, and should all be different.

We never seem to actually use di.highestSeqNoSeen except to calculate its window number here.

Not quite. We have the following in the default case:
		if seqNo > di.highestSeqNoSeen {
			di.highestSeqNoSeen = seqNo
		}

Almost all fixed in the above commit. I will squash that, but figured it would be better to have it around temporarily so it's obvious what i've changed.
Good call on the naming and dispatching on the delta. And good catch on the overflow.
Re di.currentWindow - see comment above
Re ordering... I thought about this a fair bit when I wrote the code and experimented with a few variations. In the end I settled on what I have because the default case is special. It sticks out visually, due to the keyword and coming last. I therefore chose to make it the logically special case of the five. And that is the 0 case, which a) is the common case, b) the only case with a delta comparison not involving +/-1, and c) the only case where we have a nested conditional.

Not quite. We have the following in the default case:

Yes.  But why can't that be turned into di.currentWindow = window in the appropriate places?

ah true. Just realised that myself :)


Automated code formatting

It's good practice to follow some code formating standards.
See e.g. how it's done in MONAI: https://github.com/Project-MONAI/MONAI/blob/master/CONTRIBUTING.md#automatic-code-formatting

Related issue #10

it's indeed a duplicate


⚠ UdeS website (prod) has degraded performance

In 5c595c0, UdeS website (prod) (https://www.usherbrooke.ca/) experienced degraded performance:

HTTP code: 200
Response time: 1436 ms

Resolved: UdeS website (prod) performance has improved in 41babcd.


Expect Content-Type to be empty or to not exist

In certain instances where I expect a malformed response (such as a improperly built 401 response), I should also expect the Content-Type field in the header to not exist rather than expect a certain type, that way I don't see this in my test results:
0    [main] WARN  com.jayway.restassured.internal.RequestSpecificationImpl$RestAssuredHttpBuilder
Could not parse content-type: Response does not have a content-type header

This is not a very big deal since it's passed over and it does not invalidate my tests, but I do want the ability to expect a null-or-empty Content-Type for these responses. Something like:
expect()
    .statusCode(401)
.given()
    .header(badHeader)
    .contentType(ContentType.NAN)
.when()
    .get(APP_URL);

Given my brief reading of the docs - my suggestion, if possible, is to add NAN (or similarly named) to the Enum list. However the only problem there is that the header itself doesn't exist in these kinds of responses, so you have to ensure that HttpResponseContentTypeFinder considers this case.

Can't you do .contentType(nullOrEmptyString())?

Not that I can tell. ContentType evaluates as a Enum and the only string that it can accept is to return the ContentType based on a string like "application/json" to return JSON as a ContentType.

Sorry I misunderstood, I thought you ment that you wanted to verify that the content-type was not present in the response (and if so you can use that hamcrest matcher). So you want to exclude the content-type header from the request? If you do:
given().
		config(RestAssured.config.encoderConfig(EncoderConfig.encoderConfig().appendDefaultContentCharsetToContentTypeIfUndefined(false))).
        contentType(""). ..

REST Assured will send an empty content-type header: Content-Type:  (i.e. the content-type header still exists but is empty). Will that work for you?

My apologies for not explaining it very well. What I do mean is that want the ability to verify it was not present in a response to understand when our responses are malformed (missing Content-Type).
This being said, I ultimately want the ability to pass/fail a test based on whether Content-Type exists in the header or not (some special cases either myself or other users would maybe want to remove it and expect that it not be there).

Ok but wasn't that what I tried to explain here? You should be able to do so by using that Hamcrest matcher?

The problem there is something like nullOrEmptyString() takes a string and returns a boolean. ContentType is a RequestSpecification (same as given()) that takes a string.
You have tests that validate that a ContentType won't match when expected to have a different value of an enum. You can't expect to check for a null or empty ContentType to be given.
Example: ContentTypeTest.java
@Test public void
    content_type_doesnt_match_when_expected_content_type_is_null() {
        // Given
        final String expected = null;

        // When
        boolean matches = ContentType.JSON.matches(expected);

        // Then
        assertThat(matches, is(false));
    }

As expected:
// true
ContentType.JSON.matches("application/json")

// false
ContentType.JSON.matches("")

The ContentType can be null according to the parser, however the hamcrest matcher for expect() or given() only evaluates a string based on the enum for which the following charsets are available (ContentType.java):
ANY("*/*"),
TEXT("text/plain"),
JSON("application/json", "application/javascript", "text/javascript"),
XML("application/xml", "text/xml", "application/xhtml+xml"),
HTML("text/html"),
URLENC("application/x-www-form-urlencoded"),
BINARY("application/octet-stream");

To my knowledge you cannot (easily) apply a null to an enum, so my suggestion would to be to have whatever extracts the Content-Type transpose null to an empty string. The enum could then add:
...,
...,
NONE("");

To allow for the possibility testing against responses that either have an empty Content-Type or no Content-Type within the header.
I'm simply looking for what is available in the library, and if it's not then I care about how to make it fit best within the library so any PR I submit adds value to the project.

Sorry but I still don't understand. Here's a simple test that shows that you can indeed verify empty content-types:
@Test public void
can_assert_empty_or_null_content_type() {
    given().
            filter((requestSpec, responseSpec, ctx) -> new ResponseBuilder().setStatusCode(200).setHeader("Some", "Value").setBody("Test").build()).
    when().
            get("/something").
    then().
            contentType(isEmptyOrNullString());
}

It's using the isEmptyOrNullString() Hamcrest matcher.

I think my problem was that I was using it in the context of given() which gives me:
[ERROR] (argument mismatch; org.hamcrest.Matcher<java.lang.String> cannot be converted to com.jayway.restassured.http.ContentType)

However in the context of then() the Hamcrest matcher for isEmptyOrNullString() works perfectly. That is my fault for that disconnect. I will look more closely into how that works for my own education.
Thank you for your help!


How do I get the constraints of a paramz array?

I have the model.param_array. Is there something equivalent for the constraints?

Thanks! However, when I do the following:
Class definition
    class ExampleClass(Parameterized):
        def __init__(self):
            param1 = Param("param1", np.asarray([5.]))

    algorithm = ExampleClass() # Inherits from Parameterized
    print(algorithm.constraints) # output 1
    print(algorithm.param1.constraints) # output 2

Gives the following output (which is a bit cryptic for me)
Output 1:
{Logistic: array([0]),
 Logistic: array([1]),
 Logistic: array([2]),
 'fixed': array([], dtype=int64)}

Output 2.
[]


Can not disable tasks with "is defined" condition

Describe the problem
All variables are defined in defaults/main.yml and some tasks have the is defined condition. In Ansible it is impossible to undefine a variable once it has been set, therefore these conditions do not make sense. E.g.
  when:
    - docker_pip_dependencies is defined

https://github.com/MVladislav/ansible-docker/blob/main/tasks/section0.yml#L32
https://github.com/MVladislav/ansible-docker/blob/main/tasks/section0.yml#L124

I guess it would make most sense to just change this conditions to check if it is not empty (this covers not defined, not None, and not zero length). E.g.:
  when:
    - docker_pip_dependencies

The code would become shorter and there would be multiple ways to disable it (e.g. set to None or set to empty list [] or empty string ""...).
Expected behavior
One would expect that Pip would be disabled with current defaults:
docker_pip_dependencies: []
docker_install_pip: []

https://github.com/MVladislav/ansible-docker/blob/main/defaults/main.yml#L20
https://github.com/MVladislav/ansible-docker/blob/main/defaults/main.yml#L38

What is version of application which has the issue?
ansible-docker
What was the last working version of the application?
No response
What type of installation are you running?
OS (setup.py)
What type of device you use to interact with the application?
OS: [e.g. linux, windows, ios]
Example JSON snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response

I still believe that all when: blocks with the is defined condition actually want to check "is not empty" (meaning either not defined, None or length=0). To check for "is not empty" the is defined part just needs to be removed.

...

Hay @gw0
thanks for your proposal, i will perform the changes next time (also saw this problem in other Ansible project i wrote)
and sorry for the auto bot stale comments, had not saw your issue and was busy the last months.

unset for list variables seams not be possible to set with 'null', loop runs before when.
but i add more checks to skip list variables when they are set as empty (with []).
if something missed or you have any other solution, let me know.


feat: support SARIF output formatter

SARIF (Static Analysis Results Interchange Format) is an OASIS Standard that defines an output file format. The SARIF standard is used to streamline how static analysis tools share their results.

SARIF can be used by GitHub Code Scanning feature, which ill produce reports avaliable from the GitHub Security tab. I haven built a sample repository for the PR, you can use this sample repository to see the general effect.
In Security Tab: https://github.com/yeshan333/luacheck_sarif_report_demo/security/code-scanning

In Pull Request: https://github.com/yeshan333/luacheck_sarif_report_demo/pull/1

SARIF is a Standard Static Analysis Results Interchange Format. There are tools such as megalinter that aggregate the scans of multiple tools into a single SARIF report that can be used in a variety of CI systems. It's a bit strange for Github to classify scan results in Security Tab.


Make edpm_nftables role compliant with ansible-lint production profile`

fixed linting issues in files/00-base-rules.yaml file
added changed_when/failed_when in command/shell tasks
replaced ' with " in mode parameter for coherence with the rest of the repo
added set -o pipefail in shell tasks where needed
replaced ignore_errors: true with failed_when
replaced systemctl usage in command tasks with service_facts and systemd modules

/unhold

recheck


Add README

ADD A LICENSE WITH THIS!!!!
Probably do MIT license...

 I agree with MIT I'll ask @lambdarobert abt that too since we technically need his approval as well.


Understand how users set up their devices to be aligned with the requirements needed.

Context:
In the context of "In order to understand our users scenarios, as a EDS team member, I need to collect information about their equipment and physical context https://github.com/equinor/design-system/issues/3433" is important to understand how users set up their devices to be aligned with the requirements needed.
This task cover the same general and specific objectives than its parent task:
General objective:
EDS team members have a complete comprehension of the context on how offshore users access to our digital products covering clothing, equipment, type of devices and the most common contextual physical characteristics (luminosity, indoor/outdoor, weather, etc).
Specific objectives:

To build a unique and wide scope perspective about our users which allows to make better informed decisions for EDS.
To give valuable feedback and well informed decisions to support teams on specific projects.

Outcome:
Have access and attend the onboarding for DWF workers.
Owner: @marinalinn

Requested to attend an onboarding process for DWF for May 29th ✅

Received an answer from DWF where they said it would be possible to have the onboarding on May 29th. Currently checking times on both sides.

The meeting was on June 5, with @vnys  and Atle from DFW. I also invited Birte so she can have better context as well.
In the meeting Atle presented everything related to:

DFW Corporate Program
Benefits of the program
How DFW program helps to improve safety
Scope of the initiative
Data devices
Users
Usability and current pain points on mobiles