Does "load" only support xdp programs?

Looking through the API revamp, it looks really nice! There are still a few plumbing things I don't quite understand yet, but I'm sure they're there for a reason.
Submitted a pull request fixing the example kprobe program given by calling cargo bpf add and went to load the program in the kernel with cargo bpf load but realized that it only supports XDP programs? Any thoughts on expanding that functionality?
It's not a big issue (imho) because it's more useful to be able to load programs from a userspace process, but it might be nice for checking the validity of code against the BPF verifier.
If that's not on the horizon, I'm considering rewriting as many of the BCC tools with this library as I can, I may make a generic "loader" tool that loads and maybe reads from a perf buffer or something. Thoughts?

Yeah, unfortunately the way the kernel treats syscall symbols is a bit special. You'll have to use the "entry point" names as can be found at https://filippo.io/linux-syscall-table/, prefixed by __x64_ for amd64 architecture. ingraind handles this with an architecture-dependent constant.

@alessandrod and @rsdy thanks for the quick replies!
To be clear:

you must use architecture specifications in order to access syscall symbols, but not regular kernel functions? Or is this true for all krpobes listed with # bpftrace -l | grep kprobe?

In order to load a bpf program to the kernel, you must first load() and then attach_probe()?

Hopefully this is more helpful than annoying!

Correct on both points.


Bug 1731068: Update Jenkins Devtools Owners

/bugzilla refresh

/approve

/lgtm

Fixed in master here.
https://github.com/openshift/jenkins/pull/886/files
Using /cherry-pick next time will help me track how these things link.


fix path if running from other dir

If running roadrunner from another directory - always exception Laravel bootstrap file not found

@Alex-Bond maybe you have a better idea than mine?


feat: add codecademy typescript course

What does this PR do?
Add resource
For resources
Description
This PR adds a Codecademy course about Typescript
Why is this valuable (or not)?
This is one of the courses that I did to learn Typescript and I felt that helped me a lot
How do we know it's really free?
Create an account on the platform and press start
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

@eshellman

Thanks, and welcome to free-programming-books!


Custom Create action button does not work in getHeaderActions

Package
filament/filament
Package Version
v3.0.0
Laravel Version
v10.10
Livewire Version
v3.0.0
PHP Version
PHP 8.2.11
Problem description
I inserted an action button in the 'getHeaderActions' method, but when I try to load an image, the variable 'isUploadingFile' is not triggered:
Action::make('create')
->label(__('filament-panels::resources/pages/create-record.form.actions.create.label'))
->action('create')
->keyBindings(['command+s', 'ctrl+s']),

If, instead, I replace ->action() with ->submit(), nothing happens because the submit button is outside the form:
Action::make('create')
->label(__('filament-panels::resources/pages/create-record.form.actions.create.label'))
->submit('create')
->keyBindings(['command+s', 'ctrl+s']),

Expected behavior
The expected result is that in ->action('create') you can inherit all the functionality of the submit button in the form
Steps to reproduce
1 - Add the getHeaderActions method in CreateResource;
2 - Insert a custom Action as follows:
Action::make('create')
->label(__('filament-panels::resources/pages/create-record.form.actions.create.label'))
->create('create')
->keyBindings(['command+s', 'ctrl+s']),

Try clicking on the button in the form

Reproduction repository
https://github.com/framansi/filament-cms/blob/master/app/Filament/Resources/PostResource/Pages/CreatePost.php
Relevant log output
No response

Honestly, this isn't a bug as the isUploadingFile variable is set on the form.
So I'll close this issue, but will ask @danharrin for any suggestions.


results do not agree with the author

I tested the model provided by the authors and the results were a bit different from what the authors described.
Do you have the same experience?
model: large.
result:
[{"name":"Accuracy","value":0.9636818107904509,"order":"desc"},{"name":"FP","value":0.021141864366163457,"order":"asc"},{"name":"FN","value":0.03633477114785525,"order":"asc"},{"name":"F1","value":0.9712022686934042,"order":"asc"}]

I know the reason:
I change the code here
locations[:0, :, :] /= H
locations[:1, :, :] /= W
to:
locations[:,0, :, :] /= H
locations[:,1, :, :] /= W

@CongerW  Can you tell me how did you obtain those results! As per the documentation I can not figure it out how to obtain those metrics via the code available?

@CongerW Can you tell me how did you obtain those results! As per the documentation I can not figure it out how to obtain those metrics via the code available?

You can use the code: tools/condlanenet/tusimple/evaluate/lane.py to get the metrics.

@gautamjain1009


Port 0 is accepted as a valid port

Passing -P 0 argument should raise error and not be accepted.

Initiated PR #3 to fix port 0 and an example of unit tests.

Right now the behavior is that port 0 is redirected to the default port of that service
so if i pass -P 0 with an https link it will redirect it to port 443
Should i change that?

Having a default port for the transports is a good idea, however I would recommend to borrow the idea from ssh or ftp and if the port is not eliminated from the command line, then the default port number for each transport protocol is used, instead of using port 0 (which is reserved by IANA and technically invalid for our purposes) should be rejected.

I think you're right, Thanks for the PR let me merge it.


Update to ES6 class syntax

How do you feel about this?
It would certainly improve readability.

Absolutely! Especially now since recent node.js supports almost the full ES6 language syntax (however I want to provide support for old node.js versions too, so a transpiler must be used).
Refactoring it is just a matter of time and priorities. If you are genuinely interested, I will accept any PR that introduces any enhancement in this sense.

My latest pull request concludes the best start for the es6 update. I will open new issues for any other enhancements we can now do (promises etc).

Done!


Redefine the Container Runtime Interface

Description
We should separate image management, resource / cgroup management, logging management from today's runtime interface. After this effort, we effectively make today's runtime interface as pod / container lifecycle management interface. cc @yujuhong @dchen1107
Proposal here: https://github.com/kubernetes/kubernetes/pull/25899
Progress Tracker

[ ] Before Alpha

[ ] Write and maintain draft quality doc

[ ] During development keep a doc up-to-date about the desired experience of the feature and how someone can try the feature in its current state. Think of it as the README of your new feature and a skeleton for the docs to be written before the Kubernetes release. Paste link to Google Doc: DOC-LINK

[ ] Design Approval

[ ] Design Proposal.  This goes under docs/proposals.  Doing a proposal as a PR allows line-by-line commenting from community, and creates the basis for later design documentation.  Paste link to merged design proposal here: PROPOSAL-NUMBER
[ ] Initial API review (if API).  Maybe same PR as design doc. PR-NUMBER

Any code that changes an API (/pkg/apis/...)
cc @kubernetes/api

[ ] Identify shepherd (your SIG lead and/or<EMAIL_ADDRESS>will be able to help you). My Shepherd is<EMAIL_ADDRESS>(and/or GH Handle)

A shepherd is an individual who will help acquaint you with the process of getting your feature into the repo, identify reviewers and provide feedback on the feature. They are not (necessarily) the code reviewer of the feature, or tech lead for the area.
The shepherd is not responsible for showing up to Kubernetes-PM meetings and/or communicating if the feature is on-track to make the release goals. That is still your responsibility.

[ ] Identify secondary/backup contact point. My Secondary Contact Point is<EMAIL_ADDRESS>(and/or GH Handle)

[ ] Write (code + tests + docs) then get them merged.  ALL-PR-NUMBERS

[ ] Code needs to be disabled by default.   Verified by code OWNERS
[ ] Minimal testing
[ ] Minimal docs

cc @kubernetes/docs on docs PR
cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
New apis: Glossary Section Item in the docs repo: kubernetes/kubernetes.github.io

[ ] Update release notes

[ ] Before Beta

[ ] Testing is sufficient for beta
[ ] User docs with tutorials
- Updated walkthrough / tutorial in the docs repo: kubernetes/kubernetes.github.io
- cc @kubernetes/docs on docs PR
- cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
[ ] Thorough API review

cc @kubernetes/api

[ ] Before Stable

[ ] docs/proposals/foo.md moved to docs/design/foo.md
- cc @kubernetes/feature-reviewers on this issue to get approval before checking this off
[ ] Soak, load testing
[ ] detailed user docs and examples

cc @kubernetes/docs
cc @kubernetes/feature-reviewers on this issue to get approval before checking this off

FEATURE_STATUS is used for feature tracking and to be updated by @kubernetes/feature-reviewers.
FEATURE_STATUS: IN_DEVELOPMENT
More advice:
Design

Once you get LGTM from a @kubernetes/feature-reviewers member, you can check this checkbox, and the reviewer will apply the "design-complete" label.

Coding

Use as many PRs as you need.  Write tests in the same or different PRs, as is convenient for you.
As each PR is merged, add a comment to this issue referencing the PRs.  Code goes in the http://github.com/kubernetes/kubernetes repository,
and sometimes http://github.com/kubernetes/contrib, or other repos.
When you are done with the code, apply the "code-complete" label.
When the feature has user docs, please add a comment mentioning @kubernetes/feature-reviewers and they will
check that the code matches the proposed feature and design, and that everything is done, and that there is adequate
testing.  They won't do detailed code review: that already happened when your PRs were reviewed.
When that is done, you can check this box and the reviewer will apply the "code-complete" label.

Docs

[ ] Write user docs and get them merged in.
User docs go into http://github.com/kubernetes/kubernetes.github.io.
When the feature has user docs, please add a comment mentioning @kubernetes/docs.
When you get LGTM, you can check this checkbox, and the reviewer will apply the "docs-complete" label.

cc @kubernetes/sig-node @euank @yifan-gu

Great, thanks for listing all these here!

@dchen1107 @yujuhong can you clarify the actual status of the feature?

Here is the current status and agreement sig-node team agreed upon for 1.5 release:
cc/ @derekwaynecarr @philips @yujuhong

New Container Runtime Interface (CRI) is going to be released as alpha version in 1.5. This should be announced in 1.5 release notes.
Porting Docker integration for the new CRI is going to be released as alpha support in 1.5. We made some cautious decision on dropping some features during the development. For example, HostPort, network bandwidth shaping, etc. This should be included in 1.5 release notes including the detail information of the feature parity. @yujuhong has the detail information on this.
Other container runtime implementations under CRI, such as rkt, cri-o, and hyperd etc. are not at alpha state yet. They should not be included in 1.5 release notes.

Can we add a link to the documentation for this issue?

ping @dchen1107 @yujuhong

doc: https://github.com/kubernetes/community/blob/master/contributors/devel/container-runtime-interface.md

@dchen1107 @yujuhong can you confirm that this item targets beta in 1.6?

@yujuhong any update on this feature? Docs and release notes are required (please, provide them to the features spreadsheet.

Pingity ping. Is there a Docs PR for this? Is one needed?

@yujuhong any update on this feature? Docs and release notes are required (please, provide them to the features spreadsheet.

I updated the spreadsheet with the release note and "no" for the doc a week ago. @idvoretskyi changed my answer to yes. Is there a reason for doing that?

@yujuhong can you submit a documentation PR with a few words about the changes since the feature has been graduated to beta?
Per release note "The Docker-CRI implementation is Beta and is enabled by default in kubelet.  You can disable it by --enable-cri=false."; the changes are notable and it is likely to reflect them in the documentation.

It doesn't need a "doc" since it's not really a feature (it's really a refactoring). It does need more detailed release note on impact and upgrade.
E.g., I updated this: https://github.com/kubernetes/community/blob/master/contributors/devel/container-runtime-interface.md#kubernetes-v16-release-docker-cri-integration-beta
sig-node will update the release note to include the relevant bits. I also plan to send out an email to explain the impact of this change.

I updated the tracking sheet for 1.6.  Thanks.

When do we close this?

We made the docker-cri integration the default in 1.6. Closing this issue.

does this imply CRI is now considered stable/GA?

does this imply CRI is now considered stable/GA?

No. CRI as an internal API for kubelet and the built-in dockershim implementation is stable/GA; CRI as an external API for other runtimes is still Alpha.

@yujuhong ok, so the docker integration is being promoted from beta in v1.6 to stable as part of v1.7? just thinking about this in the context of release notes

@spiffxp ah I see. This issue is marked v1.6, so I didn't know you were asking about the release note for v1.7.
Yes, the CRI-Docker integration is GA in 1.7 (and we've actually removed the old docker integration completely).

d'oh, somehow I didn't notice this was v1.6 only, but yeah, probably worth pointing out for v1.7, thanks


centerThemes

PR is in response to "Better Spacing of Themes #27" issues that was assigned. Added a 'wrapper' div and used flexbox to center the themes.
note
I did this while following along to the beginning part of the "Add a Theme" tutorial so it didn't show the 20 something themes that are actually there. Just the standard themes when you're following the tutorial. If I need to fix this with the actual themes that are there I can but it seemed to center the 2 standard themes that were there off the bat :)

Could you try following the steps here to remove package-lock.json from this PR:
https://stackoverflow.com/questions/39459467/remove-a-modified-file-from-pull-request
Thanks! 👍

I think I fixed it? (haha)


find multiple faces from one image

Dear,
In my requirement, in find function I need to pass one image which have more than 1 faces  and system should identify all the faces if representation already exists in the pkl file.
I can call find function in a loop for all detected faces in my source image. But I am not sure how can I get the list of faces from the source image. The performance is one of my goal hence I am using ssd as detector backend and ArcFace as a model.
I need to also send the cropped detected face as base64 byte array as an output...like
{
[
{"name": "Sundar Pichai",
"success": true,
"photo": "byte array of cropped identified face "},
{"name": null,
"success": false,
"photo": "byte array of cropped unknown face"},
]
}
The same requirement I have been implemented using face_recognition library with face_locations(img) function which returns the list of faces detected as list of boxes but due to low accuracy as compared to Deepface I need to switch to Deepface.
Can you please support me on this?
-Shafiullah

handling multiple faces is out-of-scope in deepface.

Ok, how can extract the single face as base64 and send as an output?
On Wed, Jul 28, 2021, 12:05 AM Sefik Ilkin Serengil <
@.***> wrote:

handling multiple faces is out-of-scope in deepface.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/serengil/deepface/issues/298#issuecomment-887834291,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUNUHYXFBSVGS2FSX2R5WFLTZ4NRZANCNFSM5BC6LRTA
.

from deepface import DeepFace
import base64
import codecs

img = DeepFace.detectFace("img.jpg") #this is numpy array
img_base64 = base64.b64encode(img)
img_base64_string = codecs.encode(pickle.dumps(img, protocol=pickle.HIGHEST_PROTOCOL), "base64").decode('latin1')

from deepface import DeepFace
import base64
import codecs
import pickle
img = DeepFace.detectFace("dataset/img5.jpg") #this is numpy array
img_base64 = base64.b64encode(img)
img_base64_string = codecs.encode(pickle.dumps(img,
protocol=pickle.HIGHEST_PROTOCOL), "base64").decode('latin1')
I see no use of img_base64 = base64.b64encode(img)
If I comment above line than it gives me the string but that string is not
valid , it can't be converted into image.
Getting error while executing above code
Traceback (most recent call last):
File
"C:/SmartGate/FaceRecognition/deepface-master/deepface-master/tests/generate_pickle.py",
line 7, in
img_base64 = base64.b64encode(img)
File
"C:\Users\schoudhary\AppData\Local\Programs\Python\Python36\lib\base64.py",
line 58, in b64encode
encoded = binascii.b2a_base64(s, newline=False)
ValueError: ndarray is not C-contiguous
On Wed, Jul 28, 2021 at 9:20 AM Sefik Ilkin Serengil <
@.***> wrote:

from deepface import DeepFaceimport base64import codecs
img = DeepFace.detectFace("img.jpg") #this is numpy arrayimg_base64 = base64.b64encode(img)img_base64_string = codecs.encode(pickle.dumps(img, protocol=pickle.HIGHEST_PROTOCOL), "base64").decode('latin1')
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/serengil/deepface/issues/298#issuecomment-888043793,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUNUHYSFN4EXYVV4ZKNTEELTZ6ORFANCNFSM5BC6LRTA
.

--
Thanks and Regards,
Riyadh, Saudi Arabia
Mobile : +966 591725937
Shafiullah S Choudhary


SyntaxError: Unexpected token '?'

I am trying to use your repo to make a MD file of downloaded Github repo: https://github.com/stanfordnlp/dspy. However, when I try to run this after installing, I get the following error:
/root/.npm/_npx/764439b5c8abeeaf/node_modules/commander/lib/command.js:396
    enableOrNameAndArgs = enableOrNameAndArgs ?? 'help [command]';
                                               ^

SyntaxError: Unexpected token '?'
    at wrapSafe (internal/modules/cjs/loader.js:915:16)
    at Module._compile (internal/modules/cjs/loader.js:963:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:85:18)
    at Object.<anonymous> (/root/.npm/_npx/764439b5c8abeeaf/node_modules/commander/index.js:2:21)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)

Command used:
npx ai-digest -i ./dspy-2.4.12 -o dspy_2_4_12.md --whitespace-removal --show-output-files

Would love to use this, as it seems very helpful to bundle code for upload to LLMs, any guidance on solving would be appreciated.

@satyaloka93 Hi! Which version of Node are you using? (node --version)
I tried the above repo with Node 18 and that did work. Anything older than that will unfortunately not be supported.
I will make a small note that since the repo contains a special AI token you might get a warning about Error: The text contains a special token that is not allowed: <|endoftext|>, but the Markdown file will still be generated.

I get version 12.22.9 with that command. I am using wsl2, so perhaps the apt repo doesn't have the right version.

Please install nvm by running their install script:
https://github.com/nvm-sh/nvm?tab=readme-ov-file#installing-and-updating
Then in a new console, type nvm i 22. From now on you should have an up to date version of Node. If you want to go back you can manually install Node 12 using nvm as well.

Ok, upgrading via nvm script worked, thanks for the tip!


ESAC D1_CP_STA-DWP_PSD has runtime error

Jonathan points out
https://csatools.esac.esa.int/HapiServer/hapi/data?dataset=D1_CP_STA-DWP_PSD&start=2007-09-27T09:00Z&stop=2007-09-28T09:00Z

results in a runtime error.
wget -O D1_CP_ST.cef "https://csa.esac.esa.int/csa-sl-tap/data?RETRIEVAL_TYPE=product&RETRIEVAL_ACCESS=streamed&DATASET_ID=D1_CP_STA-DWP_PSD&START_DATE=2007-09-27T09:00:00Z&END_DATE=2007-09-28T09:00:00Z"

Somehow the info thinks there will only be four parameters, but the data contains six parameters.  Here are some useful URLS:
Used to create the info:
wget -O - "https://csa.esac.esa.int/csa-sl-tap/data?retrieval_type=HEADER&DATASET_ID=D1_CP_STA-DWP_PSD&FORCEPACK=false"

Info read while debugging:
wget -O - 'http://localhost:8080/HapiServer/hapi/info?dataset=D1_CP_STA-DWP_PSD'

Data read while debugging:
wget -O - 'http://localhost:8080/HapiServer/hapi/data?dataset=D1_CP_STA-DWP_PSD&start=2007-09-27T09:00Z&stop=2007-09-28T09:00Z'

Data read from TAP server:
wget -O D1_CP_ST.cef "https://csa.esac.esa.int/csa-sl-tap/data?RETRIEVAL_TYPE=product&RETRIEVAL_ACCESS=streamed&DATASET_ID=D1_CP_STA-DWP_PSD&START_DATE=2007-09-27T09:00:00Z&END_DATE=2007-09-28T09:00:00Z"

I found what I think is the bug, where the each of the six parameters is counted in the HapiRecord, though two of them are non-time-varying.  I need to see why other datasets like this worked, if they did work.
Also, I'm unable to see how the DEPEND_1 connection is made.  In the HEADER request, I don't see anything that declares the connection.

There's another case which is now broken, I think.  This is D1_SP_HIA, which had code which would repeat "Half_interval" though it is non-time-varying.


Add end to end test

Add a test that requires Mugshot from index.js

@valentin-radulescu-hs @andrei-picus-hs Can you review?


Wrong brief on field

https://github.com/firebase/firebase-ios-sdk/blob/90a1aff41dbb45778e828b39cb51fe4fe7874631/FirebaseAuth/Sources/AuthProvider/GameCenter/FIRGameCenterAuthCredential.h#L53
I'm doing a port to Dart so I thought it would be nice to flag stuff that I found along the way. :D

Thanks for the report! Fixing in #6372.


Add full integration tests to CI

Description of Problem: We currently don't have full end-to-end tests for Rasa Open Source which tests the whole setup of

receiving a message
respond to the message
integration with action server
forwarding messages via the EventBroker
storing any conversation events in the TrackerStore

Overview of the Solution: The integration tests should ideally be as close as possible to a Rasa X production setup, which means using

Postgres as TrackerStore
a RedisLockStore as lockstore
RabbitMQ as EventBroker

Definition of Done:

[ ] Tests are added
[ ] Tests can be executed locally (or it's described how to do so)
[ ] Tests are executed as part of the CI

Closing for now


Locks improvements

rename "All Locks" -> "Locks"
make 2 secions: "environment locks" and "app locks"
in the release dialog, show both the name AND the id of the lock.

In the lock overview, it should show the environment for app locks. Currently it only shows the app name. @tameremad


BUG - Unable to undeploy Adaptation project on Windows

Related Feature
Feature request: https://github.com/SAP/open-ux-tools/issues/1330
Description
When running npm run undeploy on windows, the task fails with the following exception;
2023-11-29 12:26:31 error   abap-deploy-task: Error : Name ''apps/cus.manage/appVariants/customer.manage3/'' of layered repository folder invalid (/UI5/DTA 022)
2023-11-29 12:26:31 error   abap-deploy-task: Diagnosis
2023-11-29 12:26:31 error   abap-deploy-task: The name of the layered repository folder where you want to deploy a
2023-11-29 12:26:31 error   abap-deploy-task: design time adaptation (DTA) of a SAPUI5 app or app variant is invalid.
2023-11-29 12:26:31 error   abap-deploy-task: System Response
2023-11-29 12:26:31 error   abap-deploy-task: The operation on the layered repository folder specified has been
2023-11-29 12:26:31 error   abap-deploy-task: canceled.
2023-11-29 12:26:31 error   abap-deploy-task: Procedure
2023-11-29 12:26:31 error   abap-deploy-task: Correct the value of the URL parameter name, and repeat the deployment.
2023-11-29 12:26:31 error   abap-deploy-task: The name of a layered repository folder holds information about the
2023-11-29 12:26:31 error   abap-deploy-task: reference app and the DTA type. The format of the name has to be as
2023-11-29 12:26:31 error   abap-deploy-task: follows:
2023-11-29 12:26:31 error   abap-deploy-task: For a DTA that adapts an existing SAPUI5 app or app variant:
2023-11-29 12:26:31 error   abap-deploy-task:
2023-11-29 12:26:31 error   abap-deploy-task: apps/<ID of reference app or app variant>/adaptation/<ID of DTA project>
2023-11-29 12:26:31 error   abap-deploy-task: For a DTA that is an SAPUI5 app variant:
2023-11-29 12:26:31 error   abap-deploy-task:
2023-11-29 12:26:31 error   abap-deploy-task: apps/<ID of reference app or app variant>/appVariants/<ID of DTA app
2023-11-29 12:26:31 error   abap-deploy-task: variant>
2023-11-29 12:26:31 error   abap-deploy-task:
2023-11-29 12:26:31 error   abap-deploy-task: The ID of the DTA needs to have at least two segments, each separated by
2023-11-29 12:26:31 error   abap-deploy-task: a dot. Example: The ID of a DTA implemented by a SAP customer has a
2023-11-29 12:26:31 error   abap-deploy-task: leading segment 'customer.'
2023-11-29 12:26:31 error   abap-deploy-task:
2023-11-29 12:26:31 error   abap-deploy-task: Please note:
2023-11-29 12:26:31 error   abap-deploy-task: The leading segments of a DTA provided by SAP indicate the area the
2023-11-29 12:26:31 error   abap-deploy-task: adaptation belongs to.
2023-11-29 12:26:31 error   abap-deploy-task: There is no trailing slash.

A sample undeploy script;
"undeploy": "undeploy --config ui5-deploy.yaml --lrep 'apps/cus.manage/appVariants/customer.manage3/'",

The work around is to update the package.json and remove the single quotes around the --lrep parameter value.
Steps to Reproduce
Steps to reproduce the behavior:

Run npm run undeploy for an adaptation project

Expected results
Undeploy is successful
Actual results
Undeployment fails with an exception.
Screenshots
If applicable, add screenshots to help explain the problem.
Version/Components/Environment
Add any other context about the problem here
OS:

[ ] Mac OS
[x] Windows
[ ] Other

Root Cause Analysis
Problem
{describe the problem}
Fix
{describe the fix}
Why was it missed
{Some explanation why this issue might have been missed during normal development/testing cycle}
How can we avoid this
{if we don’t want to see this type of issues anymore what we should do to prevent}

Validated on windows, working as expected.


Add support of Alibaba Dragonwell Java install

SUMMARY
Need to implement fallback transport to download and install Alibaba dragon well java
Alibaba Dragonwell JDK
ISSUE TYPE

Feature Idea

Done by https://github.com/lean-delivery/ansible-role-java/pull/99


[EMB-408] Institutions landing page and quickfiles tests

Purpose
Test the institutions landing page and quickfiles
Summary of Changes

Moved some static images into our repo
Tests!
Removed a redundant button on the rename conflict dialog and desaturated the buttons
Upgrade ember-css-modules-sass from 1.0.0 to 1.0.1 to eliminate deprecation warning

Ticket
https://openscience.atlassian.net/browse/EMB-408
Reviewer Checklist

[ ] meets requirements
[ ] easy to understand
[ ] DRY
[ ] testable and includes test(s)
[ ] changes described in CHANGELOG.md

@jamescdavis Okay, this is all responded to.


Allow the Widget to take custom currencies as a prop, this is to allow addition of other currencies like the Lesotho's LSL

I have opened a pull request to add custom currencies support
see #111


Yeelight: Changing brightness while an effect is active reverts to static color.

Home Assistant release with the issue:
0.92.1
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.):
Hass.io running on ARMv7 Armbian
Component/platform:
https://www.home-assistant.io/components/yeelight/
Description of problem:
Changing brightness of Yeelight bulb when an effect is active will disable effect and return to a static color.
Inspecting the component's source code and checking the traceback when changing brightness, it seems the 'turn_on' method is always used to change lighting properties of the bulb, whatever properties was changed. This seems to have the effect of re-configuring the entire bulb even if a single parameter change is requested.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
devices:
  !secret secret_yeelight_bureau_ip:
    name: bureau_plafond
    save_on_change: false
    model: color2

Traceback (if applicable):
Changing brightness when an effect is active.
2019-04-29 10:20:08 DEBUG (SyncWorker_7) [homeassistant.components.yeelight.light] Calling <function YeelightLight.set_rgb at 0x6b3df150> with (None, 350) {}
2019-04-29 10:20:08 DEBUG (SyncWorker_7) [homeassistant.components.yeelight.light] Calling <function YeelightLight.set_colortemp at 0x6b3a8978> with (None, 350) {}
2019-04-29 10:20:08 DEBUG (SyncWorker_7) [homeassistant.components.yeelight.light] Calling <function YeelightLight.set_brightness at 0x6b3dfae0> with (182, 350) {}
2019-04-29 10:20:08 DEBUG (SyncWorker_7) [homeassistant.components.yeelight.light] Setting brightness: 182
2019-04-29 10:20:08 DEBUG (SyncWorker_7) [homeassistant.components.yeelight.light] Calling <function YeelightLight.set_flash at 0x6b3a8d20> with (None,) {}
2019-04-29 10:20:08 DEBUG (SyncWorker_7) [homeassistant.components.yeelight.light] Calling <function YeelightLight.set_effect at 0x6b3a83d8> with (None,) {}

Additional information:

Problem is turn_on method in component, always calls turn_on for the bulb, which sets bulb to solid color. Maybe we could skip turn_on, if HA thinks bulb is already on ( which can be incorrect ).

My thoughts exactly and confirms my initial hypothesis. No matter what operation I try to do, it seems to call the turn_on method.
I understand that Yeelight bulb state report is a bit tricky but is it only when bulb is in "music mode"? If so, maybe having "music mode" activated could still call turn_on method but have the ability to selectively call setting methods if not in this "music mode".

Setting methods are called selectively, except of turn_on. Maybe adding some setting, to skip turn_on before each call, if someone sets it.

Just to be sure that it isn't a side-effect of changing the temperature: is it possible to change the brightness with the yeelight app when an effect is active? Because if it, it could be that invoking a new command will reset implicitly stop the flow.

I've tried changing brightness, without turn_on call before ( added if on skip turn_on ) and it still fallbacks to solid color, set before flow. I don't think we can do anything around it.

I've tried changing brightness, without turn_on call before ( added if on skip turn_on ) and it still fallbacks to solid color, set before flow. I don't think we can do anything around it.

Does HA support loading a modified component as custom_component to override usage of internal one? I'm not familiar with the development process and I don't want to impact my setup in production too much. But I would like to try tinkering with it as well without messing with the stock component source files!

@bfiset what I tried to ask is whether this limitation is in yeelight firmware or in homeassistant. As per @zewelor this seems to be a limitation of the firmware.
The simplest way to test these bulbs is not to modify the component but simply use yeecli tool (which uses the same library). To my knowledge, in order to override a component, you will have to copy the whole yeelight directory to your custom_components directory.
Oh, I don't know where the temperature came there, I updated the comment accordingly.

@rytilahti Thanks for the info.
I could have sworn you can change brightness of a bulb while an effect is active using the official Yeelight app on Android. Will test this tonight. Would that be a relevant test to do?

Yes, or you can also try yeecli (https://gitlab.com/stavros/yeecli/):
yee --ip=<IP_ADDRESS> brightness 100

while an effect is active. It does not implement all available commands, so if that does not work, but the official app allows it, the adjustment is done with set_adjust method of the protocol which is not currently implemented.


Prevent use-after-free in ScienceWorldEnv.shutdown

I discovered a bug in the Python wrapper when using code based on the examples. The line random_agent.py:L136 shows the use of shutdown(), but including the call causes an exception to be thrown. I have created a minimal example script and reproduced the resulting error:
import logging
from scienceworld import ScienceWorldEnv
logging.basicConfig(level=logging.INFO)
env = ScienceWorldEnv("")
env.shutdown()

$ python gateway_bug.py
Launching ScienceWorld Server (Port 25335) -- this may take a moment.
Load:  (variation: 0) (simplifications: )
INFO:py4j.java_gateway:Exception while shutting down callback server
Traceback (most recent call last):
  File "/Users/ahedges/.pyenv/versions/sciworld/lib/python3.8/site-packages/py4j/java_gateway.py", line 1983, in shutdown
    self._gateway_client.shutdown_gateway()
  File "/Users/ahedges/.pyenv/versions/sciworld/lib/python3.8/site-packages/py4j/java_gateway.py", line 1006, in shutdown_gateway
    connection = self._get_connection()
  File "/Users/ahedges/.pyenv/versions/sciworld/lib/python3.8/site-packages/py4j/java_gateway.py", line 980, in _get_connection
    raise Py4JNetworkError("Gateway is not connected.")
py4j.protocol.Py4JNetworkError: Gateway is not connected.

In commit 650a0f741679ab007e3e6619ebd23e01dd3c8a2c, a check was added to only call self.gateway.shutdown() if self.gateway existed. self.gateway.shutdown() throws an exception if called while shut down, so this seems like a reasonable precaution. However, self.gateway almost always exists in ScienceWorldEnv. It is declared in ScienceWorldEnv.__init__, and no code deletes it. The manual call to ScienceWorldEnv.shutdown properly shuts down the gateway, but when the script ends and CPython's GC calls ScienceWorldEnv.__del__ (see object.__del__ for more information), self.gateway.shutdown() is called a second time.
The solution to the problem is simple: delete self.gateway after it has been shut down so the existing hasattr works as was presumably intended.

You are right. Thank you for the fix.


Make Slackbot Fail Silently

Is there a way to make a Slackbot fail silently without showing the end-user the stack-trace, e.g.

I might be wrong, but the only way to avoid showing tracebacks to users is to set ERRORS_TO to send tracebacks to another channel/user/group.

@jsargiot is correct.  To be more specific, though, it is only the stack trace that will not be displayed in the slackbot response when using ERRORS_TO in the slackbot_settings.py.

[temp] I had a problem handling "what is the temperature at Valhalla"
Will still be displayed in response to the message "what is the temperature in Valhalla".

@jsargiot @THEANONYMOU5 - Thanks, makes sense!


feat: Create Context

(draft PR because we mainly use it for discussing things with better examples (code))
Creates a Context API for Skia to create and manage Skia contexts.
In most apps, there should only be two Skia contexts:

One for the React-JS Thread
One for the UI Thread

In some apps (e.g. when rendering offscreen using a separate Worker from react-native-worklets-core, or when rendering in VisionCamera Frame Processors) you need a different Skia context.
This PR aims to create the concepts of Skia contexts.

I think that we can safely close this in favor of #2417 but let's keep the discussion open on this.


[Feature Request] Ability to ban specific users from using the bot

Is your feature request related to a problem? Please describe.
Abusive users who continuously add long songs to the playlist, and keep re-adding when removed, but aren't breaking server rules to warrant a proper mute.
What is your ideal solution to the problem?
Ability for admins to use a command to block a user from using the bot
How would this feature be used?

Run ?ban user#1234
User can no longer use bot commands

Additional Info
No response
Checklist

[X] I have checked the documentation to make sure this feature doesn't already exist
[X] I have searched for similar feature requests
[X] I have confirmed that my requests is not on the list of things that will not be added
[X] I am running the latest version of the bot:

Duplicate of #28


WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testMultipleTeams was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testOpenBlocks was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testParentProcessing was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testPileupOnProduction was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testPrioritiesWorkPolling was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testPriority was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testProcessing was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testProcessingWithContinuousSplitting was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testProcessingWithPileup was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testProduction was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testProductionMultiQueue was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testQueueChaining was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testQueueChainingStatusUpdates was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testResetWork was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testResubmissionWithParentsWorkflow was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testResubmissionWorkflow was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testResubmissionWorkflowSiteWhitelistLocations was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testSiteStatus was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testSitesFromResourceControl was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testSplittingLargeInputs was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testTeams was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testThrottling was deleted. Prior status was error
WMCore_t.WorkQueue_t.WorkQueue_t.WorkQueueTest:testWMBSInjectionStatus was deleted. Prior status was error
WMCore_t.WorkerThreads_t.WorkerThreads_t.WorkerThreadsTest:testA was deleted. Prior status was success
WMCore_t.WorkerThreads_t.WorkerThreads_t.WorkerThreadsTest:testB was deleted. Prior status was success
WMCore_t.WorkerThreads_t.WorkerThreads_t.WorkerThreadsTest:testWorkerError was deleted. Prior status was success
WMCore_t.Wrappers_t.JsonWrapper_t.TestWrapper:test_cjson was deleted. Prior status was success
WMCore_t.Wrappers_t.JsonWrapper_t.TestWrapper:test_file_compare was deleted. Prior status was success
WMCore_t.Wrappers_t.JsonWrapper_t.TestWrapper:test_json was deleted. Prior status was success
WMCore_t.Wrappers_t.JsonWrapper_t.TestWrapper:test_string_compare was deleted. Prior status was success
WMQuality_t.Emulators_t.EmulatorSetup_t.EmulatorSetupTest:testEmulator was deleted. Prior status was success

Seangchan, as far as I concern the changes are in good shape, but I didn't touch cjson since it was present in a code. Therefore you can merge these changes or let me know if you want me to convert cjson to json and then we'll merge this PR.

Let's go as is. I missed that cjson was original.
Sent from a mobile device. Please excuse my brevity or transcription errors.
On Sep 8, 2015, at 10:59, Valentin Kuznetsov <notifications<EMAIL_ADDRESS>wrote:
Seangchan, as far as I concern the changes are in good shape, but I didn't touch cjson since it was present in a code. Therefore you can merge these changes or let me know if you want me to convert cjson to json and then we'll merge this PR.
—
Reply to this email directly or view it on GitHubhttps://github.com/dmwm/WMCore/pull/6191#issuecomment-138609683.

Is json is as good as cjson in python 2.6.8? Or after python 2.7?
@vkuznet, this can be merged right? (Just double checking :smile: )

The cjson is still better performance wise, and, yes we can merge this one.
On  0, ticoann<EMAIL_ADDRESS>wrote:

Is json is as good as cjson in python 2.6.8? Or after python 2.7?
@vkuznet, this can be merged right? (Just double checking :smile: )

Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/pull/6191#issuecomment-138623174

I might have been confusing simplejson with json (lots of confusion to be had) but this suggests there is little difference anymore: http://stackoverflow.com/questions/706101/python-json-decoding-performance
Takeaway is we shouldn't be writing any new code that uses anything other than the standard library.

Eric,
you may read this thread on python mailing list I participated long time ago
http://bugs.python.org/issue6594
The speed is not an issue among the two and rather the memory footprint,
especially loading nested JSON's such as provided by PhEDEx APIs.
But I agree apart from some corner cases we should/must stick to standard
library.
Valentin.
On  0, Eric Vaandering<EMAIL_ADDRESS>wrote:

I might have been confusing simplejson with json (lots of confusion to be had) but this suggests there is little difference anymore: http://stackoverflow.com/questions/706101/python-json-decoding-performance
Takeaway is we shouldn't be writing any new code that uses anything other than the standard library.

Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/pull/6191#issuecomment-138646236

One other thing I remember was cjson has bug which convert all the unit code to str. However that actually served as a feature in WMCore. So it might break some of the code in WMCore if we switch to json.  Yes I agree to move to standard library as well unless there is big advantage using cjson

Not only that, JSON requires that all strings (including dict keys) are unicode. cjson (used to, at least) convert dict keys to 'string' and keep all other strings as unicode, which was a catastrophe when we put it against the HTTP frontend validation.

Fortunately our usage seems to be about 80% json, 10% cjson, and 10% simplejson.

Simplejson should just go, out of questions.
On  0, Eric Vaandering<EMAIL_ADDRESS>wrote:

Fortunately our usage seems to be about 80% json, 10% cjson, and 10% simplejson.

Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/pull/6191#issuecomment-138661228

Oh yeah. All of the simplejson/WMCore.JsonWrapper stuff is almost certainly legacy from when we were on 2.4 and json wasn't in stdlib.
https://github.com/dmwm/WMCore/blob/master/src/python/WMCore/Wrappers/JsonWrapper/__init__.py

Yeah, I know. We might even have an issue to get rid of that crap. If not, we should

#5785


Feature: implement SeriesGroupBy.{value_counts, unique}

I'm trying to break some custom aggregation functions down into chunks / agg / finalize as in the docs, but I'm stumbling over the fact that SeriesGroupBy in dask (as of v2.1.0) cannot perform value_counts().
This seems like an operation that could be easily distributed (each partition does the value counts separately, and then all that's necessary is adding the chunk-results together).
Admittedly, this can cause a lot of traffic if the Series contains only unique values (i.e. every value_count is 1), but that's just the nature of the beast.
Similarly, SeriesGroupby.unique could be implemented. This is orders of magnitude slower in pandas than the (pandas-)value_counts, but is conceptually even simpler than value_counts - rather than count the appearances per value, we just need to keep track which values appeared at all.
Since pd.SeriesGroupBy.unique performs so much worse than pd.SeriesGroupBy.value_counts, it would even suffice to implement dask.SeriesGroupBy.unique through dask.SeriesGroupBy.value_counts (essentially by discarding the count).

I agree that this would be a useful addition. Would you be interested in submitting a PR?

@jcrist
I'll try to have a look. Could you point me in the direction where this should be implemented, and maybe after what method I could model it?

Sure. The relevant code is this class: https://github.com/dask/dask/blob/2c7ac8808ead66d4c217948f9693d7b4039e66ae/dask/dataframe/groupby.py#L1557
You'll be adding a new reduction method. Reductions are usually created using the _aca_agg private method - "aca" stands for "apply-concatenate-apply", which describes the parallelism model (one function is applied to all the chunks, the results are concatenated, then another function is applied to the results). The trick here will be writing these two methods. See the other reductions for some examples.

How is this different than the existing implementation? In

@jcrist Is this issue resolved? Is there any issue with the PR above?

@arpit1997 I'm the author of that PR, and jotted down some of the issues in see https://github.com/dask/dask/pull/5358#issuecomment-531515639


NODE-2591/hidden-indexes

NODE-2591
PR to implement the feature "hidden indexes".
Uses a new HideIndexOperation to send the command specified in SPEC-1678's scope. This one operation handles both hiding indexes and unhiding index. I didn't see the point in creating two new operations when it's just a matter of adding a boolean option.
I didn't have access to the collection name within the operation so I added it in from the parent, this is because the ns replaces the collection with $cmd. Would love to know a better way of doing this if there is one.
Adds hidden option to createIndex and test for that as well.
I made an attempt at adding in the 'expireAfterSeconds' option to .hideIndex() but when sent I got this error:

Uncaught AssertionError: expected [MongoError: no expireAfterSeconds field to update] to not exist

So I figured it may not need to be added.

@mbroadst Can you give me some guidance to see if I'm on track here?

@reggi where did the requirement to make hideIndex/unhideIndex helpers come from? I'm not seeing that in the spec changes linked to the DRIVERS ticket. In adherence to the driver mantra minimize administrative helpers I would think we would not provide them.
The index management spec is focused on "immutable" interaction with indexes, even though the collMod method exists and allows indexes to be modified in place the goal of this spec change was to support a hidden property for index creation only.


Php GAPIC: Trace v2

This pull request was generated by artman. Please review it thoroughly before merging.

cc @ethanbao

Closing in favour of https://github.com/googleapis/api-client-staging/pull/489


Add connector for postgres (and/or other db?)

It would be cool to add postgres as a supported database. I recall we attempted to store pastas projects in a postgres database before, so maybe that code is a good starting point for building a new connector?
Or maybe there are other databases we want to support?
Edit: maybe TimescaleDB (which is a timeseries database built on PostgreSQL)?

Current connectors seem to meet current needs, so closing this old issue.


Update the C/Cpp coding style guide

I'm putting together some stylle rules that I got from feedbacks I received on my own PRs. These rules are common sense for the engineers working on the Opentitan for a longer period, but it is helpful for incomers to have them summarized in the Coding style guide

@engdoreis what do you think about including this in this PR as well?

@alphan @moidx I added a new commit with a rule for using enums to define constants.


Some fields get lost in cr

Bug Report
What did you do?

Use operator-sdk to generate crds and run operator.
crd struct

type RabbitmqClusterSpec struct {
	Version string `json:"version"`
	// VolumeClaimTemplate allows a user to specify how volumes inside a Rabbitmq cluster
	// +optional
	VolumeClaimTemplate *corev1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`

k8s.io\api\core\v1\types.go
// PersistentVolumeClaim is a user's request for and claim to a persistent volume
type PersistentVolumeClaim struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	// Spec defines the desired characteristics of a volume requested by a pod author.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
	// +optional
	Spec PersistentVolumeClaimSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`

	// Status represents the current information/status of a persistent volume claim.
	// Read-only.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
	// +optional
	Status PersistentVolumeClaimStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

contents of crds  generated by operator-sdk
             version:
                description: Version defines the Rabbitmq Docker image version.
                type: string
              volumeClaimTemplate:
                description: VolumeClaimTemplate allows a user to specify how volumes
                  inside a Rabbitmq cluster
                properties:
                  apiVersion:
                    description: 'APIVersion defines the versioned schema of this
                      representation of an object. Servers should convert recognized
                      schemas to the latest internal value, and may reject unrecognized
                      values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
                    type: string
                  kind:
                    description: 'Kind is a string value representing the REST resource
                      this object represents. Servers may infer this from the endpoint
                      the client submits requests to. Cannot be updated. In CamelCase.
                      More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                    type: string
                  metadata:
                    description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
                    type: object
                  spec:
                    description: 'Spec defines the desired characteristics of a volume
                      requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
                    properties:
                      accessModes:
                        description: 'AccessModes contains the desired access modes
                          the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
                        items:
                          type: string
                        type: array
                      dataSource:
                        description: 'This field can be used to specify either: *
                          An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
                          * An existing PVC (PersistentVolumeClaim) If the provisioner
                          or an external controller can support the specified data
                          source, it will create a new volume based on the contents
                          of the specified data source. If the AnyVolumeDataSource
                          feature gate is enabled, this field will always have the
                          same contents as the DataSourceRef field.'
                        properties:
                          apiGroup:
                            description: APIGroup is the group for the resource being
                              referenced. If APIGroup is not specified, the specified
                              Kind must be in the core API group. For any other third-party
                              types, APIGroup is required.
                            type: string
                          kind:
                            description: Kind is the type of resource being referenced
                            type: string
                          name:
                            description: Name is the name of resource being referenced
                            type: string
                        required:
                        - kind
                        - name
                        type: object

in the generated crd， volumeClaimTemplate's metadata type is ojbect and lost properties

edit cr yaml and apply it ,  after applied some fields are lost in cr. eg: name is lost
part of cr content

  volumeClaimTemplate:
    metadata:
      name: data
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
      storageClassName: openebs-hostpath2
    status: {}

What did you expect to see?
when get crd crName -oyaml ; expect to see :
  volumeClaimTemplate:
    metadata:
      name: data
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
      storageClassName: openebs-hostpath2
    status: {}

What did you see instead? Under which circumstances?
metadata' field name is lost, Actually {}
  volumeClaimTemplate:
    metadata:{}
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
      storageClassName: openebs-hostpath2
    status: {}

Environment
operator-sdk version: "v1.15.0", commit: "f6326e832a8a5e5453d0ad25e86714a0de2c0fc8", kubernetes version: "1.21", go version: "go1.16.10", GOOS: "linux", GOARCH: "amd64"

Possible Solution
i have to edit crd Manually and add some  needed fields
 volumeClaimTemplate:
                description: VolumeClaimTemplate allows a user to specify how volumes
                  inside a Rabbitmq cluster
                properties:
                  apiVersion:
                    description: 'APIVersion defines the versioned schema of this
                      representation of an object. Servers should convert recognized
                      schemas to the latest internal value, and may reject unrecognized
                      values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
                    type: string
                  kind:
                    description: 'Kind is a string value representing the REST resource
                      this object represents. Servers may infer this from the endpoint
                      the client submits requests to. Cannot be updated. In CamelCase.
                      More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                    type: string
                  metadata:
                    description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
                    properties:                                     <---------------added
                      name:                                          <---------------added
                        type: string                                <---------------added
                    required:
                    -  name
                    type: object
                  spec:
                    description: 'Spec defines the desired characteristics of a volume
                      requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
                    properties:

Additional context
any better idea?

Inserting the entire corev1.PersistentVolumeClaim golang struct into your struct probably isn't a good idea; at the very least there will be a bunch of stuff in there like the Status that you don't need. It would probably be a better idea to only specify the specific fields you care about (name, size, maybe other things), and manually add those fields to the spec of your custom type.
I need some additional information to specifically help you, though. What exactly are you using the PVC for? Is this intended to create a dependent PVC or point to an existing one or something else?

Ok, then you should only manually add the fields to your object spec that are strictly necessary to instantiate the PVC, and have the controller create it, like how the Deployments are created in the memcached example controller. We don't insert the entire deployment object into our CRD, we only collect the information we want the user to specify (the number of nodes).

ok, thanks.


[#127564379] Fix lrps mapping

What
Story: Junk logstash mappings being created & breaking Kibana
We have an issue with a log message from the auctioneer. It contains:
"data":{"lrps":{"df03138b-924d-417e-9743-abf81e577a70-7276869e-d03c-4ffd-9f83-18c366a390c3":[1]},...,"request":"/v1/lrps",...}
Elasticsearch assumes
auctioneer.data.lrps.df03138b-924d-417e-9743-abf81e577a70-7276869e-d03c-4ffd-9f83-18c366a390c3
is the name of a field, because it contains an array of integers. So it creates a mapping for each new LRP GUID.
This PR adds a logstash filter that changes the hash to an array containing the GUID strings.
This depends on the code from PR
https://github.com/alphagov/paas-logsearch-for-cloudfoundry/pull/1
How to review

On an existing environment, search for auctioneer.request.lrp-auction-handler.create.submitted in logsearch. You should see fields in the form of auctioneer.data.lrps.<LRP GUID>. Run smoke tests if you don't see any
Deploy with this branch
Test again, it shouldn't create these fields. Check the data is still there and you can still see the LRP GUIDs.

How to merge

When ready, merge PR https://github.com/alphagov/paas-logsearch-for-cloudfoundry/pull/1
Create and push tag 20161212-gds on paas-logsearch-for-cloudfoundry master
Remove commit 15d3f43 in this branch
Merge this PR

Who can review
Not @combor or me

@saliceti @combor could you add the paas-logsearch-for-cloudfoundry project to the https://github.com/alphagov/paas-release-ci project and start using that?
thx

I would do it but to test it I need to create 2 new buckets and we're hitting the limit at the moment.

Done

@saliceti do not ad  11200f7 , that is done in #655 and #662

@saliceti added that in https://github.com/alphagov/paas-cf/pull/655/commits/c717f0fb4a145270afedc573d68c1ef4ff538e5c

works well, merging


initialLayout behaves differently with and without js remote dedbug

If state.index is set to a number other than 0, and an initial layout is set - TabViewAnimated works well with NO js remote debug, breaks with js remote debug on.
Expected behaviour
the active tab is set to 1 and I can switch tabs both with and without remote js debugging
Actual behaviour
the active tab is set to 1 and I can't switch tabs with remote js debug on - nothing happens when I'm trying to switch to another tab;
Code sample, screenshots
class MissionComponent extends Component<MissionProps, IMissionState> {

    constructor (props) {
        super(props);

        this.state = {
            index : 1,
            routes : [
                {key : "map", title : "map"},
                {key : "streams", title : "streams"}
            ]
        }
    };

 _handleChangeTab = index => this.setState({index});
  render () {
        return (
            <View style={{flex : 1}}>
                <TabViewAnimated
                    renderScene={this._renderTab}
                    navigationState={this.state}
                    onRequestChangeTab={this._handleChangeTab}
                    changeRoute={this._handleChangeTab}
                    renderHeader={this._renderHeader}
                    initialLayout={{
                        height : 0,
                        width : Dimensions.get('window').width,
                    }}
                />
            </View>
        );
    }
}

What have you tried

Looks similar to this https://github.com/facebook/react-native/issues/13463

@satya164 doesn't seem to be related

You're sure? Are you able to swipe to change tabs?

@satya164 I am able when "Debug JS remotely" is off, it seems to be somehow related with "Debug JS remotely".

@zhukovka I understand that it only happens when you are connected to the debugger. But the behaviour you are describing looks very similar to the issue I linked to, despite the different steps to repro. Or you are saying the behaviour is different from that issue?

I have a similar problem..
When Remote Debug is ON, my layout is correct:
https://imgur.com/a/5YWyE
When Remote Debug is OFF, my layouts gets weird:
https://imgur.com/a/YWDEu

What I have found is in TabViewPagerScroll.js
 _handleScroll = (e: ScrollEvent) => {
    this._isIdle =
      Math.abs(e.nativeEvent.contentOffset.x - this._nextOffset) < 0.1;
    this.props.position.setValue(
      e.nativeEvent.contentOffset.x / this.props.layout.width
    );
  };

in debug mode e.nativeEvent.contentOffset.x is 0 while in non-debugging mode e.nativeEvent.contentOffset.x is actual offset value
this is the reason I have my problem

This problem is maybe of react native itself: https://github.com/facebook/react-native/issues/15808
Other components that use ListView are also having similar problems.

Hey, I just released a new alpha 2.0.0-alpha.0 of the library. It's rewritten using react-native-gesture-handler and react-native-reanimated addresses a many platform specific bugs and performance problems. The documentation is updated as well.
Please try the new version and see if it addresses your issue. If not, please open a new issue following the issue template.


Doctrine deprecates EventArgs::getEntityManager()

Has to be replaced with getObjectManager instead. Likewise, getEntity is deprecated and getObject should be used.

https://github.com/symfony/ux/commit/4d5fe4ac0ca56ed0db3d653a3e9d07cf3926f2a2
Fixes the deprecation, but I didn't find an issue created for it.


No error generated for failed client connections.

The following example will fail to reach the TCP Client endpoint, if none exists, and will forever wait on node.Events().  There appears to be no way of detecting the failure, is this by design?
	node, err := gomavlib.NewNode(gomavlib.NodeConf{
		Endpoints: []gomavlib.EndpointConf{
			gomavlib.EndpointTcpClient{"<IP_ADDRESS>:5600"},
		},
		Dialect:     ardupilotmega.Dialect,
		OutSystemId: 10,
	})
	if err != nil {
		panic(err)
	}
	defer node.Close()

	for evt := range node.Events() {
		if frm, ok := evt.(*gomavlib.EventFrame); ok {
			fmt.Printf("received: id=%d, %+v\n", frm.Message().GetId(), frm.Message())
		}
	}

Thanks for the library 👍

Hi this is by design, but let me explain why:
Mavlink is used to communicate with remote devices, so connection drops and failures are not errors, but a common phenomenon and must be handled. Furthermore, it's also possible that the device you're trying reach is turned off when the script is running, or is already in the initialization phase.
So: a Node{} doesn't return errors, since a connection drop is not an error, instead it:

ignores parsing errors
periodicaly tries to reconnect to the device when the connection drops
An Event is returned when a device appears and another Event when a device disappears, you can use them to detect when the device is online and when it is not:

	for evt := range node.Events() {
		switch ee := evt.(type) {
		case *gomavlib.EventFrame:
			fmt.Printf("frame received: %v\n", ee)

		case *gomavlib.EventChannelOpen:
			fmt.Printf("device appeared: %v\n", ee)

		case *gomavlib.EventChannelClose:
			fmt.Printf("device disappeared: %v\n", ee)
		}
	}

The reconnection procedure, in case of a client, is here:
https://github.com/aler9/gomavlib/blob/master/endpoint_client.go#L115
If you don't like this behavior and want to directly handle errors, you can use a Parser{}:
conn, err := net.Dial("tcp", "<IP_ADDRESS>:5600")
if err != nil {
    panic(err)
}
defer conn.Close()

parser, err := gomavlib.NewParser(gomavlib.ParserConf{
    Reader:      conn,
    Writer:      conn,
    Dialect:     ardupilotmega.Dialect,
    OutSystemId: 10,
})
if err != nil {
    panic(err)
}

for {
    frame, err := parser.Read()
    if err != nil {
        panic(err)
    }

    fmt.Printf("decoded: %+v\n", frame)
}

Keep in mind that there could be errors both in the connection phase and in the parsing phase, and you have to handle them.

No that is perfect!  Saves me having to implement the logic.  Thank you!


[BUG] Incorrect shape requirements for categorical spaces

Describe the bug
Two bugs in one:

The Collector expects the action to be a torch.item() rather than a torch.Tensor when categorical_action_encoding=True.
When categorical_action_encoding=False but we pass incorrect shapes, the Collector will silently fail instead of crashing and emitting an error.

Bug 2 is quite insidious -- if your model outputs integer actions instead of one hot, the collector will always select the first action, regardless of what the model output. This can lead users to think that something is wrong with their algorithm.
To Reproduce
# Part 1
from torchrl.collectors import SyncDataCollector
import random
def policy(data):
    # Action should be the same shape as reward, done, etc...
    data["action"] = torch.randint(0, 2, data["done"].shape)
    return data

env = GymEnv("CartPole-v0", categorical_action_encoding=True)
collector = SyncDataCollector(env, policy)
for data in collector:
    pass

Traceback (most recent call last):
  File "/Users/smorad/r4l_torch/examples/test_dqn.py", line 23, in <module>
    for data in collector:
  File "/Users/smorad/miniforge3/envs/torch_rl/lib/python3.9/site-packages/torchrl/collectors/collectors.py", line 535, in iterator
    tensordict_out = self.rollout()
  File "/Users/smorad/miniforge3/envs/torch_rl/lib/python3.9/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "/Users/smorad/miniforge3/envs/torch_rl/lib/python3.9/site-packages/torchrl/collectors/collectors.py", line 658, in rollout
    self._tensordict = self.env.step(self._tensordict)
  File "/Users/smorad/miniforge3/envs/torch_rl/lib/python3.9/site-packages/torchrl/envs/common.py", line 380, in step
    tensordict_out = self._step(tensordict)
  File "/Users/smorad/miniforge3/envs/torch_rl/lib/python3.9/site-packages/torchrl/envs/gym_like.py", line 183, in _step
    self._env.step(action_np)
  File "/Users/smorad/miniforge3/envs/torch_rl/lib/python3.9/site-packages/gym/wrappers/time_limit.py", line 50, in step
    observation, reward, terminated, truncated, info = self.env.step(action)
  File "/Users/smorad/miniforge3/envs/torch_rl/lib/python3.9/site-packages/gym/wrappers/order_enforcing.py", line 37, in step
    return self.env.step(action)
  File "/Users/smorad/miniforge3/envs/torch_rl/lib/python3.9/site-packages/gym/envs/classic_control/cartpole.py", line 132, in step
    assert self.action_space.contains(action), err_msg
AssertionError: array([1]) (<class 'numpy.ndarray'>) invalid

Calling .item() fixes this, but then the action is no longer a tensor.
def policy(data):
    data["action"] = torch.randint(0, 2, data["done"].shape).item()
    return data

# Part 2

from torchrl.collectors import SyncDataCollector
import random
def policy(data):
    data["action"] = torch.randint(0, 2, data["done"].shape) # We are outputting shape=[1]
    # Collector should crash because it expects shape=[2], but instead it will silently always pick the first action.
    return data

env = GymEnv("CartPole-v0", categorical_action_encoding=False)
collector = SyncDataCollector(env, policy)
for data in collector:
    pass # No error!! This should throw an error!

Expected behavior

The collector should expect action to be a tensor of shape (1,) like reward, done, etc.
The collector should error if the shape of a one hot vector is not the shape of the categorical space

System info
None 1.22.1 3.9.13 | packaged by conda-forge | (main, May 27 2022, 17:01:00)
[Clang 13.0.1 ] darwin

Additional context
Add any other context about the problem here.
Reason and Possible fixes
If you know or suspect the reason for this bug, paste the code lines and suggest modifications.
Checklist

[x] I have checked that there is no similar issue in the repo (required)
[x] I have read the documentation (required)
[x] I have provided a minimal working example to reproduce the bug (required)

(It's a classical messed-up thing from gym if you want my opinion: lack of convention across envs which make it hard to write reusable code without complicated control flow)
CartPole expects a zero-dim tensor as action.
In TorchRL the convention is that done and reward tensors end up with a singleton dimension. The reason is we want to be able to do
value = network(observation)
next_val = reward + gamma * done * value

Since network will most likely output a tensor with a tailing singleton dim, we believe it's easier to have reward and done do the same.
I believe your example should work with
from torchrl.collectors import SyncDataCollector
import random
def policy(data):
    data["action"] = torch.randint(0, 2, data.shape) # We are outputting shape=[1]
    # Collector should crash because it expects shape=[2], but instead it will silently always pick the first action.
    return data

env = GymEnv("CartPole-v0", categorical_action_encoding=False)
collector = SyncDataCollector(env, policy)
for data in collector:
    pass # No error!! This should throw an error!

Why does part 2 not crash though? It is expecting an array of size 2 (index). I pass it a size 1 tensor and the collector somehow encodes this (incorrectly). This could be a pitfall for new users because it is not immediately clear if TorchRL uses the categorical/index encoding.


Idea/Discussion: Do not associate a Request to an Event when creating Requests from API/CSV sources

Breaking the comments about this from #1590 and #1587 into this separate issue.
So far, the ideas that have been floated:
from @MisterJames in 1590:

I'm not sure that I'm opposed to orphaned requests, but there are two ways that come to mind immediately to solve this.

If we decide that orphaned requests are okay, we simply display a warning/alert at the top of every event page (for admins) and prompt them to "assign" the requests to the event. This could be done via a list with a filter set at the top/selection. This would be more work, but might allow finer-grained control.
If we prefer direct assignment, we could add an event drop down as part of the CSV import process. This would be trivial but would mean that all requests would have the same event assignment (which is likely okay).

with @stevejgordon giving a +1 to option 2
from @tonysurma in 1587

@mgmccarthy interesting idea and then have the admin also have an 'associate' request just like the create request on the event. We could at least dump the requests under the organization at ingestion then so that Tony Org can't see requests that came in to Steve Org for example.

Should we continue discussion here and change name (again :smile_cat: ) or move to another issue?

from @stevejgordon in 1587

tonysurma Sounds sensible to have somewhere we can view "orphaned" requests. We could have a few issues and possibly address this at the code-a-thon. Something like

Add Org level page (or maybe campaign level if we can at least determine campaign via API) to list requests without an event id set
Clicking on a request displays a page/modal allowing an campaign and event to be set
If that sounds reasonable I can break out some issues along those lines

For CSV as it's a manual process to import I presume on the import screen we can/or should be able to choose the event we're importing under? With the assumption that data is validated by the admin prior to importing?

MY two cents:

for @MisterJames option 2. This could be a good solution for CSV import, but will not work for API import
for @tonysurma in his comment:  "We could at least dump the requests under the organization at ingestion then so that Tony Org can't see requests that came in to Steve Org for example".  The problem here is when we import a Request from CSV/API, we lack the context of Organizations/Campaigns/Events, etc... all we have to go on is the raw data in the Request. The most useful information to us is the geographic information we receive.
same feedback for Steve's comment about being able to somehow associate an incoming Request with a Campaign.

What I think we should do here is give up on the association altogether. @stevejgordon said it best in this comment

The request in our domain represents an install location.

This boils down the Request to what it really is, a request for some type of service at a location (currently, we have city/state/zip to go on).
What I think we should do is:

show ALL Requests in the "Unassigned Requests" area in each Event that do not have an Event/EventId assigned: since it sounds like admin-type users will be the ones assigning Requests to an Event, they will have the local knowledge about zip codes/zip code densities/general knowledge on the area to make an assignment based on city/state/zip in their local area that makes sense.

for Requests that do have an Event associated with them, keep showing those Requests in the Unassigned Requests area of the associated Event (this is how the code works not). This will allow the current create Request UI to continue functioning as normal. If a user wants to create a Request in the context of an Event (aka, via the UI), and they type in a zip code that does not make sense for the Event, then that's on them. Sounds like we're not going to stop them.

Basically, put the onus on the user of the UI that is assigning Requests to an Event to make an assignment that makes sense based on city/state/zip.

I am good with the proposal except - once we get to more than one org submitting API requests we can't have Tony Org + Steve Org seeing the same pool of requests.  Couldn't we use the auth token to see which user has that auth token and then what org they are in?
However that is a v1.1 issue and not a v1 issue so for now I am happy to have them all come in and just be tagged with the organization for the redcross and that will be fine and then the rest can generally flow as documented (I skimmed above so need to read all details but wanted to get a quick direction out there)

@tonysurma, I think I understand now.
When you're talking about Orgs, you're saying we should represent each external source (in this case, GASA/Red Cross) with an internal Organization in allReady?
If that's the case, what we'll really need is a unique id we'll assign to each org we'll be receiving Requests from, and THAT's why you're saying we could use a token for that identification.
That token would be sent with every Request, and on our end, we could correlate the token to the owning Org, and that would be the start of how we could "corral" these Requests into some type of owndership with allReady.
Regardless of the how we technically create that association (use tokens/claims or write our own way to manage/handle these unique id's), the goal is the same. All incoming Requests should at least be able to be routed to the appropriate Org on allReady's side.
Do I understand it right?

quick answer: right and we already have organizations in our system so just need to get it mapped even if you hard code it for December 😈

So, I think adding the Event drop-down to the Import Request CSV screen to associate those Requests with an event is a good idea.
For the Request API imports, for the December release, I MIGHT be doing what @tonysurma mentions above:

right and we already have organizations in our system so just need to get it mapped even if you hard code it for December

since we're only launching for GASA/Red Cross, this approach is entirely feasible for the December release. If we go this route, we'll still need a way to look at these Requests by Org, which @stevejgordon  has already proposed a UI that would allow us to do so, then take those Requetss and associate them to an Event.

@tonysurma  @stevejgordon  One note about routing incoming Requests to an Org based off of a token...
this solution requires the Org to exist in allReady before we can start to accept and process API requests. I'm not too sure if this is a "big deal" or not, but it does require some setup on the web/UI end before we can officially start to test the import.
Did you want me to seed a new Org for Red Cross (or GASA?)... not too sure what to call it...
or did you want it to be a manual process where the user has to create the org?

quick note: we already have a set of UI for creating orgs and associating users and I think the user token generated is tied to a user so it should be tied to an org.
For dev you could use the seeded htbox org.
For the hard coding, perhaps we can do a config value of which ID that I can set in production release from whatever org they get in the database.

@tonysurma, @MisterJames  is currently working on this:

we already have a set of UI for creating orgs and associating users and I think the user token generated is tied to a user so it should be tied to an org.

right now, the token that is being generated for a user is not being recognized on the inbound trip back to our endpoint. But you are correct, the token is assigned to a user, and then that user will be associated to an Org.
One other problem I just thought of:
How do we communicate the status of this request back to GASA's endpoint if we're not going to be able to make a decision at the point we receive the request whether or not we can service the Request?
If we can agree that a "serviceable request" is if the incoming Request can be mapped to an existing Org, we can still invoke GASA API endpoint with true/false, so it's a non-issue. But if we need to wait for the Request to be assigned to an Itinerary on an Event, then the communication back to GASA's API would be deferred, or in the case the Request is never assigned, GASA would never hear back from us.

@tonysurma, I'm going to add an OrganizationId to the Request model and for now, we'll hard code all incoming API requests to that OrgId.
Eventually, we should use our generated token we give to the provider that will be in each incoming request to look up the user's OrgId based on the token, and assign the OrgId to that Request (v1.1).
For now, we can build a UI that will allow a user to look at all the Requests in that given organization that are not associated with an Event. This UI should allow the user to assign these Requests to Events.
As far as reporting whether or not we will service the Request back to GASA's API, I'm going to make the assumption that if we can match an incoming request's token with a user/user's organization, that means we can service the request.
With the "hard-coded" approach for v1, that would mean we can service every request they send us.
If this if not correct, let me know.
For instance, just b/c we assign an OrgId to a Request might not mean we can service it. We might only be able to communicate back to GASA's API that we can service a request once the Request has been associated to an Event.
If this is the case, then we would report false back to GASA for all requests imported from them, and eventually, they would receive true's when we associate that Request to an Event.
Thanks.

I've added three stages of work for the code-a-thon (hopefully) that will enable the initial pieces for the v1 functionality above.

@tonysurma @MisterJames @stevejgordon it will be important to figure out soon:

how can we update GASA's endpoint with the correct status (we service or do not service the Request) now that we'll be associating all API Requests with the red cross org, and then building out a UI to associate requests to events. Part of the answer I'm waiting on GASA for, b/c I need to know how flexible they are with us reporting status back to them

getting the user token situation in Issue #1586 solved. We, at minimum, need to use that token value as an authorization mechanism for incoming API Requests.

Thanks!

@MisterJames @tonysurma @stevejgordon  Just wanting to follow up on this task and the question from @mgmccarthy. Do we need to have a chat to discuss the two points?

thanks for th eping @EmilyLuijbregts
(2) is in progress or at least planned and (1) we resolved in a discussion on their repo.  We will report true if it matches a list of region id's that we are supporting 'hardcoded' to start and false otherwise and only 'save' those that match our region ids.

@EmilyLuijbregts, the functionality outlined above in this issue for API Requests have actually been decided on for v1 release pending a working Issue #1586. Even if we don't get Issue #1586 working, we have a fall back plan for the launch. The UI is currently being worked on and that work is reflected in Issues #1596 and #1597
As far as associating OrgId to CSV import Requests, I'm too sure where we are with that one? I know the work is outlined in Issue #1590 and some above, but I don't think we have an explicit task to represent that work yet.
@tonysurma @MisterJames @stevejgordon please chime in if what I just said is not true.


Support VPC Flow Logs v6 fields for TGW

This PR is an alternative to https://github.com/obsrvbl/flowlogs-reader/pull/58.
I've added support for each of the version 6 fields shown here. This should cause flowlogs_reader to be able to interpret logs with Transit Gateway records.

I think this will help as well. Here is a redacted sample of one of the flowlogs.
The fields are mixmatched across the board.
Here is an example of one of the VPCFlowLogs, that shows how they are mixmatched when a Transitgatewaylog is injected in them. The fields not aligning is an issue for much more than just account_id.
version account-id interface-id srcaddr dstaddr srcport dstport protocol packets bytes start end action log-status
2<PHONE_NUMBER>99 eni-99999999999999999 <IP_ADDRESS> <IP_ADDRESS> 65532 389 17 1 84<PHONE_NUMBER><PHONE_NUMBER> ACCEPT OK
6 TransitGateway<PHONE_NUMBER>99 tgw-99999999999999999 tgw-attach-99999999999999999<PHONE_NUMBER>99<PHONE_NUMBER>99 - vpc-99999999999999999 - subnet-99999999999999999 - eni-99999999999999999 usw2-az4 usw2-az3 tgw-attach-99999999999999999 <IP_ADDRESS> <IP_ADDRESS> 9769 123456 6 7 1234<PHONE_NUMBER><PHONE_NUMBER> OK IPv4 0 0 0 0 - us-west-2 ingress - -

Maybe there are two different things writing logs to the same location? And they have different formats configured?
I've added a check_column_count keyword to filter out rows with the wrong number of columns.

Maybe there are two different things writing logs to the same location? And they have different formats configured?
I've added a check_column_count keyword to filter out rows with the wrong number of columns.

That is what seems to happen. If you turn on TGW logging and point it to the same S3 bucket, it will combine the logs and you end up with this result.

@bbayles after some more discussion internally we've decided to drop the desire to check the column count and loop over each record twice. It turns out this is an edge case created specifically for one scenario and not something that can commonly happen by sending flow logs and transit gateway logs to S3. However we would still like to keep your changes for the future handling of TGW records. Can you remove the check column count and just leave the extra slots? If so we can approve and roll this up.
Our new direction for handling this specific case will just be to skip over the record if it valueerrors and continuing parsing the rest of the file. See https://github.com/obsrvbl/flowlogs-reader/tree/try_catch_valueerror

I've reverted the last two commits - thanks.


[UF-408]: Pull Request Service

Provides a Pull Request Service.
Based on Fork tracking lets you create, accept, delete and reject pull requests. It also let you see diffs between two pull requests.
Related: https://github.com/uberfire/uberfire/pull/524

@adrielparedes Hi.. I've made some general comments about this PR; some may simply be because I don't have the back-ground knowledge to understand some things. I'd like @porcelli to review this too, before it's merged.. it might be some JavaDocs on your new Pull Request related services would explain things (for those who, like me, do not know much about these changes).
You might also like to check you've setup your IDE correctly to automatically add the license header!

 PullRequestStatus -> License

@manstis @porcelli @Salaboy PR updated

@csadilek thanks for the review, PR updated

jenkins please retest this

@Salaboy @csadilek @manstis mind check if it's ok for you with lates updates?

+1


Direct response/Redirect with ext_authz

Title: Unable to run ext_authz filter with direct response and redirect.
Description:
From how I read #8436 I should be able to set up a direct response and have it handled by the authorization filter. But when I set it up as follows no call is made to the ext_authz filter, and it just responds as specified
- name: envoy.filters.network.http_connection_manager
  typed_config:
    "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
    codec_type: auto
    stat_prefix: ingress_http
    route_config:
      name: local_route
      virtual_hosts:
        - name: local_service
          domains: ["*"]
          typed_per_filter_config:
            envoy.filters.http.ext_authz:
              "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute
              check_settings:
                context_extensions:
                  virtual_host: local_service
          routes:
            - match: { path: "/auth-check" }
              direct_response:
                status: 200
            - match: { prefix: "/old-path" }
              redirect:
                path_redirect: "/new-path"
            - match: { prefix: "/" }
              route:
                cluster: upstream
    http_filters:
      - name: envoy.filters.http.ext_authz
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
          grpc_service:
            envoy_grpc:
              cluster_name: ext_authz-grpc-service
            timeout: 0.250s
          failure_mode_allow: false
          transport_api_version: V3

I took a look at this and figured out that we the ext_authz filter is in fact invoked in this case, but it does nothing because it cannot find a route entry:
Filter::PerRouteFlags Filter::getPerRouteFlags(const Router::RouteConstSharedPtr& route) const {
  if (route == nullptr || route->routeEntry() == nullptr) {
    return PerRouteFlags{true /*skip_check_*/, false /*skip_request_body_buffering_*/};
  }
...

To support direct replies, we'd need to also check for route->directResponseEntry(). I can't think of a reason why direct entries shouldn't work here so I think this is just a bug that should be fixed. Operators can still configure direct response entries that skip ext_authz by providing a per-route config that disables the filter.

/assign

This bit in the ext_authz.cc filter seems to do the trick:
{code}
Filter::PerRouteFlags Filter::getPerRouteFlags(const Router::RouteConstSharedPtr& route) const {

if (route == nullptr || route->routeEntry() == nullptr) {
return PerRouteFlags{true /skip_check_/, false /skip_request_body_buffering_/};

if (route == nullptr) {
// If there's no route, skip authorization checks. This is an optimization to avoid work
// if we know the request won't be forwarded upstream anyway.
return PerRouteFlags::SkipCheckFlags();
}

if (route->routeEntry() == nullptr && route->directResponseEntry() == nullptr) {
// If there's a route, but no route entry nor direct response entry, then skip authorization
// checks. This is another optimization.
return PerRouteFlags::SkipCheckFlags();
}
{code}

Can we unstale this and associate it with a work in progress https://github.com/envoyproxy/envoy/pull/14989?

This is fixed by https://github.com/envoyproxy/envoy/pull/17546


Add message URL helpers

This PR adds a helper func for generating canonical Discord message URLs

Converting back to draft as it turns out Guild ID is no longer provided on the message body, so not guaranteed to exist


Clean up JVM connector classes

Purpose

$subject

Check List

[x] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #17860 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #17860   +/-   ##
=======================================
  Coverage   15.14%   15.14%
=======================================
  Files          46       46
  Lines        1208     1208
  Branches      189      189
=======================================
  Hits          183      183
  Misses       1011     1011
  Partials       14       14

Continue to review full report at Codecov.

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


Picture link in readme is broken

Describe the bug
Just saw this project from internal talk and open it. Found the picture link in readme is broken to see
To Reproduce
Steps to reproduce the behavior:

e.g. data sources and destination being used
e.g. code snippet to generate the error

Expected behavior
A clear and concise description of what you expected to happen.
Logs

Please include any Spark code being ran that generates this error
Please include a gist to the OpenLineageIn and PurviewOut logs
See how to stream Azure Function Logs

Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. Windows, Mac]
OpenLineage Version: [e.g. name of jar]
Databricks Runtime Version: [e.g. 6.4, 9.1, 10.1]
Cluster Type: [e.g. Job, Interactive]
Cluster Mode: [e.g. Standard, High Concurrency, Single]
Using Credential Passthrough: [e.g. Yes, No]

Additional context
Add any other context about the problem here.

@sonnyhcl -  Would you be able to take a screenshot or share a deep link to the section that looks broken?  From our side, we cannot find a broken image on any of the markdown documents.  Thank you for taking a look and giving us a hand!

@sonnyhcl  - I'm going to close this for now but please let us know if you can share what you're seeing and we can re-open and resolve it.


Root models break with Magnesium installed.

Roots do not properly render with Magnesium installed. They appear as disconnected cubes of various sizes. Branches work normally and as intended.
To Reproduce
-Install dynamic trees and Magnesium
-load a world
-find a tree with roots
Screenshots
will add some once I get a chance, in a few hours time.
Rendering Glitches
Incompatibility with Magnesium.
Additional context
I’m sure you have better things to do than support yet another performance mod, but thought I’d at least let you know about this in case it is an easy fix for compatibility.
-Magnesium 1.5

Dynamic Trees: 1.16.5-0.10.0-Beta30
Forge: 1.16 36.2.20
Java: 8 Update 321
OS: win8.1

I would like to add that this issue also affects the cacti from Dynamic Trees +.
Windows 10
Dynamic Trees 1.16.5-0.10.0-Beta32
Dynamic Trees Plus 1.16.5-0.1.0-Beta11

Interestingly, though, when cut down the model for the falling animation renders correctly.

Issue is present with tree roots from Dynamic Trees for BYG.  Still searching for a vanilla tree with roots to document.

Issue also present with vanilla trees.

This same issue happens with the Rubidium mod installed, except that it applies to branches and the upper part of trees as well.

With Rubidium it also causes some trees to not render properly, only rendering a handful of leaves and branches. This will also sometimes occur way up into the sky with just random groups of leaves hanging attached to nothing.

With Rubidium it also causes some trees to not render properly, only rendering a handful of leaves and branches. This will also sometimes occur way up into the sky with just random groups of leaves hanging attached to nothing.

this happens cause of cave biome api

With Rubidium it also causes some trees to not render properly, only rendering a handful of leaves and branches. This will also sometimes occur way up into the sky with just random groups of leaves hanging attached to nothing.

this happens cause of cave biome api

It's possible but there's definitely a rendering issue there too.

This should be fixed in the next beta.


How to configure keep-alive for uWs.App()?

I looked in the documentation, but couldn't seem to find any relevant configuration.
Is keep-alive enabled by default? What are the parameters?
uWs.App()
.get('/',(res, req)=>{
res.end('ok');
})
.listen(8080, (token) => {});

I want to set keep-alive to 30s or 60s, how can I do it?

It is 10s hardcoded. I think? Maybe we made it an environment variable. If not, could be time to make it so. But very few people have asked for this

It is 10s hardcoded. I think? Maybe we made it an environment variable. If not, could be time to make it so. But very few people have asked for this

This will make uWebSockets.js more performant.
Configure keep-alive to optimize network performance and reduce TCP connection times in different applications.
Usually when using a reverse proxy.

This would be a great addition and will add value to backends where applications are behind reverse proxy, which mostly are.

Hey @uNetworkingAB, I liked this idea as well, will you be adding this?

Any news on this?