Support inheriting jobserver fd for external subcommands

What does this PR try to resolve?
If cargo detects the existence of a jobserver, cargo should pass the
jobserver down to the external subcommand. Here are the reasons:

The existence of jobserver implies the user "expects" the amount of
job is under control. However, before this commit, external
subcommands cannnot benefit from the global view of the jobserver.
cargo-clippy as an external subcommand migth also love to respect
the jobserver protocol.
There are several well-known external subcommands calling "cargo"
interally (cargo-fuzz, cargo-tarpaulin, etc.)

Fixes #10477
zulip stream
How should we test and review this PR?
A new test jobserver::external_subcommand_inherits_jobserver is added.
You can also execute cargo-clippy from make -j2 to test the behaviour
(I usually run procs -w rustc to observe the amount of rustc invocations):
# Makefile
all:
	+./target/debug/cargo clippy --release

Caveats
Job without special prefix + might still be considered as a sub-make
and would inherit the jobserver, though I don't see it as an issue.
According to GNU Make Manual "13.1.1 POSIX Jobserver Interaction",
if --jobserver-auth option is available in MAKEFLAGS but the file
descriptors are closed, it means that the calling make didn't consider
our tool awas a recursive make invocation. I make an assumption that
if those fds are still open, we are happy to use those jobserver tokens.

r? @ehuss
(rust-highfive has picked a reviewer for you, use r? to override)

As a side note, I found that cargo doesn't respect make -j1 because GNU make won't set any value in MAKEFLAG if job count equals 1. I cannot see any way that cargo can tell the difference between -j1 and no -j specified. Actually make defaults to run jobs sequentially, which is the opposite of cargo's behaviour, so I don't think this can be fixed easily (and probably won't fix?).

So I've encountered a very similar situation with cargo run.
I try to use cargo run -p my_tool_that_uses_cbindgen_as_a_library (and cbindgen will recursively call cargo one more time).
Such a tool also wants to inherit the jobserver.
If the descriptors are closed, they later may be reopened by something unrelated, which will ICE rustc or cargo because they will still attempt to read/write something jobserver-like from those descriptors. (That's what happen in my build environment at least.)
Maybe cargo needs some kind of explicit option to avoid closing jobserver descriptors in such cases.

@petrochenkov, thanks for sharhing the interesting case. I feel like cargo run should not implicitly pass jobserver down to the executable. What cargo run runs is not always an external subcommand. Making that assumption might be a bit overkill I guess? Anyway, if the closed descriptors do cause problems for you, could you open a new issue for that?

:umbrella: The latest upstream changes (presumably #9892) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably #10934) made this pull request unmergeable. Please resolve the merge conflicts.

Sorry for the long delay. I think this makes sense. There's a tiny risk that it might interfere with some existing tools or workflows, but I think on balance it is the right behavior.
@bors r+

:pushpin: Commit c1b90b97280360457dee682c69e40ae42100fb49 has been approved by ehuss
It is now in the queue for this repository.

:hourglass: Testing commit c1b90b97280360457dee682c69e40ae42100fb49 with merge 646e9a0b9ea8354cc409d05f10e8dc752c5de78e...

:sunny: Test successful - checks-actions
Approved by: ehuss
Pushing 646e9a0b9ea8354cc409d05f10e8dc752c5de78e to master...


Use the latest frakti version in doc

Also, we may need to find reliable a way to get latest release version.

This change is


OOP school library: decorate a class 🖌

In this PR: 💭
✅ Created a class Nameable.

Implemented a method called correct_name that will raise a NotImplementedError.

✅  Turned the Person class to Nameable

Made sure that your Person class inherits from Nameable
Made sure that this class has a method correct_name implemented. It should simply return the name attribute.

✅  Prepare base Decorator

Made sure that it inherits from Nameable.
In the constructor assign a nameable object from params to an instance variable.
Implemented the correct_name method that returns the result of the correct_name method of the @nameable.

✅ Prepare CapitalizeDecorator and TrimmerDecorator
1. For the CapitalizeDecorator:

Create a class that inherits from the base Decorator class.
Implement a method correct_name that capitalizes the output of @nameable.correct_name.

2. For the TrimmerDecorator:

Create a class that inherits from the base Decorator class.
Implement a method correct_name that makes sure that the output of @nameable.correct_name has a maximum of 10 characters. If it's longer it should trim the word.

@ritikarawat220 , you are welcome. 👍


Item destroyed when inventory is full

When taking an item from an ES system with full inventory it disappears if taken by shift+click.
Not a very frequent problem but can be pretty expensive if one is not careful.

I'll take a look at it, thanks!

I'll take a look at it, thanks!

Fixed in 0.5.1-SNAPSHOT.


Microsoft.Units error on Minutes

Per https://docs.microsoft.com/en-us/style-guide/numbers

Spell out zero through nine and use numerals for 10 or greater for days, weeks, and other units of time.
Examples
seven years
28 days
12 hrs

Which means 0-9 minutes should be words and not numerals.
echo 'It takes three minutes to cook ramen noodles.' | vale --no-wrap -ext='.md'

Output
 stdin.md
 1:10  error  Use a numeral plus the units.  Microsoft.Units

✖ 1 error, 0 warnings and 0 suggestions in stdin.

Thanks for the report.
It looks like 'minutes' should be removed from the rule and the link should be changed to Units of measure:

Use numerals for measurements of distance, temperature, volume, size, weight, pixels, points, and so on—even if the number is less than 10. Add a zero before the decimal point for decimal fractions less than one, unless the customer is asked to enter the value.


Remove exclude-STCC from DAC call in app.py and add link to DAC overv…

…iew in README
Purpose

...

Does this introduce a breaking change?

[ ] Yes
[ ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

@pamelafox @bobtabor-msft Please review. This just yanks STCC exclusion from DAC call and adds a link to new DAC overview topic in README. Meant to address Pamelas comments here: https://github.com/MicrosoftDocs/azure-dev-docs-pr/pull/6263#discussion_r1744137141


feat: truncate table in standalone mode

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?

Implement truncate table procedure in standalone mode.
Implement reset version.
Implement truncate region.

Acquires the RegionWriter lock.
Create RegionMetaAction::Truncate to store committed_sequence and persist it for recovery from the manifest.
Mark all data in the WAL as obsolete.
Mark all SSTs as deleted.
Reset Version.

Recover from RegionMetaAction::Truncate.

Mark all SSTs as deleted.
Reset the Version and set the committed_sequence from RegionMetaAction::Truncate as the Version's flushed_sequence.

Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)

@DevilExileSu Could you please format the code?


Add C language code sample for tests

Add C language code samples for tests on analyzer and scanner

hey @JoaoDanielRufino can i work on this issue?


Add the hugo.soucy.cc domain

This PR is:

[X] Adding a new domain
[ ] Updating existing domain size
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (512kb.club site)
[ ] Other not listed

[X] I used the uncompressed size of the site
[X] I have included a link to the GTMetrix report
[X] The domain is in the correct alphabetical order
[X] This site is not a ultra lightweight site
[X] The following information is filled identical to the data file

I confirm that I have read the FAQ section, particularly the two red items around minimal pages and inappropriate content and I attest that this site is neither of these things.

[X] Check to confirm

- domain: hugo.soucy.cc
  url: https://hugo.soucy.cc/
  size: 44.7
  last_checked: 2023-03-15

GTMetrix Report: https://gtmetrix.com/reports/hugo.soucy.cc/O2pizXkP/

Looks like you accidentally formatted the file. Could you fix that?

On second thought, it's probably a good idea to remove the whitespace. Thanks!

@garritfra Sorry about that, maybe my text editor removed it. 🤔
Thanks for the merge. 🖖🏻


Disabled remote-debugging by default and appshell.app.getRemoteDebuggingPort() needs a callback argument to work

Disabling remote debugging by default, and it can be enabled by passing a command line arg as --remote-debugging-port=xxxx
Changed appshell.app.getRemoteDebuggingPort() implementation to require a callback
Added validation for port range, and also without remote-debugging-port we will not be able to debug brackets using a browser, and if browser debugging is disabled, appshell.app.getRemoteDebuggingPort(callback) will print 0

Addressed all the review comments.

@vickramdhawal Can you please take a quick look?

Addressed review comments. It is not possible to use g_handler to hold remote-debugging-port as g_handler does not get initialized while we are parsing command line.


Version in package.json does not match released version

Description:
Currently the newest version of this action is 3.4.1
But in the package.json file it is still 3.1.1
https://github.com/actions/setup-node/blob/9fc76ff6856cd291b7d7ce307628ba4b8d7bc186/package.json#L3
Action version:
n/a
Platform:
n/a
Runner type:
n/a
Tools version:
n/a
Repro steps:
n/a
Expected behavior:
Version number in package.json be the same as release version.
Actual behavior:
package.json has an old version number in it.

hi @mobilutz, thank you for the report. We will take a look at it.

hi @mobilutz, this is resolved, so I am going to close the issue. Thank you again for submitting it


bug + fix: calendar colors always overwrite schedule colors

Need: we need some schedules to be in custom colors, different than the calendar they belong to.
This should work according to docs, since each schedule can have it's own colors.
Bug: calendar colors always overwrite schedule colors, instead of letting those alone if they were set in schedule data.
Fix: change the code block at
https://github.com/nhn/tui.calendar/blob/188b1846eb1023660e0776ef0fcfc1a4846e9b64/src/js/factory/calendar.js#L757
to
        //overwrite only if not customized
        if (color) {
            if (typeof obj.color == 'undefined') { obj.color = color.color; }
            if (typeof obj.bgColor == 'undefined') { obj.bgColor = color.bgColor; }
            if (typeof obj.borderColor == 'undefined') { obj.borderColor = color.borderColor; }
        }

I tested that this fix works for me.
Please make to commit this in v2 too.
Thanks

@mariusa
In the TOAST UI calendar, if there is calendars, the priority is to set the schedule color to the specified color of the calendar.
If you want to color each event, don't set calendars property when you create an instance of the calendar.
if not,
When creating create schedules, why don't you choose the color of this schedule as an option to use calendar color or custom schedule color?
I look forward to your help. You can be a contributor.😇

Hi @jungeun-cho ,

In the TOAST UI calendar, if there is calendars, the priority is to set the schedule color to the specified color of the calendar.
If you want to color each event, don't set calendars property when you create an instance of the calendar.

Both calendars and schedules accept custom colors. A calendar has schedules, so schedule should inherit the color from calendar, but it should be possible to overwrite at the schedule level.
Let's make an analogy with HTML & CSS. A div can have p elements. One can set the background color of div HTML element, but also for p.
What you say, transposed to HTML:

if there is div element, the priority is to set the p color to the specified color of the div.  (p/schedule inside that div/calendar)
If you want to color each p, don't set div property

But that's not useful. One needs all content inside a div to be the color of the div, except some content which can be customized.
All p's inherit the color of their parent div, unless a color is specified for a specific p.

You can be a contributor.

Yes, I'd like to make a pull request with this fix. But first, we need to agree on behavior.
Would you agree with this: A calendar has schedules, so schedule should inherit the color from calendar, but it should be possible to overwrite at the schedule level.
?

@mariusa
It would be better to provide an option rather than unconditionally overwriting the color of the schedule.
Each calendar has its own color for displaying events, but
  What do you think about offering the option to choose the color's priority if you need to display some events in different colors?
For example...
calendar.createSchedules([
    {
        id: '1',
        calendarId: '1',
        title: 'Happy Halloween Party ,
        category: 'time',
        start: '2019-10-30T20:00:00+09:00',
        end: '2019-10-30T23:00:00+09:00',
        bgColor: '#f77c1f',
        dragColor: '#f77c1f',
        color: '#fff',
        useOnlyScheduleColor: true    // like this? (default value: false)
    }
]);
...

What do you think?

It would be better to provide an option rather than unconditionally overwriting the color of the schedule.

It's not unconditional. The custom app logic can set custom schedule colors as needed. If no custom colors are set, then use the calendar colors.

What do you think about offering the option to choose the color's priority if you need to display some events in different colors?

If we need to display some events in different colors (which is actually our need!), we set schedule colors for desired schedules. When not set, we expect the calendar colors to be used by default.
So, there's no need for such an option, as programmer can choose what schedules in what colors to show. But, that doesn't work now, because the calendar colors always overwrite schedule color (hence this bug report & fix included in initial comment).

Hmm..
It was our rule to follow the calendar if the calendar list already existed even though it had a schedule color.
There are other issues with calendar colors and schedule colors.
I'll think about these two things together.
Thank you for your detailed feedback.😆

@mariusa
We decided to agree with what you said.
May I ask you for a PR?

@mariusa master is right branch. I'll migrate all changes to v2.


Checksum filters

Could add codecs to check for data corruption. CRC32 and Adler32 could be implemented via zlib module from Python standard library. HDF5 uses Fletcher32, not sure where implementation could be available from.

CRC32 and Adler32 done in https://github.com/alimanfoo/numcodecs


Move the go module name to github.com/metallb/metallb-operator

We are moving the operator to be part of the metallb org, so here we
rename the go module and the relative imports accordingly.

LGTM


Attempted to add Anticipated Shows and Anticipated Movies sensors

I really appreciate your help to add Anticipated Shows and Anticipated Movies sensors.  Once I'm more familiar with the structure of your code, I will be able to submit PRs more easily.
PS: I will remove the comments I added soon.  I had it there temporarily so I can easily spot the code I added.

Hi, I tried my best to make the changes you requested.  See my second commit.  Please forgive me if I didn't do something correctly.  The good news is that I am not getting any error messages in home assistant log when adding this integration via config_flow.
The bad news is that the new sensors are still not being created on my Home Assistant instance after adding this modified trakt integration via config_flow.  Only the existing sensors that were there before are being created.
Below, is the configuration I am specifying in configuration.yaml.
trakt_tv:
  language: en
  timezone: America/Los_Angeles
  sensors:
    upcoming:
      new_show:
        days_to_fetch: 60
        max_medias: 10
      movie:
        days_to_fetch: 60
        max_medias: 10
      dvd:
        days_to_fetch: 60
        max_medias: 10
    recommendation:
      show:
        max_medias: 10
      movie:
        max_medias: 10
    anticipated:
      anticipated_movie:
        max_medias: 10
      anticipated_show:
        max_medias: 10

Can you please tell me what I need to change or add to the existing source files so the integration will actually create the 2 new sensors:  anticipated_movies and anticipated_shows?  Thank you for all your help and patience!

Thank you. I tried my best to make the changes you requested. See my second commit: c1dac64. Please forgive me if I didn't do something correctly. The good news is that I am not getting any error messages in home assistant log when adding this integration via config_flow.
The bad news is that the new sensors are still not being created on my Home Assistant instance after adding this modified trakt integration via config_flow. Only the existing sensors that were there before are being created.
Below, is the configuration I am specifying in configuration.yaml.
trakt_tv:
  language: en
  timezone: America/Los_Angeles
  sensors:
    upcoming:
      new_show:
        days_to_fetch: 60
        max_medias: 10
      movie:
        days_to_fetch: 60
        max_medias: 10
      dvd:
        days_to_fetch: 60
        max_medias: 10
    recommendation:
      show:
        max_medias: 10
      movie:
        max_medias: 10
    anticipated:
      anticipated_movie:
        max_medias: 10
      anticipated_show:
        max_medias: 10

Can you please tell me what I need to change or add to the existing source files so the integration will actually create the 2 new sensors: anticipated_movies and anticipated_shows? Thank you for all your help and patience!

Thank YOU, the effort is appreciated a lot, I will look at it tomorrow for sure ;).

Good job on the improvements! Added some more comments to help you out

The bad news is that the new sensors are still not being created on my Home Assistant instance after adding this modified trakt integration via config_flow. Only the existing sensors that were there before are being created.

The missing definition of ANTICIPATED_KINDS would definitely break the code, could be the reason why you're not seeing any sensors.
Once you fix that you can go into http://localhost:8123/config/logs?filter=trakt_tv (change base URL to your instance) and see if anything else is throwing you any errors

@downey-lv thank you so much for being so patient with me.  I really appreciate that you guys are so friendly.  I tried my best to make the changes you suggested:  https://github.com/dylandoamaral/trakt-integration/pull/110/commits/c95d4743e635413dd5fb549790328b7ccaf2225d
I also verified that there are no errors:

Unfortunately, the new sensors are still not being created after adding this modified integration via config_flow with no errors at all in home assistant log.  There is something fundamental that I am missing.  Can you please tell me what I should try next?

I pulled the commit into my development instance, made the changes and the sensors work properly

Just FYI, I did not test exclude_collected

I pulled the commit, made the changes and the sensors work properly
Just FYI, I did not test exclude_collected

thank you.  Yes, it worked for me too.  thank you very much!  Honestly, Ive never used the exclude_collected feature before with this integration.  Ill see what kind of effect it will have on the sensor data with it enabled.

@downey-lv can you please tell me the minimum code i need to change so that the configuration options are consistent with other configuration settings?  I just realized that     anticipated:       anticipated_movie:         max_medias: 10       anticipated_show:         max_medias: 10 is not consistent with other options.  it should be     anticipated:       movie:         max_medias: 10       show:         max_medias: 10  could you please tell me the minimum code changes to achieve that?

i need to change so that the configuration options are consistent with other configuration settings?

You can't just have movie and show there, because that would lead to duplicate identifiers.
You could change the config schema to have movie/show there and then remap them to anticipated_x  in sensor.py instead of having anticipated_x in config. @dylandoamaral what do you prefer?

@downey-lv Thank you so much for all your help. As soon as I have some free time I will make the changes and push another commit.  I can't wait.  I really like these new sensors!

Hi @downey-lv I tried to do this on my own; but, I'm having a lot of trouble to modify the latest commit I provided in order to support a configuration such as:
trakt_tv:
  language: en
  timezone: America/Los_Angeles
  sensors:
    anticipated:
      movie:
        max_medias: 10
      show:
        max_medias: 10

I think it would be better than keeping it like:
trakt_tv:
  language: en
  timezone: America/Los_Angeles
  sensors:
    anticipated:
      anticipated_movie:
        max_medias: 10
      anticipated_show:
        max_medias: 10

I could really use your help to achieve this.

Hi @downey-lv  and @dylandoamaral I have made all the changes on my own: 8c6d769e2e64ef085cc06cf9afc77b096c85afd0.  They work correctly as expected for me when using:
trakt_tv:
  language: en
  timezone: America/Los_Angeles
  sensors:
    anticipated:
      movie:
        max_medias: 10
      show:
        max_medias: 10

It creates the sensors:  sensor.trakt_anticipated_shows and sensor.trakt_anticipated_movies.  I think I also removed all the temporary comments I had added.

Hi @downey-lv and @dylandoamaral I have made all the changes on my own: 8c6d769. They work correctly as expected for me when using:
trakt_tv:
  language: en
  timezone: America/Los_Angeles
  sensors:
    anticipated:
      movie:
        max_medias: 10
      show:
        max_medias: 10

It creates the sensors: sensor.trakt_anticipated_shows and sensor.trakt_anticipated_movies. I think I also removed all the temporary comments I had added.

Hello @mkanet you also have to merge the main branch into your branch and resolve conflicts. I will be in holliday next week but then I will be able to review it !

I will submit a new PR for this and close this one.


coreutils: Skip df/total-verify test

Description of changes
Fixes https://github.com/NixOS/nixpkgs/issues/303680
Disables a test that fails on cephfs.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Bump @dasJ

This has to go through staging

This has to go through staging

I've updated the target branch. Mind re-reviewing?

Also @dasJ I'm a bit confused as to why you thumbs downed my comment. It would be helpful if you could provide a little bit of extra context for that. Do you not want to be pinged, or is it just that I forgot to set the base branch correctly, or something else entirely?

@dasJ sorry to keep bumping you, but I'd really like for this PR to get reviewed.


Prevent --tcpip from killing previous instances connected to the same device

Please read the prerequisites to run scrcpy.
Also read the FAQ and check if your issue already exists.
Environment

OS: [e.g. Debian, Windows, macOS...] Windows
Scrcpy version: [e.g. 2.5] 3.0
Installation method: [e.g. manual build, apt, snap, brew, Windows release...] Windows Release
Device model: SM-G975F
Android version: [e.g. 14] 12, 14

Describe the bug
Since --tcpip was added, opening a new terminal and mirroring the same device will close all other instances of the same mirrored device launched with --tcpip. Everything else launched with -s, -e, -d are unaffected.
My request would be to allow '--tcpip' be run as many times for a device just like -s option.
With --tcpip

scrcpy --tcpip=<IP_ADDRESS> --new-display --start-app=?Chrome
scrcpy --tcpip=<IP_ADDRESS> --new-display --start-app=?Settings

Both will connect to <IP_ADDRESS> if adb is not yet connected, then attempt launching specified app.
However, after 1st is opened, the 2nd one also gets opened but, the first one will forcefully close.
With -s

scrcpy -s <IP_ADDRESS> --new-display --start-app=?Chrome
scrcpy -s <IP_ADDRESS> --new-display --start-app=?Settings

Both will fail if adb is not yet connected to <IP_ADDRESS>
Otherwise, both can multiple windows concurrently.

The reason why --tcpip disconnects is that very often, a TCP/IP connection listen in adb devices may be "broken" (for example, the device has been rebooted, but adb still list the connection).
The only way to reconnect is to disconnect beforehand.
https://github.com/Genymobile/scrcpy/blob/1d2f16dbb53facdb2ea174578437a2a5afb6aede/app/src/server.c#L840
That being said, we could add an option to not disconnect, for example:
scrcpy --tcpip=192.168.x.x
# not implemented
scrcpy --tcpip=+192.168.x.x # reconnect

I just implemented that (just a few lines of code): 246719f1d6d79d71b4d9cdebf835818868f35d65 (branch tcpip_reset)

Thank you! 🥰 This will be useful for --start-app shortcuts


A configuration to indicate whether all orgs in the hierarchy should be discovered only via the email domain or not

Organization discovery with email domain in B2B login flow has been implemented with https://github.com/wso2/product-is/issues/16379.
I've included the current experience below:

The user accesses the B2B app and clicks on sign-in with SSO.
The user can either enter the email or provide the organization name.
The user gets directed to the correct sub organization for authentication.

When the configuration is enabled for this feature, there should be a way to indicate whether all the organizations in the hierarchy should be discovered via the email domain or not. If all organizations are to be discovered with email domains, we should not provide an option to provide the organization name. This issue is created to track this improvement.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


A Results Screen at the end of the song / week

What feature do you want to get added on the base engine?
The title already says it, but a Results Screen at the end of each song / week telling how many notes you've hitten, the amounts of ratings you got, etc... like Kade Engine has.
To test your sight, and reliability, please select the option of what should NOT be requested.
Stage Editor, 6K+ support.

gonna try to make it in 1.4.0


Deprecation: Calling fragment_cache_key directly is deprecated in rails 5.2

DEPRECATION WARNING: Calling fragment_cache_key directly is deprecated and will be removed in Rails 6.0. All fragment accessors now use the combined_fragment_cache_key method that retains the key as an array, such that the caching stores can interrogate the parts for cache versions used in recyclable cache keys.

Yes, we are in the process of upgrading to Rails 6 as well and I will trying to fix this in the next week or two so we can be ready to deploy Rails 6


Question: Recommended Cloud Service

Which cloud framework service would you recommend as the most suitable for using casperJS: GAE, AWS, other?

Please address questions of this kind to the mailing list and stop posting issues against CasperJS to get answers to arbitrary questions. Thank you.
Closing as off-topic.


Tips - Chosen computational solution

The group added basic statistics of each bands as features and also used median for the indices. More reasoning for these decisions might add more context to the machine learning process.

The non-dask implementation used Random Forest while the dask implementation used Multi-layer Perceptron. This difference makes it difficult to observe how dask influence the machine learning process. It might be better to stick to one algorithm to make both implementations comparable.

Selecting Random Forest and Multi-layer Perceptron for this task is interesting. More assignment-specific reasoning might be helpful to add more contect to the added general justification of these ML algorithm choices.


Investigate much retries

TESTED - OK
https://github.com/UffizziCloud/uffizzi_platform/issues/604#issuecomment-1350588336

TESTED on prod - OK
https://github.com/UffizziCloud/uffizzi_platform/issues/604


KAFKA-15537: Fix metadata downgrade documentation

In KIP-778 we introduced the "unsafe" (lossy) downgrade in case metadata has changes in one of the versions between target and current, as defined in MetadataVersion.
The documentation says it is possible.

Note that the cluster metadata version cannot be downgraded to a pre-production 3.0.x, 3.1.x, or 3.2.x version once it has been upgraded. However, it is possible to downgrade to production versions such as 3.3-IV0, 3.3-IV1, etc.

The command line tool shows that this doesn't work.
bin/kafka-features.sh --bootstrap-server :9092 downgrade --metadata 3.4 --unsafe
Could not downgrade metadata.version to 8. Invalid metadata.version 8. Unsafe metadata downgrade is not supported in this version.
1 out of 1 operation(s) failed.

This is also a mentioned in KIP-868: "Note that lossy downgrades of the metadata log are detailed in KIP-778 and not yet fully implemented as of Kafka 3.3".
Additionally, you can't do any safe downgrade, because cluster metadata records are still evolving and every release has changes.
This change fixes the documentation to reflect that, and improves the error messages.

@mumrah , do you want to have a look?

@fvaleri , there are some test failed because of this change. Please take a look.
https://ci-builds.apache.org/job/Kafka/job/kafka-pr/job/PR-14484/10/#showFailuresLink

Thanks for raising @showuon. It is fixed now.

There is still failed test: Build / JDK 11 and Scala 2.13 / org.apache.kafka.tools.FeatureCommandTest.[1] Type=Raft-Isolated, Name=testDowngradeMetadataVersionWithKRaft, MetadataVersion=3.3-IV1, Security=PLAINTEXT. Please take a look.

Failed tests are unrelated.


LWM2M: Add sol_lwm2m_payload type.

This struct will make things easier when implementing the access control.
Signed-off-by: Guilherme Iscaro<EMAIL_ADDRESS>

@bsmelo Take a look in this commit

merged


iCloud

How does the module know which iCloud account to access?  Do I need to share my apple id?

You need to make a public shared album.  When you view it on the web, the album id will be the part after the # in the url.


Extend the Junction AA description

The Junction NT description notes that the junction is the CDR3 plus the conserved codons. The Junction AA description should have a similar definition.
Simple change, should be able to merge right away...

Hrm. The rest of the *_aa fields just read as references to the base nucleotide field, which has a detailed-ish description, so it would be more consistent to change the description to something like:
"Amino acid translation of the junction field."

Hrm. The rest of the *_aa fields just read as references to the base nucleotide field, which has a detailed-ish description, so it would be more consistent to change the description to something like:
"Amino acid translation of the junction field."

Hrm back 8-)
Is that because that was the easy path for us to define the fields or because that is the right definition? I think it makes more sense for each field to be defined properly in and of itself, not in terms of the definition of another field in the spec... If a derivation is likely, it could be mentioned, but I am not sure that that is the right description in general.
My rationale and use case is this... We use the AIRR spec to define an awful lot of what is in our user interface... We don't want to define terms, we want to use the AIRR spec descriptions for those terms. So for example, in our user interface, a table with junction_aa as column, the column uses the name in the spec as the column name (IMGT-JUNCTION amino acid sequence) and the description of the field as the help text for that column (currently Junction region amino acid sequence.). If we used the description you suggest we would have help text that read Amino acid translation of the junction field.
I would much prefer the description for the field to complete in and of itself, so it would read Junction region amino acid sequence, where the junction is defined as the CDR3 plus the two flanking conserved codons.
The AIRR Community, through the spec, thinks it is important enough to note that the Junction contains the CDR3. I think the spec is more complete if it does that for both fields...

I suppose what I am suggesting is that all the other fields might need to be changed as well - but I think the description for CDR3 and Junction are particularly important - as people can get confused in particular when they don't see the word "CDR3" in the user interface when using a Junction search element...

I guess I am also saying that yes, I will do that work if we think it is the right thing to do 8-)

That said, I don't recall why we did it that way originally. It was probably just less typing.

That is what I suspect... But I am happy to go through them, as this is quite important for us and I think for completeness it makes sense (and a spec should be complete IMHO 8-)...

That is what I suspect... But I am happy to go through them, as this is quite important for us and I think for completeness it makes sense (and a spec should be complete IMHO 8-)...

Okay. I suggest we resolve and merge in #295 first. Modifying all the *_aa field descriptions may generate some annoying merge conflicts in the spec if we don't merge that one first.

From the call:

Few opinions, but we prefer to leave the *_aa as simple translation references to the nucleotide fields.
Maybe tooltips can be facilitated by stripping _aa to get the text of the "parent" field or by adding a new x-airr field.


LFS-818: Display an estimate of the total number of results in the livetable

This PR causes the PaginationServlet to check if at least ten times the number of results per LiveTable page match the given query. If the number of matches exceeds this number, the total number of matches is approximated with "of more than", otherwise the exact number of matches is displayed.
For example, suppose that 55 forms match a query. If we are looking at 10 results per page, the PaginationServlet will check if at least 100 results can be found. As the amount of found results does not exceed 100, the TablePagination controls will display 1-10 of 55, 11-20 of 55, etc...
Now, suppose that there were 135 matches. The TablePagination controls would display, 1-10 of more than 100, 11-20 of more than 110, 21-30 of more than 120, 31-40 of more than 130, 41-50 of 135, 51-60 of 135, 61-70 of 135, etc...
To test, build the LFS-818_test branch and generate 130 fake tumor forms with ./generate_fake_tumors.sh. Test moving between LiveTable pages and applying filters (eg. Lesion Number > 6500).

10 appears 3 times in the servlet code. Please define a constant.
The convention that negative means approximation needs to be documented in the Java doc. Alternatively we can make it crystal clear by returning the positive number and adding a boolean field to the json which specifies if the total number is exact or an approximate.

I have replaced the value 10 with the constant QUERY_SIZE_MULTIPLIER and have added the field isApprox to signal that the totalrows value is a lower-bound approximation and not the exact value of the amount of query matches.

10 appears 3 times in the servlet code. Please define a constant.
The convention that negative means approximation needs to be documented in the Java doc. Alternatively we can make it crystal clear by returning the positive number and adding a boolean field to the json which specifies if the total number is exact or an approximate.

I have replaced the value 10 with the constant QUERY_SIZE_MULTIPLIER and have added the field isApprox to signal that the totalrows value is a lower-bound approximation and not the exact value of the amount of query matches.


[SPARK-16777][SQL] Do not use deprecated listType API in ParquetSchemaConverter

What changes were proposed in this pull request?
This PR removes build waning as below.
[WARNING] .../spark/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaConverter.scala:448: method listType in object ConversionPatterns is deprecated: see corresponding Javadoc for more information.
[WARNING]         ConversionPatterns.listType(
[WARNING]                            ^
[WARNING] .../spark/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/ParquetSchemaConverter.scala:464: method listType in object ConversionPatterns is deprecated: see corresponding Javadoc for more information.
[WARNING]         ConversionPatterns.listType(
[WARNING]                            ^

This should not use listOfElements (recommended to be replaced from listType) instead because the new method checks if the name of elements in Parquet's LIST is element in Parquet schema and throws an exception if not. However, It seems Spark prior to 1.4.x writes ArrayType with Parquet's LIST but with array as its element name.
Therefore, this PR avoids to use both listOfElements and listType but just use the existing schema builder to construct the same GroupType.
How was this patch tested?
Existing tests should cover this.

cc @holdenk and @liancheng
Thanks @holdenk, I was stupid and indeed, the alternative of listType is not necessarily listOfElements but we can actually work around.

Test build #62998 has started for PR 14399 at commit 437414b.

Test build #62998 has finished for PR 14399 at commit 437414b.

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

Merged build finished. Test PASSed.

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

This looks good - I might add a comment about why we are using this approach instead of listOfElements in the code so that whoever comes along next understands why we couldn't use it.
Also just to make sure - when you used listOfElements in your previous attempt the test suite exposed the issue? If not we should add a test for this using an old format file (looking at ParqueTest it seems like it should already be caught I just want to make sure)
Thanks so much for doing this! :)

@holdenk Yes, the some tests in ParquetSchemaSuite. If I remember correctly this, they were,
Backwards-compatibility: LIST with nullable element type - 2
Backwards-compatibility: LIST with non-nullable element type - 2

I will add some comments there as suggested. Thanks!

Test build #63031 has started for PR 14399 at commit c2e2cb8.

Please let me cc @srowen here as well because it is anyway about building.

Test build #63031 has finished for PR 14399 at commit c2e2cb8.

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

Merged build finished. Test PASSed.

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

Gentle ping @liancheng

Hi @liancheng , I'd appreciate if you could take a look please.

Test build #65912 has started for PR 14399 at commit c2e2cb8.

Test build #65912 has finished for PR 14399 at commit c2e2cb8.

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

Merged build finished. Test PASSed.

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

Sorry for the late review! LGTM, merging to master, thanks!

Thank you!!!


switch-to-configuration-ng followup

Description of changes
Some followup to stc-ng to allow people to stumble across this and understand how to interact with it and what to do when making future changes. Also make the perlless profile use it by default.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg test activation-perlless

@ofborg test activation-perlless

Hm..the new stc implementation shouldn't depend on perl, still some work to do there! Moving to draft

Ah so it was not switch-to-configuration-ng, it was the install-grub.pl script being pulled in! @nikstur PTAL


[Spec Impl] Update QR code data to help INTENT based app launch

Background
The QR code structure used in INJI is a JSON with two fields. one of the field "cid" is holding dummy value and another field "pk" holds the hex encoded advertisement payload of verifier.
{"cid":"ilB8l","pk":"4f56504d4f5349505f2f9377eb06"}
What should be done
We will implement the format of QR code data mentioned in specification. We need to put 32bytes of pubkey in QR code data to be compatible with IOS as well. Do not use JSON as we need the QR code data to be used or enabling deeplinks.
OPENID4VP://connect?name=STADIONENTRANCE&key=8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a&nonce=6e91ab1b48396d3e

Points to Note

Make sure it doesn't impact GNB implementation (or any other INJI implementation like Login with QR etc)
nonce to be used in QR code is yet to be decided as we don't have the concept of nonce being shared from Verifier side today

This requirement has been moved to Jira.
Link to Jira ticket: https://mosip.atlassian.net/browse/MOSIP-26912


Describe forensics risks and countermeasures

This may already be in the working (#71 / #123) but I thought I’d raise it here just in case.
What is missing
An analysis of what can be found out through forensic analysis of an app user’s device and how this information could be used or abused, a description of countermeasures (a) within the apps and (b) in the underlying platforms, and an analysis of how effective these countermeasures are in practice.
Why should it be included
Consider the following scenario: An app user receives is notified of possible exposure through the app but chooses to ignore this warning, trusting that everything would be anonymous and voluntary. Subsequently this user has contact with another person. Both turn out infected later and the app user is accused of having caused bodily harm. A criminal investigation commences, in the course of which law enforcement officers confiscate the app user’s electronic devices and examine them for evidence.
Since a specific legal regulation pertinent to CWA is apparently not planned, all common legal obligations apply to app users even though using the app as such is voluntary. To make informed decisions whether and how to use the app, potential users need to understand all consequent risks as well as the extent to which technical countermeasures offer protections.
At the end of the day practical countermeasures may rely mostly on platform features like device encryption and locking, but it would be good to have an explicit statement with regard to this topic.
Where should it be included
Security documentation or app documentation

I'd like to add to the story that there is also a risk for "beacon users" e.g. Users that submitted being positive but were identified either by identifying them selves or by getting access to there phone.
Than one (including law enforcement and intelligence agencies) could use this information to identify if a specific user had been in close proximity to the "beacon user" (as the full list of IDs is transmitted).
Also this "beacon users" could be devices that are placed on specific locations of interest (e.g. placing a device close to the hideout of some criminal, in the middle of some protest) and will therefore look like "normal users" to the system.
Than as soon as the responsible party needs evidence (assuming they already have all subject they're interested in) they could just flip the switch to have the "beacon user" device transmit that it is positive (or just look at the ID list).

Some of the aspects should be covered by the Security Overview and there is currently no additional documentation planned on that matter.


Filter __source and __self dev props

👋
Those props are added by babel-preset-react in dev environment (by @babel/plugin-transform-react-jsx-self and @babel/plugin-transform-react-jsx-source)
Documentation: https://babeljs.io/docs/en/babel-preset-react/
But they are passed directly to tippy and currently we have the warnings everywhere I am using it in my development environment:

Can't you create a wrapper component that filters these out? I think this issue came up a while ago and that solved it

I just tried it seems to not working in my code, I still have warnings :/
Is it the wrong place to remove it here? Since this is a dedicated React wrapper for Tippy, this could be the good place to handle it or I am wrong?

Well the problem is how many other rogue props need to be handled? Not just from those plugins. If it works for the user to create a wrapper to handle their problem case then that would be better.

I see your point, if it can help I found that in the React source code https://github.com/facebook/react/blob/d3622d0f977def825123f1d5f4cef19888b1eaf1/packages/react/src/ReactElement.js#L16
For me those props seems to be an implementation detail so we should not be aware how to handle it using Tippy (I am curious that I don't find any other issues about that btw).

@atomiks Do you prefer to use the destructured arguments to remove them? You won't have any linting errors about unused variables?

Do you prefer to use the destructured arguments to remove them?
I think so, the linter doesn't seem to complain for me

@atomiks It's done ;)

Thank you!


Extract a guidance#show action from AuditsController

It simplifies AuditsController by extracting out into a single
resource action that does not belong to the controller.
We should be rendering the Govspeak in the view with something
like show.govspeak.erb but this is something to be addressed in the
future. I have tracked this work on this Trello card

 Extract guidance action into its own controller


why should fix parameters in training maskrcnn?

In mx-maskrcnn, there are FIXED_PARAMS and FIXED_PARAMS_SHARED in the config.
It it obvious that FIXED_PARAMS_SHARED is needed, but why should need FIXED_PARAMS?
I tried in faster rcnn, the result would be better if FIXED_PARAMS is set empty.
In default, the FIXED_PARAMS is: ['conv0', 'stage1', 'gamma', 'beta'].

@gaosanyuan , I met similar problem to you. I want to ask you where this parameter 'FIXED_PARAMS_SHARED' is used? What's the meaning of this part? Any advice will be appreciated. Thank you very much.

Generally, once a parameter is fixed, it will not be update in the training process. In mxnet framework, the fixed parameter works as a parameter of the Module class. Please refer to mxnet.module.Module. @hdjsjyl

@gaosanyuan , I get it. Thanks

@gaosanyuan In the last train_maskrcnn stage, it was initialed with rpn2+rcnn1. But I found it actually be initialed with rcnn1 for the rpn2's feature extraction part was initialed with rcnn1 and fixed during the training. Is that right?


PHP Parse error

Hello, I've installed as per your instructions (using composer to get json_machine then copying the jm file into /usr/bin + chmod 755) but when I try running a simple command I get an error:
$ jm -h
PHP Parse error:  syntax error, unexpected ':', expecting ')' in /usr/bin/jm on line 290

Info:
$ php --version
PHP 7.4.33 (cli) (built: Feb 22 2023 20:07:47) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies

$ uname -a
Linux xxxxxxxxxxxxxxxxxxxx 5.10.0-22-cloud-amd64 #1 SMP Debian 5.10.178-3 (2023-04-22) x86_64 GNU/Linux

Any help appreciated, TIA,
Jon

The jm script has to be able to find the JSON machine installation. That’s why the installation instructions are as follows:
The simplest way to install "JSON Machine" is usually to run:

composer require halaxa/json-machine

in the user's home directory or in the same directory in which you intend to install the jm script.

To install composer, you could try brew install composer using homebrew. See "Additional Documentation" below for further details and alternatives.

If you wish to clone or download the JSON Machine repository instead of installing it using composer, then please note that jm will assume it resides in the directory ~/github/json-machine/.

Those are the instructions I followed, you're saying the following installation is incorrect?:
$ pwd
/home/jtheo
$ ls jm
jm
$ ls vendor/halaxa/json-machine/*
vendor/halaxa/json-machine/CHANGELOG.md  vendor/halaxa/json-machine/Makefile   vendor/halaxa/json-machine/composer.json
vendor/halaxa/json-machine/LICENSE.txt   vendor/halaxa/json-machine/README.md  vendor/halaxa/json-machine/phpunit.xml.dist

vendor/halaxa/json-machine/build:
build-image.sh  composer-lt-7.2.json  composer-update.sh  docker-run.sh  update-changelog.php

vendor/halaxa/json-machine/examples:
guzzleHttp.php  memLeak.php  symfonyHttpClient.php

vendor/halaxa/json-machine/img:
github.png  logo.png  logo.svg  wallpaper.png

vendor/halaxa/json-machine/src:
Exception       Items.php         JsonDecoder  PositionAware.php  StringChunks.php  TokensWithDebugging.php  autoloader.php
FileChunks.php  ItemsOptions.php  Parser.php   StreamChunks.php   Tokens.php        ValidJsonPointers.php

vendor/halaxa/json-machine/test:
JsonMachineTest  bootstrap.php  performance

$ ls composer.*
composer.json  composer.lock

Looking more closely at line 290, I see that it assumes support for "named arguments", which is a feature that seems to require PHP 8.  Since you indicated you're still on PHP 7, that is probably the issue.
If you don't wish to upgrade to PHP 8, the simplest workaround would presumably
be to provide the other arguments explicitly:
json_decode(
    string $json,
    ?bool $associative = null,
    int $depth = 512,
    int $flags = 0)

OK that makes sense, I will see if I can upgrade.
If not I'll try the workaround above.
btw yes I had copied the jm to /usr/bin not sure why now, but have removed and tried running from my home dir with no surprises same result.


Stop the noise please

Hello chef's,
I'm currently digging into chef for my professional needs and for now I'm pretty satisfied with this piece of software. While I had some minor issues while installation (Chef 12.3.0 on Fedora 21) I finally managed it to start working and kicked off my first cookbook without problems.
Sadly there is one thing that drives me crazy: when chef-server is running, my ultrabook seems to utilize a lot of CPU. The fans are running at full speed until I stop it with chef-server-ctl stop.
I questioned myself why this should be a wanted behavoir, but can't find an answer because I do not know much about the chef ecosystem and involved processes yet.
Anyway, I identified a process /opt/opscode/embedded/lib/erlang/erts-5.10.4/bin/beam.smp doing a lot of things.
This seems to be rabbitmq related and so here is what the logs says:
<EMAIL_ADDRESS>=INFO REPORT==== 12-Jul-2015::11:27:37 ===
Starting RabbitMQ 3.3.4 on Erlang R16B03-1
Copyright (C) 2007-2014 GoPivotal, Inc.
Licensed under the MPL.  See http://www.rabbitmq.com/

=INFO REPORT==== 12-Jul-2015::11:27:37 ===
node           : rabbit@localhost
home dir       : /var/opt/opscode/rabbitmq
config file(s) : (none)
cookie hash    : g0fjI2lw28bYoJ9PXj6txw==
log<EMAIL_ADDRESS>sasl log<EMAIL_ADDRESS>database dir   : /var/opt/opscode/rabbitmq/db/rabbit@localhost

=INFO REPORT==== 12-Jul-2015::11:27:37 ===
Limiting to approx 49900 file handles (44908 sockets)

=INFO REPORT==== 12-Jul-2015::11:27:37 ===
Memory limit set to 1535MB of 3838MB total.

=INFO REPORT==== 12-Jul-2015::11:27:37 ===
Disk free limit set to 50MB

=INFO REPORT==== 12-Jul-2015::11:27:38 ===
msg_store_transient: using rabbit_msg_store_ets_index to provide index

=INFO REPORT==== 12-Jul-2015::11:27:38 ===
msg_store_persistent: using rabbit_msg_store_ets_index to provide index

=WARNING REPORT==== 12-Jul-2015::11:27:38 ===
msg_store_persistent: rebuilding indices from scratch

=WARNING REPORT==== 12-Jul-2015::11:27:42 ===
Mnesia(rabbit@localhost): ** WARNING ** Mnesia is overloaded: {dump_log,write_threshold}

=INFO REPORT==== 12-Jul-2015::11:27:51 ===
started TCP Listener on <IP_ADDRESS>:5672

=INFO REPORT==== 12-Jul-2015::11:27:51 ===
Server startup complete; 0 plugins started.

=INFO REPORT==== 12-Jul-2015::11:27:53 ===
accepting AMQP connection <0.2300.0> (<IP_ADDRESS>:40874 -> <IP_ADDRESS>:5672)

=INFO REPORT==== 12-Jul-2015::11:27:53 ===
accepting AMQP connection <0.2304.0> (<IP_ADDRESS>:40875 -> <IP_ADDRESS>:5672)

=INFO REPORT==== 12-Jul-2015::11:27:53 ===
accepting AMQP connection <0.2319.0> (<IP_ADDRESS>:40876 -> <IP_ADDRESS>:5672)

=INFO REPORT==== 12-Jul-2015::11:27:53 ===
accepting AMQP connection <0.2322.0> (<IP_ADDRESS>:40877 -> <IP_ADDRESS>:5672)

=INFO REPORT==== 12-Jul-2015::11:28:15 ===
accepting AMQP connection <0.2349.0> (<IP_ADDRESS>:55616 -> <IP_ADDRESS>:5672)

=INFO REPORT==== 12-Jul-2015::11:28:15 ===
accepting AMQP connection <0.2360.0> (<IP_ADDRESS>:37839 -> <IP_ADDRESS>:5672)

/var/log/opscode/opscode-erchef/erchef.log
2015-07-12 11:28:15.264 [info] Application lager started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.265 [info] Application ssl started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.269 [info] Application chef_objects started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.269 [info] Application uuid started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.269 [info] Application mochiweb started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.269 [info] Application epgsql started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.269 [info] Application chef_index started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.269 [info] Application mini_s3 started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.275 [info] Application webmachine started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.275 [info] Application sqerl started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.275 [info] Application opscoderl_wm started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.275 [info] Application chef_db started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.282 [info] Application oc_chef_authz started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.283 [info] Loading ibrowse configuration from /opt/opscode/embedded/service/opscode-erchef/etc/ibrowse/ibrowse.config
2015-07-12 11:28:15.283 [info] Org guid cache enabled
2015-07-12 11:28:15.417 [info] Starting oc_chef_action
2015-07-12 11:28:15.418 [info] Chef Actions: Connecting to RabbitMQ at {127,0,0,1}:5672/analytics (exchange: <<"actions">>)
2015-07-12 11:28:15.425 [info] Negotiated maximums: (Channel = 0, Frame = 131072, Heartbeat = 580)

2015-07-12 11:28:15.428 [info] Chef Keyring starting

2015-07-12 11:28:15.428 [info] Loaded key default of type RSAPublicKey from file /etc/opscode/webui_pub.pem

2015-07-12 11:28:15.428 [info] starting chef_index_sup

2015-07-12 11:28:15.429 [info] Connecting to Rabbit at {127,0,0,1}:5672 {<<"/chef">>,<<>>}

2015-07-12 11:28:15.435 [info] Negotiated maximums: (Channel = 0, Frame = 131072, Heartbeat = 580)

2015-07-12 11:28:15.439 [info] chef_keygen_cache configured size: 10 start_size: 0 max_workers: 2
2015-07-12 11:28:15.439 [info] chef_keygen_cache starting with 0 keys in cache

2015-07-12 11:28:15.443 [info] Application oc_chef_wm started on node<EMAIL_ADDRESS>2015-07-12 11:28:15.443 [info] Application oc_erchef started on node<EMAIL_ADDRESS>2015-07-12 11:28:16.589 [error] {chef_keygen_cache,keygen_timeout}
2015-07-12 11:28:16.589 [info] {chef_keygen_cache,decr_worker_count,1}
2015-07-12 11:28:16.590 [info] {chef_keygen_cache,incr_worker_count,1.5}
2015-07-12 11:28:17.476 [info] {chef_keygen_cache,incr_worker_count,2}
2015-07-12 11:28:17.596 [error] {chef_keygen_cache,keygen_timeout}
2015-07-12 11:28:17.596 [info] {chef_keygen_cache,decr_worker_count,1}
2015-07-12 11:28:17.597 [info] {chef_keygen_cache,incr_worker_count,1.5}
2015-07-12 11:28:18.480 [error] {chef_keygen_cache,keygen_timeout}
2015-07-12 11:28:18.480 [info] {chef_keygen_cache,decr_worker_count,1}
2015-07-12 11:28:18.481 [info] {chef_keygen_cache,incr_worker_count,1.5}
2015-07-12 11:28:18.609 [error] {chef_keygen_cache,keygen_timeout}
2015-07-12 11:28:18.609 [info] {chef_keygen_cache,decr_worker_count,1}
2015-07-12 11:28:18.610 [info] {chef_keygen_cache,incr_worker_count,1.5}
2015-07-12 11:28:19.149 [info] {chef_keygen_cache,incr_worker_count,2}

Any guess why CPU usage is that high?

Sadly there is one thing that drives me crazy: when chef-server is running, my ultrabook seems to utilize a lot of CPU. The fans are running at full speed until I stop it with chef-server-ctl stop.

It isn't typical to run chef-server on a laptop.  Typically chef-server would be running on a dedicated machine as it is designed to handle a large number of concurrent API requests.  If you are using chef just for local workstation configuration, and don't have many nodes that require central management, you might consider running chef-client in local mode (chef-client -z).

Anyway, I identified a process /opt/opscode/embedded/lib/erlang/erts-5.10.4/bin/beam.smp doing a lot of things.

beam.smp is the Erlang virtual machine.  This is like the JRE in Java, all of our erlang services run on top of it.

Any guess why CPU usage is that high?

Based on just your output, it looks like you might be seeing the result of erchef (the main API service) filling it's cache of keys (key generation is expensive so it has an asynchronous process that generates keys and populates a cache so that we can respond to client creation requests quickly).

Typically chef-server would be running on a dedicated machine as it is designed to handle a large number of concurrent API requests.

As a DevOps I'm working with different environments in different locations, so this shouldn't be a limitation by design to operate chef-server on a laptop. When chef is idle, the hardware should idle too.
Apart from that my laptop is more powerful than most of the other hosts I own. And what's about less horsed platforms, like Rasberry Pi or all the other dev boards... I'm in doubt you can operate chef on this machines.

Based on just your output, it looks like you might be seeing the result of erchef (the main API service) filling it's cache of keys (key generation is expensive so it has an asynchronous process that generates keys and populates a cache so that we can respond to client creation requests quickly).

Thanks for this input! Your idea fits to the logmessages, so filling the cache may crashed with an error!? Log /var/log/opscode/opscode-erchef/crash.log may indicate this...
2015-07-12 11:28:16 =ERROR REPORT====
{chef_keygen_cache,keygen_timeout}
2015-07-12 11:28:17 =ERROR REPORT====
{chef_keygen_cache,keygen_timeout}
2015-07-12 11:28:18 =ERROR REPORT====
{chef_keygen_cache,keygen_timeout}
2015-07-12 11:28:18 =ERROR REPORT====
{chef_keygen_cache,keygen_timeout}

... which matches the last lines of /var/log/opscode/opscode-erchef/erchef.log
2015-07-12 11:28:15.443 [info] Application oc_erchef started on node<EMAIL_ADDRESS>2015-07-12 11:28:16.589 [error] {chef_keygen_cache,keygen_timeout}
2015-07-12 11:28:16.589 [info] {chef_keygen_cache,decr_worker_count,1}
2015-07-12 11:28:16.590 [info] {chef_keygen_cache,incr_worker_count,1.5}
2015-07-12 11:28:17.476 [info] {chef_keygen_cache,incr_worker_count,2}
2015-07-12 11:28:17.596 [error] {chef_keygen_cache,keygen_timeout}
2015-07-12 11:28:17.596 [info] {chef_keygen_cache,decr_worker_count,1}
2015-07-12 11:28:17.597 [info] {chef_keygen_cache,incr_worker_count,1.5}
2015-07-12 11:28:18.480 [error] {chef_keygen_cache,keygen_timeout}
2015-07-12 11:28:18.480 [info] {chef_keygen_cache,decr_worker_count,1}
2015-07-12 11:28:18.481 [info] {chef_keygen_cache,incr_worker_count,1.5}
2015-07-12 11:28:18.609 [error] {chef_keygen_cache,keygen_timeout}
2015-07-12 11:28:18.609 [info] {chef_keygen_cache,decr_worker_count,1}
2015-07-12 11:28:18.610 [info] {chef_keygen_cache,incr_worker_count,1.5}
2015-07-12 11:28:19.149 [info] {chef_keygen_cache,incr_worker_count,2}

... but how to proceed debugging from here? Is the cache purgeable/rebuildable or are there any commands to debug the creating job?

Chef-zero and chef-solo exist for low-horsepower situations, as do goiardi (a simplified implementation of the Chef Server API in Go) and Commis (implementation in Python). If there is a bug here at all it might be that our keygen timeout needs some tuning on low-end hardware as it was probably picked based on values normally seen on servers. Regardless, it doesn't sound like anything unusual is happening overall, making RabbitMQ use less CPU power when "idle" is not within scope for a Chef issue.

Chef-zero and chef-solo exist for low-horsepower situations, as do goiardi (a simplified implementation of the Chef Server API in Go) and Commis (implementation in Python).

Thanks for sharing I will look into chef-zero next.
To learn more about chef-server: what processes may frequently consume CPU while running in that Erlang virtual machine? What is happening inside chef while running in idle mode ("nothing to do")?
As there is most likely nothing to index and nothing to deploy, "wasting" resources naturally feels buggy to me.

@mgrobelin Chef server is not wasting resources.. and its not naturally buggy. As a "devops"  you should at least try to understand why there are different chef servers when other are explaining.
The erlang chefserver is multi-tiered beast that can handler 10-15k servers and uses solr, postgresql etc for different functionality. It is likely to be tuned for high valume workload instead of developer experience.
Use chef-zero if you are only dong development works. Use goiardi (a opensource chef server written in go) if you want to use an auth enabled low cpu footprint chefserver (goiardi can run without solr/postgres.. so it will be lot smoother).
Chef is not officially supported on arm (hence most devboards) .. but i do maintain chef builds for raspbian/rpi 2 , (and goiardi 9.1 onwards provide arm build as well) . Use those for arm based devboard  (intel based boards like edison uses yocto, you are unlikely to run chef there).

forgot to mention. if you want discuss about chef-server related issues.. use chef-server github repo. This repository and the corresponding issue tracker is for chef-client


Bugs in _eventgenvars

@Constantino-Carreto-Romero will fix a few bugs we noticed in the imputation code in _eventgenvars

[x] The command should return an error message if an invalid entry is typed in the impute()option. Currently an invalid entry leads to nouchange
[x] The imputed policy variable should not be generated automatically. Instead, it should be generated only if genvars is active. Or, we could have a separate option for generating it.
[x] The checks for whether the policy variable is binary should occur in any imputation scenario. Right now they do not happen in the nouchange scenario.

Summary: In this issue we tackled a few bugs in xtevent.
Thread continues in #29


Seismic: Fix "Explicit time dimension" warning for forward wavefields

Should be fairly uncontroversial and fix the flood of "Explicit time dimension" warnings generated by our seismic wavesolver wrappers for forward operators.

Ok, merging...


Stop retaining class objects in invocations

Fix for https://github.com/erikdoe/ocmock/issues/411

This is required to allow https://github.com/TextureGroup/Texture to be able to be moved over to OCMock 3.6.

Looking at #418 I released that the same behaviour usually applies to arguments and return values, which is why in #418 the change is made in both places.
In this PR the change was only made for arguments. Would it make sense to explore whether it should also apply to the return value?

I would actually like to kill the return value branch of the logic entirely since it is never used. The return value is always nil coming through here. None of the return value branch is tested at all using the test suite.


Can't import anything

Hey, I am running osx 10.12.6 (16G29).  Can't wait to get it running :)

On Darwin, tu ne to use the current development version of the Go toolchain that has the need important fixes to the plugin package to get import of Go package from the ng prompt to work.
(It's written on the neugram.io page but perhaps not as prominently as it should on GitHub...)

kk, yeah would be nice if it would be more prominent, even took me a while to find it with the information that it's on the website.. was looking for terms like osx, darwin, amd
looking forward for jan 18 then!


[SUGGESTION] Add personalized loot for multiplayer servers

Would there be any way to add personalized cobblemon loot balls so multiple people can open up the same loot ball?

You mean custom lootballs (texture, loot, etc)? Please specify a use case and the results you expect to see what I can do.


See no way to download a build

README.md says:

Download latest CI build
The code in this repository is built using the Travis-CI continuos integration platform. You can download the last succesfully built version from here:
https://www.cubbyusercontent.com/pl/ci-build.tar.gz/_c1d3e8dd5ed149f5895ad7edba61d221

I got issues while connecting to it:
$ curl -v https://www.cubbyusercontent.com/pl/ci-build.tar.gz/_c1d3e8dd5ed149f5895ad7edba61d221
* Could not resolve host: www.cubbyusercontent.com
* Closing connection 0
curl: (6) Could not resolve host: www.cubbyusercontent.com

It looks like I get NXDOMAIN + the SOA record using dig:
$ dig www.cubbyusercontent.com @<IP_ADDRESS>

; <<>> DiG 9.16.1-Ubuntu <<>> www.cubbyusercontent.com @<IP_ADDRESS>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 36814
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.cubbyusercontent.com.      IN      A

;; AUTHORITY SECTION:
cubbyusercontent.com.   288     IN      SOA     ns14.3amlabs.com. noc.logmein.com.<PHONE_NUMBER> 3600<PHONE_NUMBER> 300

;; Query time: 2 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Wed May 31 11:38:13 EEST 2023

whois says it's not expired yet:
$ whois cubbyusercontent.com | grep -e Date: -e database: -e ^Registrant -e Server:
   Registrar WHOIS Server: whois.corporatedomains.com
   Updated Date: 2022-12-07T05:31:05Z
   Creation Date: 2014-04-30T14:26:02Z
   Registry Expiry Date: 2024-04-30T14:26:02Z
   Name Server: NS12.3AMLABS.COM
   Name Server: NS14.3AMLABS.COM
   Name Server: NS20.3AMLABS.COM
>>> Last update of whois database: 2023-05-31T08:45:48Z <<<
Registrar WHOIS Server: whois.corporatedomains.com
Updated Date: 2022-12-07T00:31:06Z
Creation Date: 2014-04-30T10:26:02Z
Registrar Registration Expiration Date: 2024-04-30T14:26:02Z
Registrant Name: Domain Administrator
Registrant Organization: GoTo Technologies USA, Inc.
Registrant Street: 333 Summer Street
Registrant City: Boston
Registrant State/Province: MA
Registrant Postal Code: 02210
Registrant Country: US
Registrant Phone: +1.8056902944
Registrant Phone Ext:
Registrant Fax: +1.8056902944
Registrant Fax Ext:
Registrant Email<EMAIL_ADDRESS>Name Server: ns12.3amlabs.com
Name Server: ns14.3amlabs.com
Name Server: ns20.3amlabs.com
>>> Last update of WHOIS database: 2022-12-07T00:31:06Z <<<

Any ideas what's going on & how to download the built binaries?

Sorry for the incredibly late reply. cubbyusercontent.com has never been owned by me but it was a cloud storage service which shut down a while ago. I used to upload the builds there.
Anyway, this project has been unmaintained for 7 years. I'd suggest to use the official IUP documentation and builds instead.


[Bug] avx512 is misjudge and cause be coredump

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
2.0.1
What's Wrong?
BE coredump in CPU().has_avx512() branch in bitshuffle_wrapper.cpp. There is no avx512 feature in cpuinfo but CPU().has_avx512() is true.

coredump stack

cat /proc/cpuinfo

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 85
model name	: Intel(R) Xeon(R) Gold 6242 CPU @ 2.80GHz
stepping	: 7
cpu MHz		: 2800.044
cache size	: 22528 KB
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc unfair_spinlock pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat xsaveopt fsgsbase bmi1 hle avx2 smep bmi2 invpcid rtm
bogomips	: 5600.08
clflush size	: 64
cache_alignment	: 64
address sizes	: 43 bits physical, 48 bits virtual
power management:

What You Expected?
If there is no avx512 feature in cpuinfo, CPU().has_avx512() should be false and be should not core.
How to Reproduce?
No response
Anything Else?
avx512 optimization is introduced by https://github.com/apache/doris/pull/15972
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@xiaokang  sure, I tested it on non-avx512 machine. Would you tell me the failure machine architecture like lscpu ?
I could check if have similar arch machine and check if mask result false or true.

And can it reproduced on same arch machine with the doris official build environment ? (https://doris.apache.org/zh-CN/docs/dev/install/source-install/compilation-general）

@xiaokang
I double check the Intel 6242 processor.(Cascade Lake)
https://en.wikichip.org/wiki/x86/avx-512
https://en.wikichip.org/wiki/intel/xeon_gold/6242
It has AVX512F AVX512BW and even AVX512VL support. So the cpu flag is correct as expected.
Could you tell me your kernel version ?

Thanks @HackToday. The problem is reported using doris official download package https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.1-bin-x64.tar.gz. You can try to reproduce the problem using corresponding source tag https://github.com/apache/doris/tree/2.0.1-rc04 and build it using docker image apache/doris:build-env-for-2.0.

I'll try to get lscpu and kernel version today.

Thanks. @xiaokang We'd like to know the original environment version, like kernel version here. (As said before, the arch is AVX512 enabled)

Hi @xiaokang  Thanks for your info.
Could you tell me your OS distro ? It seems the kernel is very old.
And I am not sure if your environment is still OK, when cored ump happens, Do you have dmesg output for that ?
Thanks

@HackToday The OS distro is Red Hat Enterprise Linux Server release 6.5 (Santiago)

Hi @xiaokang  I tried to find a similar VM on Cascade Lake 8255C CPU @ 2.50GHz running with CentOS 6.8 with kernel below:
Linux VM-32-11-centos 2.6.32-642.6.2.el6.x86_64 #1 SMP Wed Oct 26 06:52:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
And it report cpuinfo:
# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 85
model name      : Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz
stepping        : 5
microcode       : 1
cpu MHz         : 2494.142
cache size      : 36608 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc up rep_good unfair_spinlock pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat xsaveopt fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f rdseed adx avx512cd
bogomips        : 4988.28
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual

It can report AVX512 flag correctly. And bitshuffle native code can run correctly.
It seems your kernel ylcs-5 2.6.32-431.el6.x86_64 is very special which I could not reproduce right now.
Could you provide the dmesg when the issue happen on your system ?

BZ#1195453
The glibc dynamic loader now supports Intel AVX-512 extensions. This update allows the dynamic loader to save and restore AVX-512 registers as required, thus preventing AVX-512-enabled applications from failing because of audit modules that also use AVX-512.  https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/6.7_technical_notes/package-glibc   (从这个描述上看，操作系统版本低于 6.7可能都有这个问题。也许升级glibc到6.7对应版本也可以识别，我没有硬件环境无法验证）

@aopangzi  Good info. Thanks
Right now, I did not have low version OS (<6.8) with Cascade Lake. I am not sure also. (may not very quick to setup same environment)
But I think when the issue happen. dmesg would have some info for help.
@xiaokang  what do you think ? Is that possible for you to provide the dmesg info ?

@xiaokang I have sent PR to fix this issue.
https://github.com/apache/doris/pull/25819
Please help check. Thanks

@HackToday Thanks!


Update Docker FROM to senzing/senzingapi-tools:3.2.0

See https://github.com/Senzing/community-roadmap/issues/65

this is done


Add .m3u support for PICO-8 for multi-carts

Example with Another world demake (https://freds72.itch.io/another-world):
Extract all of the game files into a directory, for example /roms/pico8/aw/
You'll have multiple .p8 carts from the .zip file.
The main cart is aw.p8.
Within the pico8 rom folder, create a m3u file - /roms/pico8/Another_world.m3u
The m3u file should point to the location of the main cart aw/aw.p8.
Load this Another_world.m3u file from ES to launch the game.

Which pico-8 emulator supports .m3u files?  I don't see evidence that fake-08 or the official raspberry pi pico-8 binaries support .m3u files.

Sorry you are correct, its my fault as I was getting confused by something I saw on Google.
Sorry to waste your time!


Content does not stretch to full height

react-native, react and native-base version
"react-native": "0.48.4"
"react": "16.0.0-alpha.12"
"native-base": "2.3.3"

Expected behaviour
Flatlist (horizonatl) present inside the content must stretch to full height.
Actual behaviour
Flatlist wraps the height, without content it used to fill the whole height.
Steps to reproduce (code snippet or screenshot)
<Container style={{ marginTop: 22 }}>
        <Header searchBar rounded>
          <Item>
            <Icon active name='search' />
            <Input placeholder='Search' />
          </Item>
          <Button transparent>
            <Text>Search</Text>
          </Button>
        </Header>
        <Content style={{ flex: 1 }}>
          <FlatList
            data={this.state.items}
            renderItem={this.renderRow.bind(this)}
            keyExtractor={(item) => item.row._id}
            horizontal
            removeClippedSubviews={false}
            style={{ flex: 1 }}
          />
        </Content>
</Container>

Screenshot of emulator/device

Is the bug present in both ios and android or in any one of them?
Issue seen in Both
Any other additional info which would help us debug the issue quicker.
I tried,

wrapping up Flatlist with nativebase View
Giving style={{ flex: 1 }} contentContainerStyle={{ flex: 1 }} to Content.
Tried giving flex to the items which are being displayed.
None of them is working.

fixed it by adding,
contentContainerStyle={{ flexGrow: 1 }}

@EvHaus About contentContainerStyle, yes we will add this
Sorry! missed this

@SupriyaKalghatgi please do so👍

@SupriyaKalghatgi
The property is not present on the documentation. Is there a plan to deprecate this?

Same Issue here. The solution proposed not working here...

setting contentContainerStyle to {flexGrow:1}  no longer works ?


Update document in Processor on the condition based

{
"status":1,
"expire":15349870000,
"detail1":"test1",
"detail2":"test2"
}
{
"status":0,
"expire":15349870000,
"detail1":"test1",
"detail2":"test2"
}
I have two different documents of same data type, I want to update status, detail1 and detail2 on conditions
if(status==0 and expire > now()) then status = 1 and detail1 = "good"
if(status==1 and expire > now()) then status = 2 and detail2 = "bad"
But all this I want to do in Processor. So how can I apply a check in processor as I am unable to get value of fields in processor?
@Override
public Progress process(Processing processing) {
for (DocumentOperation op : processing.getDocumentOperations()) {
if (op instanceof DocumentUpdate) {
DocumentUpdate documentUpdate = (DocumentUpdate) op;
if(?){
documentUpdate.addFieldUpdate(FieldUpdate.createAssign(documentUpdate.getDocumentType().getField("detail1"), new StringFieldValue("good")));
}
else if(?){
documentUpdate.addFieldUpdate(FieldUpdate.createAssign(documentUpdate.getDocumentType().getField("detail2"), new StringFieldValue("bad")));
}
}
}
return Progress.DONE;
}
Please help!

One option is to fetch the document on-demand from the backend as part of your update processing using the Document API.
Another option is if you could reformulate your problem as a conditional update, as these are executed in the backend and don't require you to fetch the document yourself. DocumentUpdate has a setCondition method that can be used to do this programmatically. See the document selector language for the syntax and options available. Note that a condition applies to a whole DocumentUpdate and cannot be set on individual FieldUpdates, so the use case might not match yours.

I think this has been answered on SO? https://stackoverflow.com/questions/53626784/update-document-in-processor-on-the-condition-based


Generalize curl request in gold file.

Turns out I was using a really old curl client.  Should remove unnecessary specifics in the gold file eventually, but I don't fell like fighting this now.


docs: add doc about cri-annotation-support

Signed-off-by: Starnop<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
Currently, PouchContainer has lots of advantages over other container runtimes. Kubernetes has a hiden way to support this: make user-defined parameters in annotations field in pod's definition.
When CRI manager deals the annotation details, it could pass these parameters to container manager, and container manager definitely implement these features very well.
Now we have supported some fields, such as :

Make runtime choosing supported
Make lxcfs configurable supported

So  a detailed documentation is needed to cover the annotations supported.
Ⅱ. Does this pull request fix one issue?

None.
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
None.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Please check the CI failure:
./docs/kubernetes/pouch_cri_annotation_support.md:5: MD007 Unordered list indentation
./docs/kubernetes/pouch_cri_annotation_support.md:1: MD009 Trailing spaces
./docs/kubernetes/pouch_cri_annotation_support.md:2: MD009 Trailing spaces
./docs/kubernetes/pouch_cri_annotation_support.md:3: MD009 Trailing spaces
./docs/kubernetes/pouch_cri_annotation_support.md:4: MD009 Trailing spaces
./docs/kubernetes/pouch_cri_annotation_support.md:5: MD009 Trailing spaces
./docs/kubernetes/pouch_cri_annotation_support.md:6: MD009 Trailing spaces
./docs/kubernetes/pouch_cri_annotation_support.md:7: MD009 Trailing spaces
./docs/kubernetes/pouch_cri_annotation_support.md:8: MD009 Trailing spaces
./docs/kubernetes/pouch_cri_annotation_support.md:9: MD009 Trailing spaces
......

For more details, you should check https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md @Starnop

Codecov Report

Merging #2216 into master will decrease coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2216      +/-   ##
==========================================
- Coverage    64.9%   64.77%   -0.14%
==========================================
  Files         208      208
  Lines       16722    16722
==========================================
- Hits        10853    10831      -22
- Misses       4519     4531      +12
- Partials     1350     1360      +10

Flag
Coverage Δ

#criv1alpha1test
32.82% <ø> (-0.14%)
:arrow_down:

#criv1alpha2test
33.54% <ø> (-0.1%)
:arrow_down:

#integrationtest
39.89% <ø> (-0.11%)
:arrow_down:

#unittest
23.84% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

apis/server/utils.go
61.9% <0%> (-4.77%)
:arrow_down:

ctrd/watch.go
75.75% <0%> (-4.55%)
:arrow_down:

pkg/meta/store.go
62.5% <0%> (-1.57%)
:arrow_down:

daemon/mgr/container_utils.go
83.13% <0%> (-1.21%)
:arrow_down:

ctrd/container.go
52.87% <0%> (-0.96%)
:arrow_down:

daemon/mgr/container.go
55.94% <0%> (-0.82%)
:arrow_down:

cri/v1alpha1/cri.go
61.88% <0%> (-0.34%)
:arrow_down:

cri/v1alpha2/cri.go
62.64% <0%> (-0.33%)
:arrow_down:

daemon/mgr/snapshot.go
94.2% <0%> (+4.34%)
:arrow_up:

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

CI fails with ci/circleci: markdownlint-misspell-shellcheck . @Starnop


CLI deploy options do not trigger build step

Description
Build step is not being run before jss deploy app or jss deploy files CLI commands.
I had to manually build using jss build, and then running jss deploy files.
Expected behavior
I expect the build step to be run by default.
Documentation and --help say that option --skipBuild is false by default.
Steps To Reproduce

Run jss deploy app or jss deploy files via command line.
Build step will not run. It will only attempt to copy the ./dist/ folder to the instance.

Possible Fix
A debug of argv.skipBuild variable in @sitecore-jss/sitecore-jss-cli/dist/scripts/deploy.files.js on the latest CLI version shows "false" as a string.  The same debug of this same line in version 11.0.2 shows the value as false as a Boolean.
The conditional around the build step is expecting argv.skipBuild to be a Boolean value. This is why it does not build by default.
Your Environment

Sitecore Version: 9.3
JSS Version: 13.0.3

Possibly related: #308

Fixed In #345


[BUG] TypeVar in route handler parameters recognized as strings not their constraint or bound types.

Describe the bug
TypeVar in route handler parameters recognized as strings not their constraint or bound types.
To Reproduce

create generic typevars
use typevars as typehints for route handler parameters

from typing import TypeVar
from starlette.responses import PlainTextResponse

str_T = TypeVar('str_T', bound=str)
bool_T = TypeVar('bool_T', bound=bool)
int_T = TypeVar('int_T', bound=int)
const_T = TypeVar('const_T', int, float)

@router.get('/str_T/{elem}')
async def generic_str(elem: str_T):
    return PlainTextResponse(str(type(elem)))

@router.get('/bool_T/{elem}')
async def generic_bool(elem: bool_T):
    return PlainTextResponse(str(type(elem)))

@router.get('/int_T/{elem}')
async def generic_int(elem: int_T):
    return PlainTextResponse(str(type(elem)))

@router.get('/const_T/{elem}')
async def generic_const(elem: const_T):
    return PlainTextResponse(str(type(elem)))

curl http://localhost:8000/str_T/str
<class 'str'>%

curl http://localhost:8000/int_T/1
<class 'str'>%

curl http://localhost:8000/bool_T/True
<class 'str'>%

curl http://localhost:8000/const_T/4
<class 'str'>%

Expected behavior
When for generics defined with constraints type casting is probably would be impossible, since
we have a list of possible types, for bounded typevars fastapi should type cast to bounded type.

Is there a desired use case for this? I'm having a hard time imagining a concrete scenario where supporting bounded typevars is more appropriate than just placing the bound itself in the annotation. (Not to say a reasonable application doesn't exist, just that I can't think of one.)
The typing API is not especially clean, and as a result I think supporting this feature might have the potential to add serious backwards-compatibility pain over time. As a result, I think it would be better for fastapi to not support this feature unless it enabled a capability that is currently missing or difficult to achieve cleanly.

No, I would say that there is no strong desire.
It's more for documentation-like purposes,  usually It gives you more information on what code is doing when you see domain-specific types.
However, yes, this is more of a nice-to-have than a necessity.

@dmajere if you want domain-specific types, you might try typing.NewType (which is supported by fastapi currently). Based on your description it sounds like this may actually be more appropriate than a TypeVar anyway.

@dmontagu
This works perfectly, thanks.

Glad to hear it! I use typing.NewType extensively in my own projects.
Especially for object IDs -- this makes it much easier to prevent silly mistakes where you accidentally call a function expecting an ID of one type of object with an ID of another type. If everything is an integer or a UUID, it can be very painful to debug the problem, but using typing.NewType means mypy will catch it for you without any effort.

I'm a mypy newb and didn;t get the subtlety of this, care giving a little
snippet @dmontagu ?
On Wed, Sep 18, 2019 at 6:30 AM dmontagu<EMAIL_ADDRESS>wrote:

Glad to hear it! I use typing.NewType extensively in my own projects.
Especially for object IDs -- this makes it much easier to prevent silly
mistakes where you accidentally call a function expecting an ID of one type
of object with an ID of another type. If everything is an integer or a
UUID, it can be very painful to debug the problem, but using
typing.NewType means mypy will catch it for you without any effort.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tiangolo/fastapi/issues/533?email_source=notifications&email_token=AAINSPREMWH5JOC7W3P4BZTQKGVFDA5CNFSM4IW4EZSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD66YFQA#issuecomment-532513472,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAINSPT6N2OPP6GITZULKRLQKGVFDANCNFSM4IW4EZSA
.

--
benoit barthelet
http://pgp.mit.edu/pks/lookup?op=get&search=0xF150E01A72F6D2EE

Here's an example that demonstrates the value:
Imagine you have a database of products, and have an API for marking a product as "saved" for a particular user. Without NewType, some of the functions/classes involved might look like:
import uuid

from pydantic import BaseModel

class Product(BaseModel):
    product_id: uuid.UUID
    title: str

class SavedProductRecord(BaseModel):
    saved_product_id: uuid.UUID
    product_id: uuid.UUID
    user_id: uuid.UUID

# "CRUD" functions
def read_saved_product(saved_product_id: uuid.UUID) -> SavedProductRecord:
    pass

def read_product(product_id: uuid.UUID) -> Product:
    pass

Now pretend you get a SavedProductRecord instance from somewhere (e.g., after loading all of the records for a particular user), and then want to load the associated product. You go to call read_product, but your mind slips for a second and you pass the function the product_id, rather than the saved_product_id:
record: SavedProductRecord = ...  # pretend this came from somewhere
read_product(record.saved_product_id)

You won't be able to find the matching product because you gave the wrong id (should have been product_id, not saved_product_id), but there's nothing in the code here that could be detected as a bug.
Since both product_id and saved_product_id have the same type and similar names, this error is hard to detect either algorithmically or as a human. But in an intuitive sense, the product_id and saved_product_id are a totally different "types" of things -- they should never be used interchangeably.
typing.NewType gives a way to formalize this idea in a way that works with type checkers.
Here's what the above code would look like with NewType:
from typing import NewType
import uuid

from pydantic import BaseModel

SavedProductID = NewType("SavedProductID", uuid.UUID)
ProductID = NewType("ProductID", uuid.UUID)
UserID = NewType("UserID", uuid.UUID)

class Product(BaseModel):
    product_id: ProductID
    title: str

class SavedProductRecord(BaseModel):
    saved_product_id: SavedProductID
    product_id: ProductID
    user_id: UserID

def read_saved_product(saved_product_id: SavedProductID) -> SavedProductRecord:
    pass

def read_product(product_id: ProductID) -> Product:
    pass

record: SavedProductRecord = ...  # pretend this came from somewhere
read_product(record.saved_product_id)

If you call mypy on this now, you'll get:
error: Argument 1 to "read_product" has incompatible type "SavedProductID"; expected "ProductID"

Also, PyCharm can detect the error:

With the pydantic mypy and/or pycharm plugins, you can also get ID type checking in BaseModel init signatures (very useful when converting one model to another).

This same idea is useful well beyond just ID types; any time you can imagine a domain-specific "type", but are representing the data as a bare str, int, etc., you can use NewType to get type checking for the data. An example of detecting this type of error might look like:
Bad:
class UserRegistrationRequest(BaseModel):
    username: str
    password: str

def create_user(password: str, username: str):
    ...

@app.post("/register")
def register(registration_request: UserRegistrationRequest) -> None:
    # whoops, wrong order
    create_user(registration_request.username, registration_request.password)

Good:
RawPassword = NewType("RawPassword", str)
class UserRegistrationRequest(BaseModel):
    username: str
    password: RawPassword

def create_user(password: RawPassword, username: str):
    ...

@app.post("/register")
def register(registration_request: UserRegistrationRequest) -> None:
    # the error gets detected by mypy since registration_request.username is not a RawPassword
    create_user(registration_request.username, registration_request.password)

ok I already told you @dmontagu but that's an amazing way of explaining clearly a feature a lot of people would not even notice it exists, just because you explains very well the problem it solves at first, it doesn't come out of the blue, it's pragmatic.
I just read again the mypy docs about NewType and I was debating if I found the git man pages more or less convoluted...

Thanks for the help here everyone! :clap: :bow:
Thanks for reporting back and closing the issue @dmajere  :+1:

One use case where it would be helpful to have support for this is when using class based router views from the fastapi_utils package:  https://fastapi-utils.davidmontague.xyz/user-guide/class-based-views/
With a generic base class for all my routers:
ModelReadType = TypeVar("ModelReadType")
ModelCreateType = TypeVar("ModelCreateType")

class AppRouter(Generic[ModelReadType, ModelCreateType]):
    session: Session = Depends(GetSession)

    @router.post('/', response_model=ModelReadType)
    async def _create(self, user: ModelCreateType = Body(embed=False)):
        ....

    ... remaining CRUD operations

I could quickly inherit all of this CRUD functionality in my actual routes and even override route methods if I wanted to:
class UserRouter(AppRouter[UserReadModel, UserCreateModel]):
    ....

    @router.read('/', response_model=ModelReadType)
    async def _get(self, id: str):
        ....

Currently, this allows me to use the endpoints, but without any type inference or validation on those input models.


[runwhen-local-feedback] Add github buttons

Observation
It would be helpful to add some github buttons to the app, such as the ability to star a repo. We hope that this will be a starting point towards surfacing the community aspect of the tool to better enable discussions and to let other users know which commands are most helpful or how they can be used.
Possible Suggestions
Leverage the official https://buttons.github.io/ for familiarity.
Any other details or context

Added a main star button to the header - additional buttons are under consideration as we ponder the right page layout for such information (such as author github details)


Multicasting

Hello,
I try to send multicast request. To do that I just replace IPv6 address with "ff02::1" but this does not send any request. Moreover I don't find the multcast.py mentioned in this issue #98. Did you commit any improve/change ? Do you have any idea for the issue ?
Thanks in advance !

No idea ?


facing lots of errors while installing pods

when can you update code for swift 4.0?

I also encountered a lot of problems.


editors/vscode: Convert file URLs to paths with "fileURLToPath()"

This ensures that include paths are properly resolved on all platforms. The previous technique did not work on Windows.

Confirming this fixes include paths on my Win10 machine. Directory structure:

Before

After


cucumber 2.3.x compatibility

Hey @auxesis - just wondering about the state of this project?  Even if it's defunct, as the commit history appears to indicate, it would still be good to merge in @Leryan's changes, so that we'd still be able to use it in its current state... thanks!