(PDB-3884) Update logback configuration

This commit updates the logback configuration bundled with puppetdb
packages to implement the following improvements:

Set scanPeriod="60 seconds" so that settings like log levels can be
toggled without requiring a service restart.

Use RFC 3339 compliant timestamps that include the offset from UTC.

Test PASSed

CLA signed by all contributors.

I'm always a bit wary of automatic config reloads since there's no guarantee the file will be in a consistent state during the reload (e.g. what if someone's editing it in place -- which I imagine would be the norm).  So I wonder if it would be possible, if it's not already the case, to just arrange for pdb to reload this config along with the other bits when it receives a SIGHUP.  Then the policy can be left up to the local admins.

The problem with SIGHUP is that we're also reloading "the other bits" that are behaving in a way that is causing us to enable DEBUG logging. There's no way to just boost the logging and leave everything else undisturbed.
Additionally, Logback will guard against incomplete configuration by using the last good settings if there is an error:

As it is easy to make errors while editing a configuration file, in case the latest version of the configuration file has XML syntax errors, it will fall back to a previous configuration file free of XML syntax errors.

Finally, this behavior was already enabled by the existing scan="true" attribute. Adding the scanPeriod corrects a regression that stopped the reloads from occurring (TK-426).
Twiddling log settings should be a rare occurrence. On the balance, I think the ability to enable DEBUG logging without disturbing the rest of the application outweighs the potential downsides of an unlucky reload picking up incomplete settings.

@rbrw Let me know if there's any additional feedback about this change that I can address.

Test FAILed

Test PASSed

Rebased onto master and removed the do not merge flag.
Looks like two travis tests failed during setup when ext/travisci/install_puppetserver.sh was run, which is not likely related to the changes in logging configuration.

Test PASSed

Test FAILed

Test PASSed

Aw yiss. All green.
@rbrw I think this one is ready to merge.


aph/modules-9530

This PR does a few things

Prefer /etc/os-release, then distro dependent /etc/*release* files, then lsb_release.
Add the codename if we have it
Try to more closely mirror the C implementation with a bigass array of names.

Sorry @m0dular I missed this review request when I was on vacation. I will look at it this week.

This is now passing https://jenkins-master-prod-1.delivery.puppetlabs.net/job/forge-module_puppetlabs-facts_init-manual-parameters_adhoc/6/
I spun up an experimental pipeline for the task based acceptance tests for the puppet_agent module based on my fork which contains a reference back to this PR. https://jenkins-master-prod-1.delivery.puppetlabs.net/view/__experimental automatic/job/experimental_auto_donoghuc-puppet-agent-module_intn-run_task_acceptance-modules-9530/
https://github.com/puppetlabs/ci-job-configs/pull/6161
@m0dular Given the tests are passing I think you can squash the commits and we can run everything through, but looks like the majority of the work is done on this. :champagne:

@puppetlabs/skeletor Does this look reasonable to you? Specifically, does this reasonably mirror what facter would do?

Thanks @smcclellan and @m0dular I'm going to go ahead and merge/release this.


Remove a maintainer

Please include:
GitHub ID to removed: Tohanich, https://github.com/Tohanich
Project to be removed from: Iroha, https://github.com/hyperledger/iroha
I tried to remove by myself, but seems like I dont have access

Done


tests: ztest: Fix assert hook dependency

Without this fix, ztest_set_assert_valid() can only be used when
CONFIG_ZTEST_FATAL_HOOK is set.
Signed-off-by: Reto Schneider<EMAIL_ADDRESS>

I am willing to add a unit test for this, but it will lead to a (small) test-case explosion. Please let me know what you prefer.

I am willing to add a unit test for this, but it will lead to a (small) test-case explosion. Please let me know what you prefer.

If you have more usages for this assert hook, please feel free to add them, thanks! That will be a good example.

Won't be stellar, but I have some ideas. Will take a few days however.


PHP8 support

Hi, I'm getting an "Image must be a gd resource"
PHP has moved to make GD an object instead of a resource, because GD is now an object, it will never be a resource and this causes an error

Removing this statement from Palette.php@fromGD works for me however I haven't run all of the tests
if (!is_resource($image) || get_resource_type($image) != 'gd')

Removing this statement from Palette.php@fromGD works for me however I haven't run all of the tests
if (!is_resource($image) || get_resource_type($image) != 'gd')

PHP 8.0 changes GD to return a GdImage object from imagecreatefromstring
I'd recommend changing the line @malanx references above to
if (!($image instanceof \GdImage) && (!is_resource($image) || get_resource_type($image) != 'gd'))
so that the error is still thrown if something invalid is passed as $image, whilst creating PHP 8 compatabilty (for this error...) and keeping backward compatibility
I've made a fork with this change, but not written tests for it, happy to issue a PR if that's OK to merge.

The requirements in composer.json need to be amended given that this library is not compatible with PHP ^8.0 in its current state.


fix adjust nullable for set operation may cause IndexOutOfBound

pick from master #35588
after we refactor set oepration, let it has projection ability, its output size may diff with its child's output size. so we should use it output size as nullable flag list size to ensure it has same size with set operation's output.
Proposed changes
Issue Number: close #xxx

run buildall

run buildall


Added a function to clone HtmlDocument to increase performance when d…

Im not an expert with this library but im using it in a comercial project wich need to increase performance because we use an html as picture mask to generate a video with information added on the mask, and this mask is changed each frame using element's ID to change this mask, so we have to clone base HTML/mask asap with 20ms max to create bitmap with RenderToImageGdiPlus/RenderToImage with this mask.
If someone detects a fault, I will thank you to let me know. Thank you very much in advance.

Hello @rfontela ,
Thank you for the pull, we will look at it to check if something is missing or if it make sense to have this clone method.
Best Regards,
Jon

Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework Extensions • Entity Framework Classic • Bulk Operations •  Dapper Plus
Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval Function • SQL Eval Function

Hello @rfontela ,
Is there a reason why you don't simply use and clone the DocumentNode such as:
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml("
a
");

var template = doc.DocumentNode;

// do modification here
var copy1 = template.Clone();

// do modification here
var copy2 = template.Clone();

We are currently unsure if the HtmlDocument node should have or not the Clone method.

Ok, ill do that. Thank you very much @JonathanMagnan.


ignoreNonIncreasingOid for nextCmd

Greetings!
I came across a lot of OLT BDCOM of GP3600 series and all of them have a common feature: Table Q-BRIDGE-MIB::dot1qTpFdbTable is indexed out of order, which leads to the error "OID not increasing".
Previously, based on the documentation, there was an ignoreNonIncreasingOid option, which allowed you to ignore such behavior of the agent at your own risk. But this option is not available for asyncio.
Are there any plans to implement this feature for asyncio at least for the nextCmd method?

I found https://github.com/etingof/pysnmp/pull/364 PR on this subject in Ilya's repository.

Included in release 5.0.37.


Throw error when transition_constraints is empty or omitted

We should make it a requirement to have transition constraints. When this is updated, the mdbook docs section about transition_constraints should also be updated.

[ ] update in the parser: transition_constraints sections should have at least one transition constraint
[ ] update in the IR: at least one transition_constraints source section should be defined
[ ] update in mdbook docs as noted here: https://github.com/0xPolygonMiden/air-dsl/pull/36#discussion_r1006190244

Closed by #52.


Links to code in the documentation are broken

Similar issue to https://github.com/huggingface/optimum-habana/issues/100
See e.g. in https://huggingface.co/docs/optimum/main/en/intel_optimization , links to source (as https://github.com/huggingface/optimum.intel/blob/main/optimum/intel/neural_compressor/quantization.py#L341 ) use optimum.intel instead of optimum-intel, hence those links are broken.

this was fixed in https://github.com/huggingface/optimum-intel/pull/410


:books: Typo update in main README.rst

Codecov Report

Merging #1 (f39068f) into main (6449269) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main        #1   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           11        11
  Lines          833       833
=========================================
  Hits           833       833

Continue to review full report at Codecov.

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


refactor(RouteRegistry): reduce complexity

The previous implementation was unnecessarily complex.
Closes #177

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

23 of 23 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 99.107%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
111

Relevant Lines:
112

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

23 of 23 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 99.107%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
111

Relevant Lines:
112

💛  - Coveralls


Possible iptables bug

Bug description
This bug occurs when using the image bubuntux/nordpvn which routes traffic through the NordVPN network (https://hub.docker.com/r/bubuntux/nordvpn)
By using the default compose file format (below) through portainer stacks panel and API POST stacks (both swarm mode), the created container fails to connect, the container's log shows iptables errors related to permission denied.

version: "3"
services:
  vpn:
    image: ghcr.io/bubuntux/nordvpn
    cap_add:
      - NET_ADMIN               # Required
    environment:                # Review https://github.com/bubuntux/nordvpn#environment-variables
      -<EMAIL_ADDRESS>   # Required
      - "PASS=pas$word"         # Required
      - CONNECT=United_States
      - TECHNOLOGY=NordLynx
      - NETWORK=<IP_ADDRESS>/24  # So it can be accessed within the local network

If the stack is deployed by using the docker command through the terminal (docker stack deploy --compose-file docker-compose.yml stackName) and the same compose file format, the container correctly connects to the nordvpn network.

The same happens (working connection) when the stack is deployed through API POST stacks in compose mode (type 2)
Portainer Logs
See images above
Technical details:

Portainer version: 2.9.2
Docker version (managed by Portainer): 20.10.9
Platform (windows/linux): linux

@gbozzetti
Thanks for reporting this.
We are currently investigating and will report back

version: "3"
services:
  vpn:
    image: ghcr.io/bubuntux/nordvpn
    cap_add:
      - NET_ADMIN               # Required
    environment:                # Review https://github.com/bubuntux/nordvpn#environment-variables
      -<EMAIL_ADDRESS>   # Required
      - "PASS=pas$word"         # Required
      - CONNECT=United_States
      - TECHNOLOGY=NordLynx
      - NETWORK=<IP_ADDRESS>/24

The above stack works when deployed to standalone endpoint and has errors when deployed to Swarm.
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
[2021-11-01T00:44:38+00:00] Firewall is up, everything has to go through the vpn,
[2021-11-01T00:44:38+00:00] Enabling connection to secure interfaces,
getsockopt failed strangely: Operation not permitted,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
getsockopt failed strangely: Operation not permitted,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
getsockopt failed strangely: Operation not permitted,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `nat': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `nat': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `nat': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
[2021-11-01T00:44:38+00:00] Enabling connection to nordvpn group,
getsockopt failed strangely: Operation not permitted,
[2021-11-01T00:44:38+00:00] group match failed, fallback to open necessary ports,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
[2021-11-01T00:44:38+00:00] Enabling connection to docker network,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
[2021-11-01T00:44:38+00:00] Enabling connection to network <IP_ADDRESS>/24,
RTNETLINK answers: Operation not permitted,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
iptables v1.6.1: can't initialize iptables table `filter': Permission denied (you must be root),
Perhaps iptables or your kernel needs to be upgraded.,
[2021-11-01T00:44:38+00:00] Restarting the service,
[2021-11-01T00:44:38+00:00] Waiting for the service to start,
[2021-11-01T00:44:38+00:00] Logging in,

From:
https://docs.docker.com/compose/compose-file/compose-file-v3/#cap_add-cap_drop

Note when using docker stack deploy
The cap_add and cap_drop options are ignored when deploying a stack in swarm mode

@gbozzetti
Can you confirm the above stack file works when you deploy using docker stack deployand not using docker-compose??
I've tested this from CLI using docker stack deploy and have the same behaviour as seen when deployed through Portainer.
From @huib-portainer 's comment:
It is expected behaviour.


A way to create border-images.

In CSS, there is a very handy way to create borders from images (sprites). There is a similar API on iOS views. Basically, you define the width of the border on all sides of the images, then when the image stretches, the edges are not scaled, they are preserved perfectly, but the center (the region not belonging to any edge) is either tiled or stretched depending on how you've configured it. Is there something simliar for pixi?

I believe you're looking for something like: https://github.com/SebastianNette/PIXI.NinePatch

Looks like exactly what I was searching for.

Should this be supported by TilingSprite? We would only need to be able to tile a certain region inside a single sprite resource, instead of tiling the entire sprite. Reopening to ask Pixi devs if this is relatively easy to add to TilingSprite.

I think this is out of scope for being directly in TilingSprite. But it is likely with some clever use of TilingSprite you could achieve a similar effect.

I was hoping there was a way to upload one single texture and have an intelligent shader know how to pull out only a certain repeatable rect within it, but also painting the border that is outside of that repeatable rect. Does this sound doable? (Thanks for your patience, I don't know much about GLSL).

Most things are possible, but I'm not experienced enough with glsl to come up with something for that. But that doesn't sound like something I would want the TilingSprite to do.

Okay, fair point. I'm curious why that seems beyond the scope of tiling sprite, since tiling behavior is simply a special case of border-image where the repeat rect is the entire sprite. I'll play around with it, maybe make a plugin. Thanks for all the great work!


Zoom into the part of the IH chart that matters most

Turn this

Into just this:

This can be changed in the holoviews object that is being rendered.

All of the data is loaded in from a data sheet. See the loading functions in tech.py and the data sheet in the repository. The data is originally from here: https://docs.google.com/spreadsheets/d/1qvmwwlUHnQWYc2JQRoE1Qo_IKx6a4CI9ehWIMvkiqFc/edit#gid=577699666

The 'Historic' and 'Optimistic' projection formulas where made by Griff in the above data sheet. They can be ported into tech.py as a kind of 'data cleaning' function at the beginning of the modelling 'pipeline'.


ModuleNotFoundError: No module named 'instapy_cli'

pip install instapy-cli
from instapy_cli import client
error messgae :  from instapy_cli import client ModuleNotFoundError: No module named 'instapy_cli'
os : windows 10 terminal : Git bash (pip) , code editor : visual studio code , python version :  3.7.7 (i think 64 bit)
how to fix this issue ?

In your terminal type which pip. If the output directory ends in pip and not pip3, then it may be because you're installing instapy-cli for Python 2.7, but you are using Python 3.7 to run the code.
If it does say pip, try running pip3 install instapy-cli and running the code again.

@tomdaly  the reason for the error instapy-cli was installed on wrong python version i fixed it thanks. But i'm getting a new error when uploading photos
`[IG] not found cookie/cookie_file >> login as default
Error parsing error response: Expecting value: line 1 column 1 (char 0)
Error is >>
Bad Request
Something went bad.
Please retry or send an issue on https://github.com/b3nab/instapy-cli
Traceback (most recent call last):
File "app.py", line 7, in
cli.upload(image, story=True)
File "C:\Users\bhara\AppData\Local\Programs\Python\Python37\lib\site-packages
instapy_cli\cli.py", line 153, in upload
raise IOError("Unable to upload.")
OSError: Unable to upload.
`

Same error as #84 now

l


unsupported linker arg: -exported_symbols_list

error: unsupported linker arg: -exported_symbols_list
I understand that zig 0.11.0 errors on unrecognized flags, should unknown flags be hardcoded ? if that's the case I can add it to zig.rs

Feel free to send a PR.

Partially fixed by #171, -Wl,-exported_symbols_list,<path> is handled but -Wl,-exported_symbols_list <path> isn't handled yet.


Magnific Popup not opening on iPhone

$('.login-btn').magnificPopup({
items: {
src: '#login-container'
},
type: 'inline',
modal: true,
enableEscapeKey: true,
callbacks: {
beforeOpen: function () {
$("#login-container #login-part .response-container > span").html('');
formLogin.resetForm();
            $("#login-container #fgpassword-part .response-container > span").html('');
            formFgPassword.resetForm();
            $('#fg-pass-submit-btn').show();

            $('.common-holder').css('left', 0);
        },
        open: function () {
            setTimeout(function () {
                $("#form-login input[name='flemail']").focus();
            }, 100);
        }
    }
});

I have this setup for loading the popup when a link is clicked however nothing happens when I click the link nothing happens, this issue is only on iOS, can you please check what could it be?

@edgsv we have just come up against this same issue.  It works amazingly on everything but an iOS browser.  Have you found any fix or workaround?

I'd first try stripping it right back to the simplest, most basic example and then work up from there. If you can get a simple example working on mobile safari then it's something else that you've added thats causing the issue.


Flash Assister

Can you add Flash Assister? Stuffs show who was flashed by what thrower and the kill event has if the victim was flashed as a boolean but there isn't a bridge between the two to know who threw the flash that resulted in a victim.

A new major version has been released, closing the issue 🧹


Fix texture's frame dimension error report

What's the error:
The error will tell you both X and Y are wrong if you only one of them has incorrect value:
For example, set the height to Number.MAX_VALUE, then:

Why change frame && frame.width ... to frame.width ...?
If frame == undefined, it already breaks during  if (frame.x + frame.width > this.baseTexture.width || frame.y + frame.height > this.baseTexture.height) :)

The error message isn't saying both are wrong. It is saying something is wrong and dumping the information to let you find out the issue. I like the idea of just getting all the information when the error happens.

Thanks, I'll come up with changes that fix the wrong > :)

If you want to be pedantic, you could just put an "OR" between them.

Hey @englercj @ivanpopelyshev thanks, changes in

🤔

Guys, do we have a problem with travis?

Thanks for the PR @EcutDavid!

HVT: Nguyễn Văn Công NS: 17/07/1990 CMT:031090000662 GMAIL<EMAIL_ADDRESS>STK:<PHONE_NUMBER>930 NH: Agribank Cát Bà


Cannot approach the accuracy ~83% on cora

Hi danielegrattarola，great works!
But the classification accuracy for the transductive task on dataset cora is always approximately 80%~81%. I scrutimize the source code and keep the (hyper-)parameters consistent within the original paper except the epochs =200 and es_patient = 10 for the comparision with Kipf's GCN, however the reported 83% accuracy never appear. Any suggestion there or anything I missed? Thanks a lot in advance.

Hi,
the number of epochs you are using is too low for achieving a good accuracy, you should keep the hyperparameters as they are if you want to reproduce the original results.
All the best,
Daniele

It's working, thanks.


move readme to docs

This repo has both main and master branch.
Not sure which one to pick for .github/worksflows/Documentation.yml

Deleted master


refactor(tracer): log warning instead of throwing when segment is not found

Description of your changes
As reported in #1356, the current behavior of the Tracer and corresponding middleware is fairly unforgiving when it comes to handling missing segments. Prior to this PR, when calling the getSegment method, if a segment is not found, an error would be thrown.
This can happen either when users try to retrieve the current segment outside of the context of a function invocation or when the trace data is malformed and the X-Ray SDK is not able to derive the current segment.
This behavior, if not handled properly, can cause a function invocation to fail, which might not be desirable given that for many customers tracing is considered best-effort.
This PR:

aligns the Tracer utility with the X-Ray SDK so that if a segment is not found, a warning is logged instead of throwing
improves the handling of missing segments in the captureLambdaHandler middleware in all stages to be more resilient
bumps the aws-xray-sdk-node dependency to the latest version
refactor and extracts some of the internal logic around current segment retrieval from the Tracer class to the ProviderService one

This PR closes #1356.
How to verify this change
Check the existing tests as well as the newly added ones in the checks under this repo. Check also the results of this successful integration test.
Related issues, RFCs

Issue number: #1356
Checklist

[x] My changes meet the tenets criteria
[x] I have performed a self-review of my own code
[ ] I have commented my code where necessary, particularly in areas that should be flagged with a TODO, or hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have made corresponding changes to the examples
[ ] My changes generate no new warnings
[x] The code coverage hasn't decreased
[x] I have added tests that prove my change is effective and works
[x] New and existing unit tests pass locally and in Github Actions
[ ] Any dependent changes have been merged and published
[x] The PR title follows the conventional commit semantics

Breaking change checklist
Is it a breaking change?: NO

[ ] I have documented the migration process
[ ] I have added, implemented necessary warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

I like the cleanup it tests 👌, much easier to follow now.

Thanks!

The implications of additional undefined are bigger than I thought. It tears through many methods, similar to isTracingEnabled and reminds me of java or golang null checks. But I have no immediate answer to make it cleaner.

Indeed, my attempt at somewhat centralising this behavior was to extract it in the provider class. This is also something I've been meaning to do for a while as it'd help decouple the two and open the door for other providers in the future.


docs: add integer-only example for number input

📝 Summary
fixes #2789
Add documentation example showing how to create a number input that only accepts integer values using step=1 parameter.
📋 Checklist

[x] I have read the contributor guidelines.
[x] For large changes, or changes that affect the public API: this change was discussed or approved through an issue, on Discord, or the community discussions (Please provide a link if applicable).
[ ] I have added tests for the changes made.
[x] I have run the code and verified that it works as expected.

📜 Reviewers

@akshayka OR @mscolnick

Thanks!


Add VNIC and NVME combined Offload Usecase

Signed-off-by: Narayana Prasad<EMAIL_ADDRESS>

looks good, please fix small linter error in MD

done


[game] actor compaction doesn't work

it crashes/get stuck in a loop.
The first bug was pretty easy - the method calls in relocate.gc are supposed to be on a basic, but the output was missing a cast and calling... something?  After fixing this, we can churn the heap when paused, but when resuming there's a crash.
It's often in part-spawner-active's code.   The root address is weird and also its type is junk (sometimes zero, etc).
root type is 0: self 1a3854 root ba8fe0

Looking a little bit more closely, it looks like this is due to self being a process that no longer exists:
[kernel] Relocating process #<villagea-part villagea-part-62 suspended :state part-spawner-active :flags r   :stack 24/128 :heap 976/976 @ #x1a92c4> by -912.
reloc-pd: 1a92c0 to 1a9700 by -912
relocate process-drawable: old root #<trsqv @ #x1a9494> 1a9494
reloc: 1a92c0 to 1a9700 by -912
process relocate: #<cpu-thread code of villagea-part-62 pc: #x85460e @ #x1a9394>
process relocate: #<trsqv @ #x1a9494>
process relocate: #<sparticle-launch-control @ #x1a9524>
relocate process-drawable: new root #<trsqv @ #x1a9104> 1a9104
-- NEW: #<villagea-part villagea-part-62 suspended :state part-spawner-active :flags r   :stack 24/128 :heap 976/976 @ #x1a8f34>
[kernel] Relocating process #<villagea-part villagea-part-63 suspended :state part-spawner-active :flags r   :stack 24/128 :heap 624/624 @ #x1a9704> by -912.
reloc-pd: 1a9700 to 1a99e0 by -912
relocate process-drawable: old root #<trsqv @ #x1a98d4> 1a98d4
reloc: 1a9700 to 1a99e0 by -912
process relocate: #<cpu-thread code of villagea-part-63 pc: #x85460e @ #x1a97d4>
process relocate: #<trsqv @ #x1a98d4>
process relocate: #<sparticle-launch-control @ #x1a9964>
relocate process-drawable: new root #<trsqv @ #x1a9544> 1a9544
-- NEW: #<villagea-part villagea-part-63 suspended :state part-spawner-active :flags r   :stack 24/128 :heap 624/624 @ #x1a9374>
root type is trsqv: self 1ab6e4 root 1ab8b4
root type is trsqv: self 1ab3e4 root 1ab5b4
root type is trsqv: self 1ab0e4 root 1ab2b4
root type is trsqv: self 1aade4 root 1aafb4
root type is trsqv: self 1aaae4 root 1aacb4
root type is trsqv: self 1aa6a4 root 1aa874
root type is trsqv: self 1aa264 root 1aa434
root type is trsqv: self 1a9e24 root 1a9ff4
root type is trsqv: self 1a99e4 root 1a9bb4
root type is trsqv: self 1a9704 root 1a9544
root type is 0: self 1a92c4 root ba9140
[1]    1621029 illegal hardware instruction (core dumped)  ~/jak-project/build/game/gk -fakeiso -debug -v

so how is this running?  We should look into what process the kernel thinks its running.

This gets weirder and weirder:
;; start a perfectly normal relocation of 1a3914 to 1a3584, the record is at 19db90
[kernel] Relocating process #<villagea-part villagea-part-24 suspended :state part-spawner-active :flags r   :stack 24/128 :heap 976/976 @ #x1a3914> by -912.

reloc-pd: 1a3910 to 1a3d50 by -912
relocate process-drawable: old root #<trsqv @ #x1a3ae4> 1a3ae4
reloc: 1a3910 to 1a3d50 by -912
relocate ppointer: 19db90 old 1a3914 new 1a3584
process relocate: #<cpu-thread code of villagea-part-24 pc: #x85468e @ #x1a39e4>
process relocate: #<trsqv @ #x1a3ae4>
process relocate: #<sparticle-launch-control @ #x1a3b74>
relocate process-drawable: new root #<trsqv @ #x1a3754> 1a3754
-- NEW: #<villagea-part villagea-part-24 suspended :state part-spawner-active :flags r   :stack 24/128 :heap 976/976 @ #x1a3584>

But, when we run:
ef: 19db90 <- the ppoitner/rec

;; oops, that's the old thing?
DISPATCH: #<villagea-part villagea-part-24 suspended :state part-spawner-active :flags r   :stack 24/128 :heap 976/976 @ #x1a3584>
root type is 0: self 1a3914 root ba9260

The main thread is executed from the kernel dispatcher lambda using this resume hook:
              ;; not sleeping. call resume hook
              ((-> obj main-thread resume-hook) (-> obj main-thread))

this hook is set:
(set! (-> obj resume-hook) (method-of-object obj thread-resume))

and the resume hook ends up using the thread's process.  So, the issue must be that the process field of the main-thread isn't being updated.

fixed, we were restoring pp after a suspend, which is bad if you were relocated.


Add links to ExamTopics and official exam codes

Resource
Add links to ExamTopics.com and their (mostly) freely available community collected exam questions.
Also add official exam codes.
What is this

Why should this be added
ExamTopics is one of the best free sources to prepare for AWS exams.

Thanks @nichoio!
If you're interested to give a hand there are a few other broken links:
ERROR: 17 dead links found!
[✖] http://d0.awsstatic.com/whitepapers/Security/AWS Security Whitepaper.pdf → Status: 403
[✖] https://linuxacademy.com/community/ → Status: 0
[✖] https://linuxacademy.com/ → Status: 0
[✖] https://www.udemy.com/course/aws-certified-cloud-practitioner-new/ → Status: 403
[✖] https://www.udemy.com/course/aws-certified-cloud-practitioner/ → Status: 403
[✖] https://www.udemy.com/course/aws-certified-cloud-practitioner-2018/ → Status: 403
[✖] https://www.udemy.com/course/aws-certified-cloud-practitioner-practice-exams-c/ → Status: 403
[✖] https://dev.to/helenanders26/i-sat-the-aws-cloud-practitioner-exam-online-here-s-what-happened-4chl → Status: 404
[✖] https://www.udemy.com/course/aws-certified-solutions-architect-associate-saa-c02/ → Status: 403
[✖] https://linuxacademy.com/course/aws-certified-sys-ops-administrator-associate-soa-c-01/ → Status: 0
[✖] https://www.udemy.com/course/ultimate-aws-certified-sysops-administrator-associate/ → Status: 403
[✖] https://www.udemy.com/course/aws-solutions-architect-professional/ → Status: 403
[✖] https://linuxacademy.com/course/aws-certified-dev-ops-engineer-professional-level/ → Status: 0
[✖] https://www.udemy.com/course/aws-certified-devops-engineer-professional-hands-on/ → Status: 403
[✖] https://tutorialsdojo.com/aws-cheat-sheet-aws-certified-devops-engineer-professional/ → Status: 404
[✖] https://linuxacademy.com/course/aws-certified-big-data-specialty-certification/ → Status: 0
[✖] https://www.udemy.com/course/aws-big-data/ → Status: 403


Don't generate redundant static jsonAdapter method.

The trigger for the extention is a static method that is declared inside
the abstract value class, the factory also uses that method. There is
no need to generate an extra static factory method.
#SayNoToRedundantMethods

Looks great, Thanks!


Build issue in React Native version 0.72.7.

This is my package.json file. It gets compiled when new architecture is set to false in android. but when new arch is enabled the compilation fails. I have tried removing react-native-svg and then tried running the app. then it got built even in new arch but with the installation of react-native-svg the app fails to build with this error message at the last.   C++ build system [build] failed while executing:
/Users/niteshrajkhanal/Library/Android/sdk/cmake/3.22.1/bin/ninja
-C
/Users/niteshrajkhanal/Desktop/development/sca-mobile-app/android/app/.cxx/Debug/2p3s2z44/arm64-v8a
appmodules
react_codegen_reactnativemmkv
react_codegen_rngesturehandler_codegen
react_codegen_rnscreens
react_codegen_rnsvg
react_codegen_safeareacontext
from /Users/niteshrajkhanal/Desktop/development/sca-mobile-app/android/app
{
"name": "singlecustomerapp",
"version": "0.0.1",
"private": true,
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"lint": "eslint .",
"start": "react-native start",
"test": "jest",
"type-check": "tsc",
"test:report": "jest --collectCoverage --coverageDirectory="./coverage" --ci --reporters=default --reporters=jest-junit --coverage",
"pod-install": "cd ios && RCT_NEW_ARCH_ENABLED=1 bundle exec pod install && cd .."
},
"dependencies": {
"@react-native-masked-view/masked-view": "^0.3.0",
"@react-navigation/bottom-tabs": "^6.5.11",
"@react-navigation/native": "^6.1.9",
"@react-navigation/stack": "^6.3.20",
"@reduxjs/toolkit": "^1.9.7",
"axios": "^1.6.2",
"i18next": "^23.7.7",
"react": "^18.2.0",
"react-i18next": "^13.5.0",
"react-native": "^0.72.7",
"react-native-gesture-handler": "^2.14.0",
"react-native-keychain": "^8.1.2",
"react-native-mmkv": "^2.11.0",
"react-native-reanimated": "^3.6.0",
"react-native-safe-area-context": "^4.7.4",
"react-native-screens": "^3.27.0",
"react-native-svg": "^14.1.0",
"react-redux": "^8.1.3",
"redux-persist": "^6.0.0"
},
"devDependencies": {
"@babel/core": "^7.23.3",
"@babel/preset-env": "^7.23.3",
"@babel/runtime": "^7.23.4",
"@react-native/eslint-config": "^0.74.0",
"@react-native/metro-config": "^0.73.2",
"@react-navigation/devtools": "^6.0.20",
"@testing-library/jest-native": "^5.4.3",
"@testing-library/react-native": "^12.4.0",
"@tsconfig/react-native": "^3.0.2",
"@types/jest": "^29.5.10",
"@types/metro-config": "^0.76.3",
"@types/node": "^20.10.0",
"@types/react": "^18.2.39",
"@types/react-test-renderer": "^18.0.7",
"babel-jest": "^29.7.0",
"babel-plugin-inline-dotenv": "^1.7.0",
"babel-plugin-module-resolver": "^5.0.0",
"babel-plugin-root-import": "^6.6.0",
"dotenv": "^16.3.1",
"eslint": "^8.54.0",
"jest": "^29.7.0",
"metro-react-native-babel-preset": "^0.77.0",
"prettier": "^3.1.0",
"react-native-flipper": "^0.212.0",
"react-native-logs": "^5.0.1",
"react-test-renderer": "^18.2.0",
"redux-flipper": "^2.0.2",
"typescript": "^5.3.2"
},
"engines": {
"node": ">=16"
},
"packageManager"<EMAIL_ADDRESS>}

Hi I am also having the same problem;
  C++ build system [build] failed while executing:       /Users/salihburakcoskun/Library/Android/sdk/cmake/3.22.1/bin/ninja \         -C \         /Users/usr/Desktop/App/android/app/.cxx/Debug/6z46v613/arm64-v8a \         appmodules \         react_codegen_rngesturehandler_codegen \         react_codegen_rnscreens \         react_codegen_safeareacontext     from /Users/salihburakcoskun/Desktop/valetApp/android/app
how can I solve this

@csalihburak are you using RN 0.73 and newest version of react-native-svg on new arch?

@WoLewicki I have same issues. I'm using RN ^0.72.7 and latest version of react-native-svg + new arch

I think the readme needs to be updated
https://github.com/software-mansion/react-native-svg?tab=readme-ov-file#support-for-fabric

@gegana that is true. Do you maybe want to open a PR with such change?

any update on it?

@abraramjid what update would you expect here?

For me changing it to 13.0.0 fix that issue on react native version 0.72.7


Data can not be imported in the latest version 2.10.0.

Data can not be imported in the latest version 2.10.0.

I am not able to export data as well in V2.10

Could you give some more details of any errors you're getting, or what exactly isn't working? I'm still able to both export and import on v2.10.0 so any help would be appreciated!

Same here.
Model: SM-N986B/DS
OS: Android 11 + One UI 3.1
App version: v2.10.0]
Steps to reproduce the behavior:

Go to 'Settings' then to 'Export'
Select what you want to export
Click on the button to export
Nothing happens. No error displayed.

Thanks all - I was able to reproduce this in the end, and have applied a fix for the next version!


fix(core): try to resolve synchronous validators and resolvers during initial load

This refactor may not be not required.


refac: ArchivedMessage

Description
The current implementation of ArchivedMessage was way too restrictive in its modeling compared to its usage.
This PR will provide the following changes

Sender/ReceiverId is now just a string (we cannot guarantee it is a correct GLN/EIC)
All the properties are no longer typed, it's more concise if it consists of strings

Codecov Report

Merging #474 (e17393c) into main (21978a1) will decrease coverage by 69.41%.
Report is 159 commits behind head on main.
The diff coverage is 15.88%.

@@             Coverage Diff             @@
##             main     #474       +/-   ##
===========================================
- Coverage   83.07%   13.67%   -69.41%
===========================================
  Files         456      418       -38
  Lines       10418     8002     -2416
===========================================
- Hits         8655     1094     -7561
- Misses       1438     6889     +5451
+ Partials      325       19      -306

Files Changed
Coverage Δ

...ivedMessages/ArchivedMessageGetDocumentListener.cs
0.00% <ø> (ø)

.../ArchivedMessages/ArchivedMessageSearchListener.cs
0.00% <0.00%> (ø)

source/Api/Common/HttpHeadersExtensions.cs
0.00% <ø> (ø)

source/Api/Configuration/InboxMessageMetadata.cs
0.00% <0.00%> (ø)

...iddleware/Authentication/ActorForAuthentication.cs
0.00% <ø> (ø)

...ntication/Bearer/BearerAuthenticationMiddleware.cs
0.00% <ø> (ø)

...MarketActors/MarketActorAuthenticatorMiddleware.cs
0.00% <ø> (ø)

...ation/Middleware/Correlation/CorrelationContext.cs
66.66% <ø> (ø)

.../Middleware/Correlation/CorrelationIdMiddleware.cs
0.00% <ø> (ø)

...iguration/Middleware/Correlation/UserProperties.cs
0.00% <ø> (ø)

... and 154 more

... and 397 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Perhaps we don't need the first command in the oetl.sh

Hi all,
I copied the file oetl.sh to the directory bin/ in according to the readme and run it using ./bin/oetl.sh. this script run to the following error:
./bin/oetl.sh: line 26: cd: ./bin/..: No such file or directory
Error: Could not find or load main class com.orientechnologies.orient.etl.OETLProcessor
I think, that we don't need the first command in the script, then everything will be fine!
Regards,
Yu Liu

I can't see that line. What version are you using?

I mean "cd dirname $0" in the oetl.sh. I have just checked out the sourcecode from https://github.com/orientechnologies/orientdb-etl

This issue was moved to orientechnologies/orientdb#5166


Docker Support?

How can I Run this inside a docker?

Something like this:
FROM node:argon
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install
COPY . /usr/src/app
EXPOSE 3000
CMD [ "npm", "start" ]

Copied from and old version of the documentation. It's just installing node inside the container, running your microservice and exposing the used port.

Here is the Dockerfile and package.json I'm using for my service using micro.  Use npm start to start it up which will be the default command that is run when the container starts. If the service throws an error the docker container will exit.
{
  "name": "yourService",
  "version": "0.0.1",
  "description": "The greatest service in the world",
  "main": "index.js",
  "scripts": {
    "test": "ava \"**/*.test.js\" --verbose",
    "watch:test": "npm t -- --watch",
    "lint": "eslint .",
    "start": "micro -p 20001"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/your_repo/your_service.git"
  },
  "author": "You",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/your_repo/your_service/issues"
  },
  "homepage": "https://github.com/your_repo/your_service#readme",
  "dependencies": {
    "jsonschema": "^1.1.1",
    "micro": "^7.0.6",
    "mysql": "^2.13.0"
  },
  "devDependencies": {
    "ava": "^0.17.0",
    "eslint": "^3.16.1",
    "eslint-config-google": "^0.7.1"
  }
}

# Use Node v7 as the base image.
FROM node:7

# File Author / Maintainer
MAINTAINER Brayton Stafford

# Provides cached layer for node_modules
ADD package.json /tmp/package.json
RUN cd /tmp && npm install
RUN mkdir -p /app && cp -a /tmp/node_modules /app/

# Define working directory
WORKDIR /app
\# Add everything in the current directory to our image, in the 'app' folder.
ADD . /app

# Expose our server port.
EXPOSE 20001

# Run our app.
CMD ["npm", "start"]

tks, closing this

You should not use "npm xxx" in a Dockerfile. This will result with npm as the process with PID 1 and your node exec with PID > 1 :

the docker stop will be quiet long
your node process will never receive the SIGTERM event to do a gracefull stop

Instead use CMD ["npx", "micro", ..] or something like CMD ["/app/node_modules/micro", ..] to have the good behaviour (micro: Gracefully shutting down. Please wait... when you stop the container)

Thanks, that's helped me a lot.


Feature/graph transactions

This implements write transactions for RDF::Graph, partially fulfilling #269.
Transactional read scoped to a Graph remains to be implemented.

LGTM other than comment.

A fix is in for false graph names via 0c1294a.
See also: 3a6762e.
Tests are, likewise, fixed at: https://github.com/ruby-rdf/rdf-spec/pull/56

One thing to note is that these changes work slightly differently from inserting/deleting statements on a RDF::Graph directly.
graph << statement will overwrite the graph_name. In a transaction context, we will retain an existing graph_name, but add the Graph#graph_name when one isn't present for the statement.
This is roughly how things worked with Changeset in 1.1.x. If we want things to look like regular graph insertion (where, e.g. graph1 << graph2 works) we really need to rethink things.

Apart from my note about graph_name I think this is ready.
It doesn't close #269 until Transactional graph read is done.

If we want things to look like regular graph insertion (where, e.g. graph1 << graph2 works) we really need to rethink things.

Maybe create an issue to track this.  The potential sticking point is that if one enumerable emits graph_name for its statements, the Graph will accept it in a Transaction, but replace it otherwise.
An issue is open at: https://github.com/ruby-rdf/rdf/issues/278


wrong name of folder, issue #10006

Should be Data, not Models.

@Rick-Anderson I'm able to reproduce the problem in VS. This change looks good from that perspective. I'll let you be the final approver on this PR.

It's not that simple. The scaffolder puts it in the data folder but uses the Model namespace. The VSC and VS for mac put it in the models folder. See https://github.com/aspnet/Scaffolding/issues/822


https changed the home page

Hi,
We added a cert to Webcommander. and now the home page is no longer working correctly. Is there something else we have to change? The menu choices are all jammed up on the left, and nothing happens if you try to choose a category.
Thanks!

made changes according to this web site but still have the same issue:
https://ssbkang.com/2014/02/11/webcommander-ssl-certificate-installation/

I made the above changes to no avail. We saw errors showing that we could not get to index.xsl:40:                 using https, so he copied the script down c:\webcommander\www and changed index.xsl to reflect the new location.
That solved the problem.


MarkerAnimated is flickering on IOS

Summary
Current behavior MarkerAnimated is flickering on IOS provider={PROVIDER_GOOGLE} when I use with new AnimateRegion when I call                 coordinate                     .timing({ ...newCoordinate, useNativeDriver: false, duration: 1000 })                     .start();
the current problem comes from a duration 1000
when set  useNativeDriver to true also get crashes in IOS
Reproducible sample code
import React from 'react';
import { StyleSheet, View, Text, Dimensions, TouchableOpacity, Platform } from 'react-native';
import MapView, {
    Marker,
    AnimatedRegion,
    MapMarker,
    PROVIDER_GOOGLE,
} from 'react-native-maps';

const screen = Dimensions.get('window');
const ASPECT_RATIO = screen.width / screen.height;
const LATITUDE = 37.78825;
const LONGITUDE = -122.4324;
const LATITUDE_DELTA = 0.0922;
const LONGITUDE_DELTA = LATITUDE_DELTA * ASPECT_RATIO;

class AnimatedMarkers extends React.Component<any, any> {
    marker: MapMarker;
    ref: MapView;
    constructor(props: any) {
        super(props);

        this.state = {
            coordinate: new AnimatedRegion({
                latitude: LATITUDE,
                longitude: LONGITUDE
            })
        };
    }

    animate() {
        const { coordinate } = this.state;
        const newCoordinate = {
            latitude: LATITUDE + (Math.random() - 0.5) * (LATITUDE_DELTA / 2),
            longitude: LONGITUDE + (Math.random() - 0.5) * (LONGITUDE_DELTA / 2)
        };
            this.ref.getCamera().then(() => {
                coordinate
                    .timing({ ...newCoordinate, useNativeDriver: false, duration: 0 })
                    .start();
            });

    }

    render() {
        return (
            <View style={ ...StyleSheet.absoluteFillObject,
        justifyContent: 'flex-end',
        alignItems: 'center'}>
                <MapView
                    ref={ref => {
                        this.ref = ref;
                    }}
                    provider={PROVIDER_GOOGLE}
                    style={styles.map}
                    initialRegion={{
                        latitude: LATITUDE,
                        longitude: LONGITUDE,
                        latitudeDelta: LATITUDE_DELTA,
                        longitudeDelta: LONGITUDE_DELTA
                    }}
                >
                    <Marker.Animated
                        ref={(marker: any) => {
                            this.marker = marker;
                        }}
                        coordinate={this.state.coordinate}
                    />
                </MapView>
                <View style={{ flexDirection: 'row',
                                         marginVertical: 20,
                                         backgroundColor: 'transparent'}>
                    <TouchableOpacity
                        onPress={() => this.animate()}
                        style={ width: 80,
                                     alignItems: 'center',
                                    marginHorizontal: 10, flex: 1,
                                    backgroundColor: 'rgba(255,255,255,0.7)',
                                    paddingHorizontal: 18,
                                    paddingVertical: 12,
                                    borderRadius: 20}>
                        <Text>Animate</Text>
                    </TouchableOpacity>
                </View>
            </View>
        );
    }
}

Steps to reproduce
After Map initialize I click on the Animate button then it got flickering while the marker moving
Expected result
Expect the marker to move smoothly with the duration=1000  and  useNativeDriver=true
Actual result
Flickering
 coordinate.timing({ ...newCoordinate, useNativeDriver: false, duration: 1000}).start();
https://user-images.githubusercontent.com/65760336/183062656-9a9384a1-a408-435a-84d2-0fd28173e22d.MP4
No Flickering
 coordinate.timing({ ...newCoordinate, useNativeDriver: false, duration: 1000}).start();
https://user-images.githubusercontent.com/65760336/183062210-0ba085d0-5d5c-4d36-b56e-c9cf79df088e.MP4
My goal I want to use duration 1000 without flicker
React Native Maps Version
1.1.0
What platforms are you seeing the problem on?
iOS (Google Maps)
React Native Version
0.65.1
What version of Expo are you using?
Not using Expo
Device(s)
13 Pro
Additional information
No response

Hi @chanphiromsok 👋
Can I have you trim away as much as possible from your reproducible sample code and ensure that it is runnable as is? There seem to be at least a few props that is unrelated to the problem, as well as imports that can't be resolved without additional code :)

Hi @chanphiromsok 👋
Can I have you trim away as much as possible from your reproducible sample code and ensure that it is runnable as is? There seem to be at least a few props that is unrelated to the problem, as well as imports that can't be resolved without additional code :)

Hello, the code is updated.
My goal is I want to use coordinate.timing({ ...newCoordinate, useNativeDriver: false, duration: 1000}).start(); in the animate function without any flick marker

I'm seeing markers flickering when not animated at all - very strange behavior.

Same issue in ios 15.6.1, react native 0.69.5, react native maps 1.3.1, iphone 12 pro and iphone 8. My mark and own marks on the map are flickering.

Update on this issue: the issue disappears for me if I don't call enableLatestRenderer();

We are not using enableLatestRenderer in our code but still see the issue.
On Tue, Oct 18, 2022 at 12:53 PM Mighty Software @.***>
wrote:

Update on this issue: the issue disappears for me if I don't call
enableLatestRenderer();
—
Reply to this email directly, view it on GitHub
https://github.com/react-native-maps/react-native-maps/issues/4371#issuecomment-1282341023,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAERRL2JJ6RY747W55WC4XTWD2MVLANCNFSM55VVMAFQ
.
You are receiving this because you commented.Message ID:
@.***>

same issue

I'm using AnimatedMarker and it's being updated on location change.
I think it could be related to iOS 16.
On my end works fine on Android and iOS emulators.
Launched on real device iPhone XR with iOS 15 - still okay
For iPhone 14 Pro running iOS 16 it's flickering.
This behavior is non acceptable for prod-ready apps 😞

.

Hello, I have the same issue, on iOS.  Physical device and simulators with ios 15.2 and ios 16.0.3
https://user-images.githubusercontent.com/98107503/204054862-14eba441-7d5d-4864-94e9-ec069dd9e4ee.mov
Works fine in android.
"react-native": "0.70.5",
"react-native-maps": "1.3.2",
"react-native-reanimated": "2.12.0",

`import MapView, { Marker, AnimatedRegion, MarkerAnimated } from 'react-native-maps';
import React, { useRef, useEffect, useState } from 'react';
import { IProps } from './types';
import { Platform } from 'react-native';
// import Animated from 'react-native-reanimated';
export default (props: IProps) => {
// const isFirstRender = useRef(true);
// const fadeAnim = useRef(new Animated.Value(0)).current;
const [marker, setMarker] = useState(null);
var latitude = props.latLng.latitude;
var longitude = props.latLng.longitude;
const [coordinate, setCoordinate] = useState(
new AnimatedRegion({
latitude,
longitude,
latitudeDelta: 0.03,
longitudeDelta: 0.015,
}),
);
useEffect(() => {
animateMarker();
}, [props.latLng]);
const animateMarker = () => {
const newCoordinate = {
latitude: props.latLng.latitude,
longitude: props.latLng.longitude,
latitudeDelta: 0.03,
longitudeDelta: 0.015,
};
    if (Platform.OS === 'android') {
        if (marker) {
            // @ts-ignore
            marker.animateMarkerToCoordinate(newCoordinate, 5000);
        }
    } else {
        // @ts-ignore
        coordinate.timing(newCoordinate).start();
    }
};
return (
    <Marker.Animated ref={(marker: any) => {
        setMarker(marker);
    }}
        zIndex={props.zIndex}
        // @ts-ignore
        coordinate={coordinate} onPress={props.onPress} anchor={{ x: 0.5, y: 0.5 }}>
        {props.children}
    </Marker.Animated>
);

}`
plus, I get this when debugging the animation on iOS:

I'm using AnimatedMarker and it's being updated on location change. I think it could be related to iOS 16.
On my end works fine on Android and iOS emulators. Launched on real device iPhone XR with iOS 15 - still okay For iPhone 14 Pro running iOS 16 it's flickering.
This behavior is non acceptable for prod-ready apps 😞

I run on many different devices but still got the same Iphone 8Plus Iphone 7 Iphone 7plus 13 pro but still got this issue

one more thing animateMarkerToCoordinate not working in release mode

Same problem here, @Simon-TechForm It's possible to use reanimated 2 to control the position of a market in iOS and Android? To avoid at all AnimateToCoordinates and Animated Region?

I had to reimplement AnimatedRegion with reanimated to get smooth animations on Android and iOS.
Here's the hook I ended up with:
import { useMemo } from 'react';
import { MapMarker, MapMarkerProps } from 'react-native-maps';
import Animated, {
  Easing,
  EasingFn,
  EasingFunctionFactory,
  useAnimatedProps,
  useSharedValue,
  withTiming,
} from 'react-native-reanimated';

interface LatLng {
  latitude: number;
  longitude: number;
  longitudeDelta?: number;
  latitudeDelta?: number;
}

interface AnimateOptions extends LatLng {
  duration?: number;
  easing?: EasingFn | EasingFunctionFactory;
}

export const useAnimatedRegion = (location: Partial<LatLng> = {}) => {
  const latitute = useSharedValue(location.latitude);
  const longitude = useSharedValue(location.longitude);
  const latitudeDelta = useSharedValue(location.latitudeDelta);
  const longitudeDelta = useSharedValue(location.longitudeDelta);

  const animatedProps = useAnimatedProps(() => ({
    coordinate: {
      latitude: latitute.value ?? 0,
      longitude: longitude.value ?? 0,
      latitudeDelta: latitudeDelta.value ?? 0,
      longitudeDelta: longitudeDelta.value ?? 0,
    },
  }));

  const animate = useMemo(
    () => (options: AnimateOptions) => {
      const { duration = 500, easing = Easing.inOut(Easing.ease) } = options;

      const animateValue = (
        value: Animated.SharedValue<number | undefined>,
        toValue?: number,
      ) => {
        if (!toValue) {
          return;
        }

        value.value = withTiming(toValue, {
          duration,
          easing,
        });
      };

      animateValue(latitute, options.latitude);
      animateValue(longitude, options.longitude);
      animateValue(latitudeDelta, options.latitudeDelta);
      animateValue(longitudeDelta, options.longitudeDelta);
    },
    [latitute, longitude, latitudeDelta, longitudeDelta],
  );

  return {
    props: animatedProps,
    animate,
  };
};

type MarkerProps = Omit<MapMarkerProps, 'coordinate'> & {
  coordinate?: MapMarkerProps['coordinate'];
};

export const AnimatedMarker = Animated.createAnimatedComponent(
  MapMarker as React.ComponentClass<MarkerProps>,
);

Usage:
import { Easing } from "react-native-reanimated"

import { AnimatedMarker, useAnimatedRegion } from 'hooks/useAnimatedRegion';

export const MyMarker: React.FC = () => {
  const animatedRegion = useAnimatedRegion(location);

  useEffect(() => {
    // works well on both Android and iOS
    animatedRegion.animate({
      latitude: ...,
      longitude: ...,
      duration: 1000,
      easing: Easing.linear
    });
  }, [])

  return (
    <AnimatedMarker
      ...
      animatedProps={animatedRegion.props}
    >
      ...
    </AnimatedMarker>
  );
};

The useAnimatedRegion is pretty much the same implementation as AnimatedRegion apart from the fact that it uses Reanimated instead of RN's built-in Animated API. Reanimated V2 runs animations on the native UI thread by default ("worklets" as they call it), which makes it way more performant than RN's Animated API.
The only downside is, you can not use any kind of pure js function for easing. You need to use Reanimated's Easing constants, or define your easing functions to run as a worklet.
I did try to replace Animated by Reanimated on the AnimatedRegion class to open a PR, but couldn't get it to work (AnimatedRegion currently seems to rely on a few hacks to work properly :confused: ).

I had to reimplement AnimatedRegion with reanimated to get smooth animations on Android and iOS. Here's the hook I ended up with:
import { useMemo } from 'react';
import { MapMarker, MapMarkerProps } from 'react-native-maps';
import Animated, {
  Easing,
  EasingFn,
  EasingFunctionFactory,
  useAnimatedProps,
  useSharedValue,
  withTiming,
} from 'react-native-reanimated';

interface LatLng {
  latitude: number;
  longitude: number;
  longitudeDelta?: number;
  latitudeDelta?: number;
}

interface AnimateOptions extends LatLng {
  duration?: number;
  easing?: EasingFn | EasingFunctionFactory;
}

export const useAnimatedRegion = (location: Partial<LatLng> = {}) => {
  const latitute = useSharedValue(location.latitude);
  const longitude = useSharedValue(location.longitude);
  const latitudeDelta = useSharedValue(location.latitudeDelta);
  const longitudeDelta = useSharedValue(location.longitudeDelta);

  const animatedProps = useAnimatedProps(() => ({
    coordinate: {
      latitude: latitute.value ?? 0,
      longitude: longitude.value ?? 0,
      latitudeDelta: latitudeDelta.value ?? 0,
      longitudeDelta: longitudeDelta.value ?? 0,
    },
  }));

  const animate = useMemo(
    () => (options: AnimateOptions) => {
      const { duration = 500, easing = Easing.inOut(Easing.ease) } = options;

      const animateValue = (
        value: Animated.SharedValue<number | undefined>,
        toValue?: number,
      ) => {
        if (!toValue) {
          return;
        }

        value.value = withTiming(toValue, {
          duration,
          easing,
        });
      };

      animateValue(latitute, options.latitude);
      animateValue(longitude, options.longitude);
      animateValue(latitudeDelta, options.latitudeDelta);
      animateValue(longitudeDelta, options.longitudeDelta);
    },
    [latitute, longitude, latitudeDelta, longitudeDelta],
  );

  return {
    props: animatedProps,
    animate,
  };
};

type MarkerProps = Omit<MapMarkerProps, 'coordinate'> & {
  coordinate?: MapMarkerProps['coordinate'];
};

export const AnimatedMarker = Animated.createAnimatedComponent(
  MapMarker as React.ComponentClass<MarkerProps>,
);

Usage:
import { Easing } from "react-native-reanimated"

import { AnimatedMarker, useAnimatedRegion } from 'hooks/useAnimatedRegion';

export const MyMarker: React.FC = () => {
  const animatedRegion = useAnimatedRegion(defaultLocation);

  useEffect(() => {
    // works well on both Android and iOS
    animatedRegion.animate({
      latitude: ...,
      longitude: ...,
      duration: 1000,
      easing: Easing.linear
    });
  }, [])

  return (
    <AnimatedMarker
      ...
      animatedProps={animatedRegion.props}
    >
      ...
    </AnimatedMarker>
  );
};

The useAnimatedRegion is pretty much the same implementation as AnimatedRegion apart from the fact that it uses Reanimated instead of RN's built-in Animated API. Reanimated V2 runs animations on the native UI thread by default ("worklets" as they call it), which makes it way more performant than RN's Animated API.
The only downside is, you can not use any kind of pure js function for easing. You need to use Reanimated's Easing constants, or define your easing functions to run as a worklet.
I did try to replace Animated by Reanimated on the AnimatedRegion class to open a PR, but couldn't get it to work (AnimatedRegion currently seems to rely on a few hacks to work properly 😕 ).

Thanks for share this

@AnatoleLucet, Thanks for share this.

I think the issue can closed now

@chanphiromsok What is the solution for the flickering markers on iOS? apologies if I'm missing something here, but I don't see a suggested solution anywhere. I would appreciate any feedback here :)

I used the code from @AnatoleLucet from his comment above

@chanphiromsok What is the solution for the flickering markers on iOS? apologies if I'm missing something here, but I don't see a suggested solution that actually works anywhere. I would appreciate any feedback here :)

I use the code from his comment above @AnatoleLucet

@chanphiromsok While my solution provides an alternative that can be used to fix the original issue, it does not fix the built-in AnimatedRegion.
I think it would be more appropriate to let this issue open until the maintainers decide otherwise (maybe by fixing the current AnimatedRegion and/or including my hook in the lib), or close the issue as a "won't fix".

Thanks for suggestion

This seems to have resolved when I use tracksViewChanges={false} on my Markers.

This seems to have resolved when I use tracksViewChanges={false} on my Markers.

tracksViewChanges is used to reduce CPU usage when you have many markers on a map
after the Marker display on MapView, we must set it to false otherwise phone will heat and freeze

Thanks for the solution! How can I set anchor, icon and other props to the Marker component?

@AnatoleLucet 6 months later and your solution helped me tremendously, thank you so much

Does this AnatoleLucet solution work with react-native-reanimated v3? Marker expects props lat/long nested under coordinate and I can't get it to work.

Does this AnatoleLucet solution work with react-native-reanimated v3? Marker expects props lat/long nested under coordinate and I can't get it to work.

I checked the migration docs and it states all code written in Reanimated v2 API works in 3.x without any changes. I used his solution with v2 and it works really well, what specifically is the issue you are facing?

@cornejobarraza Marker doesn't animate (no errors). Setup is otherwise the same. react-native-maps v1.8.0. I can confirm the animated values are triggered by logging the values in the useAnimatedProps callback.
Related? software-mansion/react-native-reanimated#2257 software-mansion/react-native-reanimated#2767
EDIT: Marker shows according the initial values past to useSharedValue, but doesn't reflect updates, even if value set without timing animation.

@sspread this is how I implemented a custom marker component using the code AnatoleLucet provided. I had to do some changes since I'm working with TypeScript, I hope this helps in some way:
import { AnimatedMarker, useAnimatedRegion } from "hooks/useAnimatedRegion";
import { useEffect } from "react";
import { Image } from "react-native";
import { LatLng } from "react-native-maps";

export const MyMarker: React.FC = (coords: LatLng) => {
  const defaultCoords = { latitude: -48.12485, longitude: -22.08061 };
  const animatedRegion = useAnimatedRegion(defaultCoords);

  useEffect(() => {
    // works well on both Android and iOS
    animatedRegion.animate({ ...coords });
  }, [coords]);

  return (
    <AnimatedMarker animatedProps={animatedRegion.props}>
      <Image
        style={{
          height: 48,
          width: 48,
        }}
        source={require("@assets/images/marker.png")}
        resizeMode="contain"
      />
    </AnimatedMarker>
  );
};

@cornejobarraza Yea there's nothing different from what i have there. Its got to be something that changed in reanimated v3.

@cornejobarraza Yea there's nothing different from what i have there. Its got to be something that changed in reanimated v3.

reanimated v3 is work well please check code again We are using with google map

I was using apple maps. confirmed it does work on google maps (iOS)

I'm wondering if this really should be part of the library, I was just reviewing google maps docs for iOS / Android SDK and they clearly mention that the latlong values are animatable:
https://developers.google.com/maps/documentation/android-sdk/reference/com/google/android/libraries/maps/model/LatLng
iOS
https://github.com/colibridigital/maiamall-luxury/blob/18625c523eca1572d3fec6c725960bd95d3abd8f/GoogleMaps.framework/Versions/A/Headers/GMSMarker.h#L37
which means theoretically updating the coordinates through your favourite lib of animation (reanimated) should work well.
I don't see why this library need to implement animation when, based on @AnatoleLucet's answer it seems like it would work perfectly without using AnimatedRegion.

Does this AnatoleLucet solution work with react-native-reanimated v3? Marker expects props lat/long nested under coordinate and I can't get it to work.

Thid solution works perfect in Android and iOS.
But if you want to add nested animation, like fadein(out), rotation, else, in iOS need set marker prop trackviewchanges=true and add Animated.View.  something like this.  In android Animated.View not needed.
<AnimatedMarker       ref={Ref}       key={"Marker"}       identifier={"Marker"}       flat={true}       tracksViewChanges={trackViewChanges}       anchor={{ x: 0.5, y: 0.5 }}       animatedProps={animatedRegion.props}>       <Animated.View         key={"key"}         style={[{           alignItems: "center",           zIndex: 1002,         }, reanimatedStyleFade]}>         <MarkerImage           key={"carIconKey"} 		  />       </Animated.View>     </AnimatedMarker>

I am trying to use @AnatoleLucet solution with JS
I am even using google maps and latest
Reanimated and react native maps.
but the marker draws at initial location and doesn't move.
I do not have issue with my flickering but the issue I have the my animation only takes default duration of 500ms instead of what I am passing.
Can anyone help please?
 coords         .timing({           ...coordinates,           duration: 5000,         })         .start();
where coords is AnimatedRegion

I am trying to use @AnatoleLucet solution with JS
I am even using google maps and latest
Reanimated and react native maps.
but the marker draws at initial location and doesn't move.
I do not have issue with my flickering but the issue I have the my animation only takes default duration of 500ms instead of what I am passing.
Can anyone help please?
` coords
    .timing({

      ...coordinates,

      duration: 5000,

    })

    .start();`

where coords is AnimatedRegion

make sure that location is available before render marker

Yes
I do have it but still it does not.

Hi I was able to fix the duration thing but unable to get the marker moving on maps. I am using google maps on ios @AnatoleLucet @sspread

Hi I was able to fix the duration thing but unable to get the marker moving on maps. I am using google maps on ios @AnatoleLucet @sspread

If you are using multiple marker animations in iOS, ex AnimatedRegion with fade or\with rotation, need update custom marker component  like this:
   <AnimatedMarker       ref={marker}       key={"km"}       identifier={"im"}       flat={true}       tracksViewChanges={trackViewChanges}       anchor={{ x: 0.5, y: 0.5 }}       animatedProps={animatedRegion.props}>       <Animated.View         key={"kmv"}         style={ animatedStyleFade, animatedStyleRotation }> 		<Image 			style={{ 			  height: 48, 			  width: 48, 			}} 			source={require("@assets/images/marker.png")} 			resizeMode="contain" 		/>       </Animated.View>

@owaisnizam Your animation syntax doesn't look like react-native-reanimated, rather react native Animated API

@sspread my syntax was fine but thanks to your comment I checked that my Easing was imported from react-native and not from reanimated.
This fixed my problem.
Much Appreciated.
Shout out for @AnatoleLucet  for a beautiful piece of code

@salah-ghanim Perhaps the lib implementation is needed because reanimated doesn't work on apple maps? I would like it to because I get minor flickering with apple maps too. And using native driver crashes. Would love to hear if someone has a solution for apple maps.

Hi @AnatoleLucet
Is there any way that I can get a callback which indicates that the animation is completed with a finished flag true or false.
like in 'timing.start({finished} =>{})'

If anyone is struggling with their AnimatedMarker freezing and not animating properly after many consecutive location changes, here's what I added to AnatoleLucet's code. I'm only using LatLng so I removed the other shared values:
import { cancelAnimation } from "react-native-reanimated";

const animate = useCallback(
  (options: AnimateOptions) => {
    const { duration = 500, easing = Easing.inOut(Easing.ease) } = options;

    const animateValue = (
      value: Animated.SharedValue<number | undefined>,
      toValue?: number,
    ) => {
      if (!toValue) {
        return;
      }

      value.value = withTiming(toValue, {
        duration,
        easing,
      });
    };

    animateValue(latitute, options.latitude);
    animateValue(longitude, options.longitude);

    // Add this cleanup
    return () => {
      cancelAnimation(latitude);
      cancelAnimation(longitude);
    }
  },
  [latitute, longitude],
);

This Medium article by chrischuck35 guided me to this, read more here:
https://medium.com/@chrischuck35/why-are-my-react-native-animations-freezing-62f38526d17d
This only started affecting me after upgrading to Expo SDK 49 for some reason. It might have been the react-native-reanimated upgrade, or maybe I didn't test enough previously, who knows 😅

I recently published the latest version of the library where in the examples a marker animation is done  using reanimated and it works smoothly compared to the previous implementation on iOS.
Can someone please test / confirm in their project so that finally this ticket can be closed ?

@salah-ghanim Using the approach from the example in your merged code, reanimated is working, but now in addition to the occasional flicker, there's a constant blur. For my use, its worse now, for that reason. Interestingly, when I try to screen capture video, it doesn't pick up the blur. Something going on with frame rate, and the blur only happens when I have the map camera 'follow' the pin.
Is the runOnJS and setNativeProps on the ref the only way to use it? animatedProps approach didn't work.

@sspread thanks for your feedback, did you use some specific code to reproduce the issue with the high frame rate ?  or simply the example ?
In android you can simply use: getWindow().setPreferredRefreshRate(30f); // Request 30fps
to set the Frame rate for the app, I would recommend that you use this for now
https://developer.android.com/media/optimize/performance/frame-rate
regarding supporting a higher framerate I think we have two ways:

move to the new arch, this should reduce the cost of serialisation of data between JS / Native
implement Reanimated with native support (needs to be investigated).

honestly I would close this issue given that the animation runs smooth at 30fps which is the best to expect from the current setup.

@salah-ghanim I'm testing on iOS - 120fps is the default. I used your example code to produce the issue, but again, i'm also "following" the marker with the camera (setCamera). Unfortunately, the code improvements don't help me out specifically, but that doesn't mean this issue isn't resolved (I'm not OP).

if you closed this please refer to the docs too

@chanphiromsok do you want to share an updated doc by any chance ?

@chanphiromsok do you want to share an updated doc by any chance ?

tell user in marker document
how to use reanimated that's it I'm willing to help


fix perma-links for non-1.0.0 versions

Change-type: patch
Signed-off-by: Martin Rauscher<EMAIL_ADDRESS>

@balena-ci I self-certify!


[Misc]Further  reduce BNB static variable

I have tested these changes locally using llama/mllama/minicpmv2.6/qwen.25/phi-3, all can generate reasonable results.
Thanks to @Isotr0py for his previous work, which made this PR easier.

@mgoin It looks like  the CI failure is unrelated to this PR, maybe we need to force merge?


Mark ephemeral pods created as part of KubeTask with JobID label

Change Overview
Due to an ongoing work regarding identifying ephemeral pods those get spawned during various operations as part of some of the kanister functions, we need to mark these pod with some labels. One such pre-decided label for these pods is  kanister.io/JobID. This label will help:

Developers to verfiy whether required pod-specs were applied to these pods.
Identify pods, due to erroroneous cases stay lingering in memory without ever completing.
If multiple such type of pods are instantiated and we want to target / debug one out of these.

Right now the flow of this label information is, with the instantiation of actionset against a blueprint that services kubetask due to a trigger from an external application, if this label is populated with a JobID then this label [key: value] pair is added in entirerity to the temporary pod, we can track it.
This PR handle case when the kube-task kanister function has a context.Context instance passed that contains a key-value pair corresponding to the pre-decided label, then it will make its way to the pods label selector map in addition to others if present already.

Pull request type
Please check the type of change your PR introduces:

[ ] :construction: Work in Progress
[ ] :rainbow: Refactoring (no functional changes, no api changes)
[x] :hamster: Trivial/Minor
[ ] :bug: Bugfix
[ ] :sunflower: Feature
[ ] :world_map: Documentation
[ ] :robot: Test

Issues

fixes #issue-number

Test Plan

[x] :muscle: Manual
[ ] :zap: Unit test
[ ] :green_heart: E2E

Create Deployment -

apiVersion: apps/v1
kind: Deployment
metadata:
  name: time-logger
  namespace: test
  labels:
    app: time-logger-dep
spec:
  replicas: 1
  selector:
    matchLabels:
      app: time-logger
  template:
    metadata:
      labels:
        app: time-logger
    spec:
      containers:
      - name: test-container
        image: containerlabs/aws-sdk
        command: ["sh", "-c"]
        args: ["while true; do for x in $(seq 1200); do date >> /var/log/time.log; sleep 1; done; truncate /var/log/time.log --size 0; done"]
EOF

Create Blueprint -

cat <<EOF | kubectl create -f -
apiVersion: cr.kanister.io/v1alpha1
kind: Blueprint
metadata:
  name: time-log-bp
  namespace: kanister
actions:
  backup:
    phases:
    - func: KubeTask
      name: backupToS3
      args:
        namespace: "{{ .Deployment.Namespace }}"
        image: busybox
        podOverride:
          containers:
          - name: container
            imagePullPolicy: IfNotPresent
        command: ["sh", "-c", "counter=1; while [ $counter -lt 20 ]; do echo $counter; ((counter++)); sleep 1; done"]
EOF

Create Actionset -

cat <<EOF | kubectl create -f -
apiVersion: cr.kanister.io/v1alpha1
kind: ActionSet
metadata:
  generateName: s3backup-
  namespace: kanister
  labels:
    kanister.io/JobID: hello-world

spec:
  actions:
  - name: backup
    blueprint: time-log-bp
    object:
      kind: Deployment
      name: time-logger
      namespace: test
EOF

Watch ephemeral pod and check its spec -

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2024-03-21T08:40:07Z"
  deletionGracePeriodSeconds: 0
  deletionTimestamp: "2024-03-21T08:40:10Z"
  generateName: kanister-job-
  labels:
    createdBy: kanister
    kanister.io/JobID: hello-world
  name: kanister-job-j298f
  namespace: test
  resourceVersion: "18892"
  uid: 5610e47f-327d-4fd3-881d-f577b8dacf0d
spec:
....

@mabhi are we just going to handle KubeTask in this PR?

@mabhi are we just going to handle KubeTask in this PR?

Yes, accounted additional pods as suggested


[SPARK-13906] Ensure that there are at least 2 dispatcher threads.

What changes were proposed in this pull request?
Force at least two dispatcher-event-loop threads. Since SparkDeploySchedulerBackend (in AppClient) calls askWithRetry to CoarseGrainedScheduler in the same process, there the driver needs at least two dispatcher threads to prevent the dispatcher thread from hanging.
How was this patch tested?
Manual.
Author: Yonathan Randolph<EMAIL_ADDRESS>

Can one of the admins verify this patch?

@zsxwing do you have an opinion?
I was thinking the max would be applied just to availableProcessors(), but, yeah maybe a good idea to not even let the user set it to 1. Is there any legitimate reason to do that? if we can think of one then this can more conservatively apply the max(2,..) to just the default value.

It may be legitimate to set spark.rpc.netty.dispatcher.numThreads=1 for processes other than the driver (sparkMaster, sparkWorker).

OK then I'd move the max inside, so that the property value can still override it to 1 if needed.

I'm ok with max(2, availableProcessors).
However, the root cause is there are blocking calls in the event loops but not enough threads. This could happen in other places (such as netty, akka). Ideally, we should avoid blocking calls in all event loops. However, it's hard to figure out them in the huge code bases :(

Changed to math.max(2, Runtime.getRuntime.availableProcessors())

Jenkins test this please

Test build #53208 has started for PR 11728 at commit 597f0e6.

Test build #53208 has finished for PR 11728 at commit 597f0e6.

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

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

Merged build finished. Test PASSed.

Merged to master


error in grpcs for agoric, gravity, injective

agoric returns 502, gravity returns TLS error, injective times out.

there should be a bot querying all endpoints in rpc,grpc and rest to see if they are still working, then make prs accordingly. Finding more endpoints that are dead


Replace Requires.NotNullOrEmpty(string) with ArgumentException.ThrowIfNullOrEmpty

Breaking change: Bucket 3: Unlikely Grey Area
This PR makes changes to public APIs so that an ArgumentException is thrown instead of ArgumentNullException when a string is empty rather than null.

System.Management.Automation.Subsystem.Prediction.PredictionContext.Create(String)
System.Management.Automation.Subsystem.Prediction.PredictiveSuggestion..ctor(String)
System.Management.Automation.Subsystem.Prediction.PredictiveSuggestion..ctor(String, String)
System.Management.Automation.Subsystem.Prediction.CommandPrediction.OnSuggestionAccepted(PredictionClient, Guid, UInt32, String)

If a consumer caught the ArgumentNullException and not the base class ArgumentException this is a change in behavior.
However, it seems unlikely to depend on a specific exception being thrown, because if specific behavior was required, the caller could have implemented the necessary business logic.

@daxian-dbw Please mark Review - Maintainer.

PowerShell-CI-macos (Test for macOS mac Test - UnelevatedPesterTests - Others test failure:
Invoke-WebRequest tests.Error occurred in Describe block

I think this change is fine. But you need to rebase with the master, because #19133 introduces another use of the Requires.NotNullOrEmpty(string value, string paramName). So, you need to update that one as well. Thanks!