Serialize function signature simplifications

Which issue does this PR close?

Closes #.
Rationale for this change

In general, issuing a blocking call or performing a lot of compute in a future without yielding is problematic, as it may prevent the executor from driving other futures forward.

~~https://docs.rs/tokio/latest/tokio/task/fn.spawn_blocking.html~~
Previously, the serialization process was always asynchronous, even if there were no asynchronous calls involved, which was a CPU-bound operation. This is an anti-pattern.
This PR simplifies function signatures in BatchSerializer.
What changes are included in this PR?

Make BatchSerializer sync , and use it with tokio::task::spawn_blocking.
Are these changes tested?
With existing tests.
Are there any user-facing changes?
No.

In general, issuing a blocking call or performing a lot of compute in a future without yielding is problematic, as it may prevent the executor from driving other futures forward.

I think this part of the tokio docs is confusing and somewhat misleading. Specifically what "a lot of compute" means is very dependent on the application.
In this case, I think the actual serialization is done for a RecordBatch and then await is called to potentially yield control. I don't think serializing a single RecordBatch qualifies as "a lot of compute"
I wrote up a detailed justification for using tokio for CPU bound tasks in the following blog post, which I think is still very relevant https://thenewstack.io/using-rustlangs-async-tokio-runtime-for-cpu-bound-tasks/

Previously, the serialization process was always asynchronous, even if there were no asynchronous calls involved, which was a CPU-bound operation.

Almost all of a DataFusion plan's execution is CPU bound and not asynchronous, yet they are executed using async heavily. I don't think this is a problem (for reasons explained in the blog) and I don't see any reason we would want to treat writing batches differently.
So all in all, I don't agree with the stated rationale of this PR that we should not use the same executor for CPU bounds tasks

@alamb, would the current approach work well in a setting with a small number of threads and large batch sizes? The scenario that came up today when we discussed this internally was running a deep query (i.e. with a lot of operators) in such a setting. We were wondering if the pull mechanism would get disrupted if serializations would take too long in such an environment.
Maybe the answer is no (and we should measure to see what happens), but I'd love to hear your thought process on such a scenario.

@alamb, would the current approach work well in a setting with a small number of threads and large batch sizes? The scenario that came up today when we discussed this internally was running a deep query (i.e. with a lot of operators) in such a setting. We were wondering if the pull mechanism would get disrupted if serializations would take too long in such an environment.

This likely depends on what "large batch size" means and what type of disruption you are talking about.
My internal mental model is that if you give the query plan N threads, it should be able to keep all N threads busy all of the time. Each output serializer will pull the next batch to serialize (the same thread will likely compute the input to serialize if each of the input futures is ready) and then serialize the batch. The CPU should be kept busy the entire time making input or serializing output and there won't be any stalls and the query won't suffer context switching overhead (due to more threads than CPUs)
The larger the target_batch_size is

the greater the intermediate memory required (as each intermediate batch takes more)
the greater the latency may be between generating subsequent batches of output
the lower the CPU overhead is (as there are many things done "per batch" which gets amortized over many more rows)

So I think the application needs to figure out how it wants to trade off these features

Maybe the answer is no (and we should test/measure to see what happens), but I'd love to hear your thought process on such a scenario.

I am always a fan of measuring / testing.

Thanks, I will ask @metesynnada to run some experiments so we all can learn if there are any intricacies at play here.
We will report the results here and close this PR if this (1) doesn't help in any scenario, or (2) hurts in some scenario.

Marking this as draft to signify there is ongoing work -- please feel free to mark it ready for review if I got that wrong

Interesting results. @alamb, can you take a look at the measurement script? Let's make sure there are no methodological mistakes before arriving at any conclusions.

TLDR is that I don't think this benchmark keeps the number of cores constant
When I run the first benchmark run that is supposed to use 1 core:
Benchmarking parameter group/sink_bs100_tp1/1: Collecting 100 samples in estimated 105.75 s (100 iterations)
...

Main uses a single core as epxected

When I run on the synnada-ai:upstream/spawn-blocking-for-se branch, the first benchmark uses almost three cores:

What I think is happening is that the spawn_blocking call, as one might expect, runs the workload on a dedicated thread that is not controlled by the tokio runtime's worker thread count
                    let rt = Builder::new_multi_thread()
                        .worker_threads(worker_thread)
                        .build()
                        .unwrap();

The fact that the branch is using 3 threads and main can only use one I think accounts for the speed differences
Methodology
docker run -v "/Users/andrewlamb/Downloads/tpch_sf0.1":/data -it --rm ghcr.io/databloom-ai/tpch-docker:main -vf -s 0.1

I put the benchmark code on this branch https://github.com/alamb/arrow-datafusion/tree/alamb/write_threads_bench
And ran
cargo bench --bench write_threads

Good catch. Tokio offers a max_blocking_threads API, but I don't immediately see a way to use that to fix the benchmark. Apparently there used to be a max_threads API, which was limiting the total number of threads (async workers + blocking), which would be what we want in this context. However, that doesn't seem to be available anymore. I will consult with @metesynnada tomorrow to see if there is anything we can do to fix the methodology.

I run the benchmarks in single-core and there is no substantial difference. Thus, I will convert this to spawn again.

Agreed. I changed the PR title and description to match what this does now -- simplifying function signatures only (no change to async vs. spawn_blocking behaviors). It looks good to me


macOS - Inline search disregards default browser and opens safari

macOS Big Sur 11.4 (20F71)
NetNewsWire 6.0.2 (6032)

I have Google Chrome set as the default browser.
When I highlight something in an article and right-click on it, then choose 'Search with Google', NNW opens Safari.

I encountered this today as well and it seems to be a system-wide issue in MacOS. Here's just one of many examples found on Google dating back 8 years: https://stackoverflow.com/questions/17935301/....

I noticed this today that when NetNewsWire is set to browser: System Default (Firefox), activating a Twitter extension still opens Safari.


Add model signing unit test GitHub Actions

The token doesn't seem to be available when creating the PR to add the workflow, so that's why the CI fails.
https://github.com/mihaimaruseac/model-transparency/actions/runs/6628201742/job/18004764703 is the equivalent of this on my own fork (https://github.com/mihaimaruseac/model-transparency/pull/2)

Correct. We need to check how sigstore-python did it. iirc, they pre-generate some tokens every 15mn or so and put them in a bucket; then use these for the pre-submits. There's a lot of pre-submits we can add without signing zo, like unit tests for hashing, etc. Also, we will eventually need regression tests that ensure that previously-generated signatures can be verified by new versions of the verifier

Yeah, I tried this as a quick way to check the dependabot PRs without needing to run manually or write longer unit tests. But probably it's better to revert to writing unit tests and running those instead.

That was my reasoning for sending the PR. We can also run locally (test model signing locally, run SLSA on own fork), but we'd probably still need a CI for dependency resolution to prevent #43

So let's just test the installation then? Can be a pre-submit and is not throwaway work?

How about updating the pip dependencies for now and work on something similar to sigstore-python towards a proper v1 release (+ unit tests).

Yeah, that's my impression after #43, we can just make a CI that tries to install the deps and if we think something might break further try to debug locally (like I just did for #37 and #32)

So let's just test the installation then? Can be a pre-submit and is not throwaway work?

Yup, working on a PR for that


CDAP-8083 Don't toggle security.enabled with kerberos.auth.enabled

This prevents security.enabled from being automatically set to true on Kerberos clusters. This allows CDAP to be deployed onto a Kerberos-enabled cluster without enabling CDAP Security, which requires user configuration.

LGTM


Add argument for download location

Hey bud,
I want to make a docker image for this however its hard to do with the current implementation where downloaded songs are placed in the same directory as where this repo is cloned. Can you please add a -outFolder argument that can be used to specify the download location. e.g.: python Download.py -artist -song -outFolder \etc\Saavn will save downloaded files in \etc\saavn
Cheers

Sorry I haven't been active for so long. You can now specify the output path for the with the -o or --outFolder argument. Replace your Download.py file or the entire repository with the new one to see the changes.

Thank you very much for adding this quickly.


Fix crashes from HTML parsing

WIP on avoiding crashes during HTML parsing
Creates a new type of ComposerUpdate that is a PanicRecovery which returns the previous state for the client to restore content.

Use Result for function that should explicitly throw: https://github.com/matrix-org/matrix-rich-text-editor/pull/581


LineView's YLegend's values are bit off in the new release

Hi, I have recently noticed that YLegend's values in the Full-screen line view are a bit off. As you can see in the images attached below, the final point of 161 is below the 161 line.

Yes, I am facing the same problem as shown.

Hi,
Change the following in LineView:
Line()
frame: .constant(CGRect(x: 0, y: 0, width: reader.frame(in: .local).width - 50, height: reader.frame(in: .local).height + 30)),
Adding the bit of extra height fixed it for me.

Hi,
Change the following in LineView:
Line()
frame: .constant(CGRect(x: 0, y: 0, width: reader.frame(in: .local).width - 50, height: reader.frame(in: .local).height + 30)),
Adding the bit of extra height fixed it for me.

Thanks! this does fix the issue.


feat: add minimum severity parameter to pint lint cmd

Description
Hello, thank you for providing pint's action 🙂
I wanted to allow setting the minimum severity reported by the linter in cases where we want to filter a bit the output.
Type of change

[X] New feature (non-breaking change which adds functionality)
[X] This change requires a documentation update

How Has This Been Tested?
Tested locally

Thanks!


Docker: Use multi-stage build

First stage: Compile the go binary from source

Second stage:

alpine linux as base image
only copy the compiled go binary over from the first stage
install libc6-compat for compatibility between musl and glibc

Final local image size is only 9.1 MB (for comparison: previously it was 1.04 GB)

Compressed image size on Docker Hub is only 4.37 MB (for comparison: previously it was 495.98 MB)

Also: Fix entrypoint syntax to use exec form to call the binary directly (previously it used shell form, which always calls /bin/sh)
btw @pwaller: Do you intend to publish the image on e.g. Docker Hub? Then the users could save the step of building the image locally.
For testing I used https://hub.docker.com/repository/docker/shaderecker/docker-show-context but maybe you want to publish it under your own user (setting up automated builds from the GitHub repo is pretty easy).

Thanks for taking the time to contribute.
Re: PR as a whole: "Why not", though the value doesn't seem terribly high to me since if you're using docker you're probably normally pulling down large things and building them, and the build is not so big. The benefit to the user is that they know they're running what's in the repository, and not something which has diverged, which seems reasonable to me given the use case of the tool.
That said I could be persuaded if it seems significant enough to you.

Do you intend to publish the image on e.g. Docker Hub?

If you can persuade me it's super easy and worth while, why not, but I don't have much time to spare, so let's say, if I can do it in 10 minutes with a little guidance, or if it is obviously valuable, I will, but otherwise not.

The size of the image is debatable. Since the compiled binary is pretty small I would also tend to keep the image size as small as possible.

The benefit to the user is that they know they're running what's in the repository, and not something which has diverged

The user still gets what is in the repository, the binary is still compiled from source.
The alpine image in the second stage is merely a wrapper around the compiled go binary.
So the main point of the multi-stage build is to reduce the image size and to only have the final artifact (our go binary) in the final image.

If you can persuade me it's super easy and worth while

Ok let me try :D
Here is the official guide: https://docs.docker.com/docker-hub/builds/
In short:

You link your Docker Hub & GitHub accounts
Create a new repository in Docker Hub (best named the same as the GitHub repository)
Under Build Settings click on the GitHub icon
Select the source repository from GitHub
Under Buld Rules click the + button (this creates a default rule which builds from the master branch)
Finish by clicking Create & Build


Observation on "Generalized async return types"

Hi. On the following example
public ValueTask<int> CachedFunc()
{
return (cache) ? new ValueTask<int>(cacheResult) : new ValueTask<int>(LoadCache());
}
private bool cache = false;
private int cacheResult;
private async Task<int> LoadCache()
{
// simulate async work:
await Task.Delay(100);
cacheResult = 100;
cache = true;
return cacheResult;
}
Shouldn't cache and cacheResult variable be accesses through some kind of barrier like Volatile or interlocked?
They are being written and read from different threads... right?
Regards.

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

ID: dc229b53-a548-4ef8-86b9-58670a81344a
Version Independent ID: aeb15230-e1cc-df50-7edb-fb50164e13be
Content: What's New in C# 7.0 - C# Guide
Content Source: docs/csharp/whats-new/csharp-7.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for writing this @clperez
The sample could be structured better to ensure that LoadCache is only called once. I've added this to our backlog to be addressed as part of updating the async articles


Add extra headers

This adds the extraHeaders plumbing that will be required to implement DPoP, re: #1361 as per this request.
Decided not to both adding extraHeaders to methods relating to the Resource Owner Password Credentials grant as it Is actively discouraged in the latest version of the OAuth2 BCP.
Checklist

[ ] This PR makes changes to the public API
[ ] I have included links for closing relevant issue numbers

thanks for contributing


Fix intermittent Travis failure

SDK-798

I cleaned up the HAS_CANVAS stuff, since we can assume canvas is present for dev settings. Also it was only present in one file and otherwise it would need to get added to many.
Moved the CanvasPattern and CanvasGradient stuff to the environment setup, with slightly different logic

Coverage increased (+0.07%) to 96.444% when pulling 415f0f0a48e1d887f6012d89d2dc26e8842647a5 on bartvde:travis-failure into ad03104dd7d54f7dde45494da848767ac7831170 on boundlessgeo:master.

since this is test config only, I'm going to merge this one, so we can also see if the intermittent build failure is actually resolved, please ping in this ticket if you see it again and your branch is rebased on master


Ouster motion distortion correction

Hello,
Thank you for your efforts to collect the data and construct the API. I have looked in the Jupyter example on how to import different datasets. My question is:
Do you have a function in your API that corrects the motion distortion for the Ouster point clouds? You have showcased similar work for the Pixel lidar, but I cannot manage to use the same method the produce distortion-free ouster points clouds.
Please, provide me with the line of code to perform this task. I appreciate your help!
Regards,
Nader Abdelaziz.

Hi,
In our point_cloud sample method, we have the parameter "undistort", which performs the Lidar unroll (or motion compensation), which will work for the Ouster pointcloud.
Also a useful parameter would be "referential", which lets the user specify the desired referential frame.
https://github.com/leddartech/pioneer.das.api/blob/1f18e0fc40f1ea2963fadee035b96ef72fdd3baf/pioneer/das/api/samples/point_cloud.py#L15


calendar.component.scss not found AOT

I try to build with angular-cli using --prod --aot and i get the following error:
ENOENT: no such file or directory, open 'C:\Users\Stathis\WebstormProjects\xxxxx\node_modules\@swimlane\ngx-ui\release\components\calenda
r\calendar.component.scss'

I can't find this scss file.
webpack throws this error:
ERROR in Expected 'styles' to be an array of strings.

ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/client/app.module.ngfactory' in 'C:\Users\Stathis\WebstormProjects\xxxxx\src'
 @ ./src/main.ts 5:0-81
 @ multi ./src/main.ts

If I run in development mode there is no error.
What am I missing here?

The issue is caused due to this line:
https://github.com/swimlane/ngx-ui/blob/master/release/components/calendar/calendar.component.js#L92
I'll submit a PR to fix it.

If i remove the line the error goes away but the 'expected styles to be an array' remains

+1

Is there any timeline as to when this will be fixed, currently a blocking task in our project if we intend to use ngx-ui.

@RicardoVaranda - im not sure why this would be the only one having issues.
If you are importing the date picker, you get the calendar. If you import the global module, you get them all.

This is just the first error it returns but like mentioned by @efstathiosntonas even after fixing this specific issue then you start getting all of the errors for the rest of the components. I guess angular compiler just spits out the first error it finds rather than concatenate all of them together.
I'm not familiar with the steps required in order to turn a component library AOT friendly but will gladly contribute towards making this library if you can point out what needs to be done.

I wonder if we need to do what we did on charts/table with manipulating the scss to css.
https://github.com/swimlane/ngx-charts/blob/master/package.json#L37

Should be fixed in latest.


Reduce default partition count in cosmos emulator

We can set AZURE_COSMOS_EMULATOR_PARTITION_COUNT to a lower number. Today it seems to default to 11 partitions.

I experimented with this. It doesn't seem to have any impact on overall startup performance of the emulator :(

@radical This isn't critical for 9.x so I'm moving it out. If we end up figuring out all of the issues with the emulator and merge the change, feel free to put it back in 9


[JENKINS-32912] added a method to DslEnvironment for instantiating contexts from an extension

Thank you for this pull request! Please check this document for how the Jenkins project handles pull requests.


Player score variables not initialized on start up

When a game initially loads and goes into attract mode, a text widget will show the player variables (player1|score),  (player2|score),  (player3|score),  (player4|score) show as text.  When the game starts, the variables are reset to 0.

Player variables do not exist at all outside of a game. Unfortunately, this is evaluated in MPF-MC and would require some major refactoring to get this right. Most code for text template replacement already exists in MPF for segment displays. But evaluation of MC texts would have to move to MPF as well. However, we might be able to fix this particular issue (but not the overall source of the issue).


admin ui can't signin

with the username<EMAIL_ADDRESS>and the password demo
can't sign in

This has now been fixed!


bevelbar: 23.08 -> 24.06

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for bevelbar is: X11 status bar with beveled borders
meta.homepage for bevelbar is: https://www.uninformativ.de/git/bevelbar/file/README.html
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 24.06 in filename of file in /nix/store/82zlnnhbxwnx9r1pbs2kiagxds42q40l-bevelbar-24.06

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

bevelbar

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/82zlnnhbxwnx9r1pbs2kiagxds42q40l-bevelbar-24.06 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bevelbar https://github.com/r-ryantm/nixpkgs/archive/feaa0e9f800382b2b8009f46bab0ef1486362cf4.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/feaa0e9f800382b2b8009f46bab0ef1486362cf4#bevelbar

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/82zlnnhbxwnx9r1pbs2kiagxds42q40l-bevelbar-24.06
ls -la /nix/store/82zlnnhbxwnx9r1pbs2kiagxds42q40l-bevelbar-24.06/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

bevelbar

Maintainer pings
cc @AndersonTorres @neeasade for testing.

it needs strictDeps

@NixOS/nixpkgs-merge-bot merge


I am already first encounter of the link but still have to wait when try acces again

Domain
https://wp.sekilastekno.com/
Link
https://wp.sekilastekno.com/whatis-business-1#r/a4oI15NCs0
Version
0.0.0
What browsers are you seeing the problem on?
Chrome
What OS are you seeing the problem on?
Windows
Anything else?
No response

dupicate of: https://github.com/FastForwardTeam/FastForward/issues/496


[SPARK-8367][Streaming]Add a limit for 'spark.streaming.blockInterval`  since a data loss bug.

Bug had reported in the jira SPARK-8367
The relution is limitting the configuration spark.streaming.blockInterval to a positive number.

Merged build triggered.

Merged build started.

Test build #34902 has started for   PR 6818 at commit 3d17796.

Test build #34902 has finished for   PR 6818 at commit 3d17796.

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

Merged build finished. Test PASSed.

Merged build triggered.

Why not change the title? I think the problem here is illegal setting of configuration, not actually data loss bug.

@jerryshao I think due to the data loss bug, we can call zero is a illegal setting.

Merged build started.

Test build #34929 has started for   PR 6818 at commit bd3f71a.

Test build #34929 has finished for   PR 6818 at commit bd3f71a.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #34931 has started for   PR 6818 at commit c9d1927.

Test build #34931 has finished for   PR 6818 at commit c9d1927.

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

Merged build finished. Test PASSed.


ConcurrentDictionary is breaking my Oracle 11g unit tests

https://github.com/zzzprojects/EntityFramework.DynamicFilters/blob/bd36394d39b53fbb592ddf1f06bce82aac8ef4bb/src/EntityFramework.DynamicFilters.Shared/DynamicFilterExtensions.cs#L1160
The new "ConcurrentDictionary", I believe is causing errors at least in Oracle.
  Message:
System.Data.Entity.Core.EntityCommandCompilationException : An error occurred while preparing the command definition. See the inner exception for details.
---- System.NotSupportedException : A second operation started on this context before a previous asynchronous operation completed. Use 'await' to ensure that any asynchronous operations have completed before calling another method on this context. Any instance members are not guaranteed to be thread safe.

  Stack Trace:
<omitted because its just my test function stack trace>
----- Inner Stack Trace -----
ThrowingMonitor.EnsureNotEntered()
InternalContext.ExecuteSqlQuery[TElement](String sql, Nullable`1 streaming, Object[] parameters)
InternalContext.ExecuteSqlQueryAsIEnumerator[TElement](String sql, Nullable`1 streaming, Object[] parameters)
InternalContext.ExecuteSqlQuery(Type elementType, String sql, Nullable`1 streaming, Object[] parameters)
InternalSqlNonSetQuery.GetEnumerator()
DbRawSqlQuery`1.GetEnumerator()
Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
<>c__DisplayClass65_0.<OracleVersion>b__0(String k)
**ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)**
DynamicFilterExtensions.OracleVersion(DbContext context)
DynamicFilterQueryVisitorCSpace.DoesNotSupportElementMethod(DbContext context)
DynamicFilterInterceptor.TreeCreated(DbCommandTreeInterceptionContext interceptionContext)
<>c.<Created>b__3_0(IDbCommandTreeInterceptor i, DbCommandTreeInterceptionContext c)
InternalDispatcher`1.Dispatch[TInterceptionContext,TResult](TResult result, TInterceptionContext interceptionContext, Action`2 intercept)
DbCommandTreeDispatcher.Created(DbCommandTree commandTree, DbInterceptionContext interceptionContext)
DbProviderServices.CreateCommandDefinition(DbCommandTree commandTree, DbInterceptionContext interceptionContext)
EntityCommandDefinition.ctor(DbProviderFactory storeProviderFactory, DbCommandTree commandTree, DbInterceptionContext interceptionContext, IDbDependencyResolver resolver, BridgeDataReaderFactory bridgeDataReaderFactory, ColumnMapFactory columnMapFactory)

Yes, I took a look and realized that it needs more investigating, as
previous 3.2.0 is also erroring.
I'll hopefully do this today.
On Fri, 21 Jan 2022, 00:53 Jonathan Magnan, @.***>
wrote:

Hello @worthy7 https://github.com/worthy7 ,
You are right, the error is caused by the SqlLQuery which is used inside
for this ConcurrentDictionary.
However, my question is more about how/why is happening? Such as do you
share this context in multiple threads or is it really a bug in our library!
Do you think you could create a runnable project with the issue? It
doesn’t need to be your project, just a new solution with the minimum code
to reproduce the issue. You can send it in private here:
@.***
It will be easier for us to understand/try to fix it if we already have a
project that throw this error.
Best Regards,
Jon
—
Reply to this email directly, view it on GitHub
https://github.com/zzzprojects/EntityFramework.DynamicFilters/issues/180#issuecomment-1017649973,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABEKWH4LIFY546XJWK3DEUTUXAVYVANCNFSM5MMDDLSQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***
com>

Problem is nothing to do with EF.DF at least, closed - sorry for the trouble!


chore: wrap individual screens with error boundary

This PR resolves []
Description
This PR fixes this issue raised by @gkartalis.
The problem here is that when an error happens, the outer error boundary intercepts it. But since that error boundary is situated above the navigation (it's defined in Providers), it is not with the navigation container context and it gets a null value for the internal_navigationRef.
The solution here is to wrap every screen with an error boundary.
https://github.com/user-attachments/assets/a654ba6a-5909-4bd5-8fc0-ef1912fa8e06

PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

wrap individual screens with error boundary - mounir

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (wrap individual screens with error boundary - mounir - MounirDhahri)

  Generated by :no_entry_sign: dangerJS against 976159b57ab73559d405562dac2e7eb814948318


shotcut: 17.11 -> 18.03

Semi-automatic update. These checks were done:

built on NixOS
Warning: no binary found that responded to help or version flags. (This warning appears even if the package isn't expected to have binaries.)
found 18.03 with grep in /nix/store/hpmghy84jrj0imp74fsw4p1k4d5h75iy-shotcut-18.03
found 18.03 in filename of file in /nix/store/hpmghy84jrj0imp74fsw4p1k4d5h75iy-shotcut-18.03

cc @cillianderoiste

Failure on aarch64-linux (full log)
Partial log (click to expand)
error: while evaluating the attribute 'buildInputs' of the derivation 'shotcut-18.03' at /var/lib/gc-of-borg/nix-test-rs-21/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-21/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'buildInputs' of the derivation 'mlt-6.6.0' at /var/lib/gc-of-borg/nix-test-rs-21/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-21/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'preConfigure' of the derivation 'opencv-3.4.1' at /var/lib/gc-of-borg/nix-test-rs-21/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-21/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating 'installExtraFiles' at /var/lib/gc-of-borg/nix-test-rs-21/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-21/pkgs/development/libraries/opencv/3.x.nix:129:23, called from /var/lib/gc-of-borg/nix-test-rs-21/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-21/pkgs/development/libraries/opencv/3.x.nix:170:5:
while evaluating 'mapAttrsToList' at /var/lib/gc-of-borg/nix-test-rs-21/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-21/lib/attrsets.nix:223:23, called from /var/lib/gc-of-borg/nix-test-rs-21/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-21/pkgs/development/libraries/opencv/3.x.nix:131:23:
while evaluating the attribute 'files' at /var/lib/gc-of-borg/nix-test-rs-21/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-21/pkgs/development/libraries/opencv/3.x.nix:65:5:
ICV is not available for this platform (or not yet supported by this package)

Failure on x86_64-darwin (full log)
Partial log (click to expand)
Package ‘shotcut-18.03’ in /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/applications/video/shotcut/default.nix:41 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/hpmghy84jrj0imp74fsw4p1k4d5h75iy-shotcut-18.03
shrinking /nix/store/hpmghy84jrj0imp74fsw4p1k4d5h75iy-shotcut-18.03/bin/.shotcut-wrapped
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/hpmghy84jrj0imp74fsw4p1k4d5h75iy-shotcut-18.03/bin
patching script interpreter paths in /nix/store/hpmghy84jrj0imp74fsw4p1k4d5h75iy-shotcut-18.03
checking for references to /tmp/nix-build-shotcut-18.03.drv-0 in /nix/store/hpmghy84jrj0imp74fsw4p1k4d5h75iy-shotcut-18.03...
postPatchMkspecs
postPatchMkspecs
/nix/store/hpmghy84jrj0imp74fsw4p1k4d5h75iy-shotcut-18.03

Upstream has since released 18.03.06 to fix several bugs in the 18.03 release, however there is no tag for that release.

See https://github.com/mltframework/shotcut/issues/543


test: Increase build VM RAM to 4GB

Building the CLI requires a large amount of RAM due to the embedded installer.

LGTM


AWS ExternalLoadBalancer not supported

I've setup a cluster on AWS. I'm trying to expose a simple service with --type=LoadBalancer. The service is created but the loadbalancer isn't actually created, doing a kubectl get services will show that the service is stuck in pending
Debugging a bit, the log of the ControllerManager on the master is:
{"log":"E1106 22:45:48.491273       1 core.go:67] Failed to start service controller: WARNING: no cloud provider provided, services of type LoadBalancer will fail.\n","stream":"stderr","time":"2017-11-06T22:45:48.491578641Z"}
And indeed connecting to the master and and inspecting the kube-controller-manager returns:
[
    {
        "Id": "dbd07dea77097c18b78e299fc82ea15f979574c34df50969e445b1378e50482a",
        "Created": "2017-11-06T22:45:27.028493827Z",
        "Path": "kube-controller-manager",
        "Args": [
            "--kubeconfig=/etc/kubernetes/controller-manager.conf",
            "--service-account-private-key-file=/etc/kubernetes/pki/sa.key",
            "--cluster-signing-key-file=/etc/kubernetes/pki/ca.key",
            "--controllers=*,bootstrapsigner,tokencleaner",
            "--root-ca-file=/etc/kubernetes/pki/ca.crt",
            "--cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt",
            "--address=<IP_ADDRESS>",
            "--leader-elect=true",
            "--use-service-account-credentials=true"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 4765,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2017-11-06T22:45:27.132376131Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },

so, I don't think I'm doing anything wrong as this entirely depends on how the master node is booted, but it appears that currently kubicorn actually does not support cloud-providers specific features such as exposing services with load balancers.
Digging a bit further to how kubeadm is used, this is the command launched on each node:
kubeadm init --apiserver-bind-port ${PORT} --token ${TOKEN}  --apiserver-advertise-address ${PUBLICIP} --apiserver-cert-extra-sans ${PUBLICIP} ${PRIVATEIP}
So, next question is: does kubeadm actually supports cloud providers?
And it seems that the answer is ehhh, not really:
https://kubernetes.io/docs/admin/kubeadm/#cloud-provider-integrations-experimental
Can anyone confirm this?

Hi there. The biggest problem for now is kubeadm, which doesn't support Cloud Provider Integrations out-of-box. There are workarounds, and I planned to (try to) code it in kubicorn, however I can't really promise when. I'll try my best to make it out soon.
If you're interested, you can take over it, but be prepared for some serious bash hacking. :D Also, we need to find out what would be the best way for transferring sensitive data (e.g. credentials) to servers (Will just injecting them in user-data scripts do the job/be secure).


Readme include docker install guide

Just a quick note on docker install guides and command to quickly validate if docker and docker-machine exist on machine.

Woo! First outside PR!

I want to write a bit more installation guides from a perspective of no prior docker knowledge, once we get there.


COM4 board not available

Help me please! I flashed the board several times, but after loading the Tetris game on it, it stopped being displayed on the device panel, when the PC board is connected, it sees it, but when I try to load a new program, the com port disappears from the list. Thank you in advance
P.S. type-c cable is ok

It may be poor contact If you have hands-on ability, try to weld the TYPE-C seat


integration_tests with kafka_simple_basic arise data inconsistence

What did you do?
Expand the writing time of upstream and downstream.
	# upstream TiDB disable the cluster index
	run_sql "set global tidb_enable_clustered_index=0;" ${UP_TIDB_HOST} ${UP_TIDB_PORT}

	# upstream tidb cluster enable row level checksum
	run_sql "set global tidb_enable_row_level_checksum=true" ${UP_TIDB_HOST} ${UP_TIDB_PORT}

	TOPIC_NAME="ticdc-simple-basic-$RANDOM"

	run_cdc_server --workdir $WORK_DIR --binary $CDC_BINARY
	start_ts=$(run_cdc_cli_tso_query ${UP_PD_HOST_1} ${UP_PD_PORT_1})

	run_sql_file $CUR/data/pre_ddl.sql ${UP_TIDB_HOST} ${UP_TIDB_PORT}
	run_sql_file $CUR/data/data.sql ${UP_TIDB_HOST} ${UP_TIDB_PORT}

	sleep 10

	SINK_URI="kafka://<IP_ADDRESS>:9092/$TOPIC_NAME?protocol=simple"
	run_cdc_cli changefeed create --start-ts $start_ts --sink-uri="$SINK_URI" --config="$CUR/conf/changefeed.toml" -c "simple-basic"

	cdc_kafka_consumer --log-level debug --upstream-uri $SINK_URI --downstream-uri="mysql://root@<IP_ADDRESS>:3306/?safe-mode=true&batch-dml-enable=false" --upstream-tidb-dsn="root@tcp(${UP_TIDB_HOST}:${UP_TIDB_PORT})/?" --config="$CUR/conf/changefeed.toml" 2>&1 &

	check_table_exists test.finish_mark_for_ddl ${DOWN_TIDB_HOST} ${DOWN_TIDB_PORT} 200

	# pause and resume changefeed makes sure changefeed sending bootstrap events
	# when it is resumed, so the data after pause can be decoded correctly
	run_cdc_cli changefeed pause -c "simple-basic"
	run_cdc_cli changefeed resume -c "simple-basic"

	# sync_diff can't check non-exist table, so we check expected tables are created in downstream first
	check_table_exists test.finish_mark ${DOWN_TIDB_HOST} ${DOWN_TIDB_PORT} 200
	check_sync_diff $WORK_DIR $CUR/conf/diff_config.toml

	run_sql_file $CUR/data/data_gbk.sql ${UP_TIDB_HOST} ${UP_TIDB_PORT}
	check_table_exists test.finish_mark ${DOWN_TIDB_HOST} ${DOWN_TIDB_PORT} 200
	check_sync_diff $WORK_DIR $CUR/conf/diff_config.toml

What did you expect to see?
kafka_simple_basic case success
What did you see instead?
The data of test.tp_time is not equal
-- table: test.tp_time
-- range in sequence: Full
set @@session.time_zone = "+0:00";
/*
  DIFF COLUMNS ╏    `C TIMESTAMP2`
╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍
  source data  ╏ '2024-09-10 02:23:24'
╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍
  target data  ╏ '2024-09-10 02:24:15'
╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍
*/
REPLACE INTO `test`.`tp_time`(`id`,`c_date`,`c_datetime`,`c_timestamp`,`c_time`,`c_year`,`c_timestamp2`) VALUES (1,'2024-07-04','2024-07-04 07:00:00','2024-07-04 04:00:00','15:23:45',2024,'2024-09-10 02:23:24');
/*
  DIFF COLUMNS ╏    `C TIMESTAMP2`
╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍
  source data  ╏ '2024-09-10 02:23:24'
╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍
  target data  ╏ '2024-09-10 02:24:15'
╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍
*/
REPLACE INTO `test`.`tp_time`(`id`,`c_date`,`c_datetime`,`c_timestamp`,`c_time`,`c_year`,`c_timestamp2`) VALUES (5,'2024-03-09','2022-02-22 14:22:22','2020-02-19 18:20:20','02:20:20',2021,'2024-09-10 02:23:24');

Versions of the cluster
Upstream TiDB cluster version (execute SELECT tidb_version(); in a MySQL client):
master

Upstream TiKV version (execute tikv-server --version):
master

TiCDC version (execute cdc version):
master

The root reason is that TiCDC can't ensure the default value of dynamic generation consistency.  some rows before executing alter table tp_time add column c_timestamp2 timestamp default now(); cause this error.


Call to undefined function Auth

Hi everyone,
I followed the install procedures, and required the composer autoloader file, but the classes are still not loaded.
What I did:

Installed composer globally
Required this package (in the vendor directory I can see it with all its dependencies)
Required the autoloader inside the php file
Used the Auth function

Here it is my code:
require __DIR__.'/../vendor/autoload.php';
require __DIR__.'/../secured/settings.php';

try {
    $conn = new PDO("mysql:host=$db_host;dbname=$db", $public_user, $public_password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}

$auth = \Delight\Auth\Auth($conn);

At the last line it throws this error:
[Tue Apr 16 12:17:01.287393 2019] [:error] [pid 29181] [client <IP_ADDRESS>:49476] PHP Fatal error:  Call to undefined function Delight\\Auth\\Auth() in /var/www/site/dist/backend/signup.php on line 14
Executing "composer show -i" inside the folder shows that the packages are installed:
delight-im/auth   v8.1.0 Authentication for PHP. Simple, lightweight and secure.
delight-im/base64 v1.0.0 Simple and convenient Base64 encoding and decoding for PHP
delight-im/cookie v3.1.2 Modern cookie management for PHP
delight-im/db     v1.3.0 Safe and convenient SQL database access in a driver-agnostic way
delight-im/http   v2.0.0 Hypertext Transfer Protocol (HTTP) utilities for PHP

Is there something I'm missing?

First, thanks for your detailed description.
But yes, there’s indeed something you’ve missed:
\Delight\Auth\Auth is not a function but a constructor, so you have to prepend the new keyword.
As in (and as documented):
$auth = new \Delight\Auth\Auth($conn);

Thank you very much
... and sorry for missing such a smiple typo -.-


Extend spring-rest-query-language tutorial with "in" operation

Very very useful tutorial.  May I suggest extending spring-rest-query-language with operation "in" - i.e., test if a value is a member of a set?  I think it would involve extending the specification class's toPredicate() method with code along these lines:
	if (!(criteria.getValue() instanceof List))
		throw new IllegalArgumentException("Not list: " + criteria.getValue());
	List<?> list = (List<?>) criteria.getValue();
	Expression<String> exp = root.<String>get(criteria.getKey());
	return exp.in(list);

Hey @chrisinmtown - I'm glad you enjoyed that article (and series).
The thing is - there are a number of interesting options we could include in the QL (including an "in" operation), but it would be a lot of work to cover all of them.
My thinking is that the article shows you a baseline of how to tackle a QL implementation - and then, that can be further extended as needed.
That being said, you can always write a guest article - if you're working on that :)
Hope that makes sense.
Cheers,
Eugen.

This is how I did it:
public class DefaultSpecification <T> implements Specification<T> {
    // ...
    @Override
    public Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
        switch (criteria.getOperation()) {
            // ...
            case COLLECTION_CONTAINS:
                return builder.isMember(criteria.getValue(), root.get(criteria.getKey()));
            // ...
        }
    }
}

And use it like this:
DefaultSpecificationsBuilder<EntityType> builder = new DefaultSpecificationsBuilder<EntityType>();
builder.with(null, "collectionName", "whateverSymbolYouChoose", objectInCollection, null, null);

Interesting, thanks for posting this @GuiRitter.
Cheers,
Eugen.


Expiration policy timeouts specified using @Value annotations overflow in some cases

If you are specifying values of over (roughly) 24 days in seconds (in cas.properties) the expressions
/** Maximum time this ticket is valid.  */
@Value("#{${tgt.maxTimeToLiveInSeconds:28800}*1000}")
private long maxTimeToLiveInMilliSeconds;

will result in negative integer values being assigned to the long fields. So in cas.properties:
# (1) does not work, overflows to negative integer
tgt.maxTimeToLiveInSeconds=7776000

# (2) works
tgt.maxTimeToLiveInSeconds=7776000L

This is unexpected for the end user, since it immediately invalidates his just created tickets most of the time.

This needs to be very clearly documented (the long 'L') postfix semantics,
since we are dealing with longs and Java's implicit integer conversions,
etc. 'L' postfix in these config values must always be required!
On Mon, Mar 7, 2016 at 01:20 Auke van Leeuwen<EMAIL_ADDRESS>wrote:

If you are specifying values of over (roughly) 24 days in seconds (in
cas.properties) the expressions
/** Maximum time this ticket is valid.  */
@Value("#{${tgt.maxTimeToLiveInSeconds:28800}*1000}")
private long maxTimeToLiveInMilliSeconds;
will result in negative integer values being assigned to the long fields.
So in cas.properties:
(1) does not work, overflows to negative integer
tgt.maxTimeToLiveInSeconds=7776000
(2) works
tgt.maxTimeToLiveInSeconds=7776000L
This is unexpected for the end user, since it immediately invalidates his
just created tickets most of the time.
—
Reply to this email directly or view it on GitHub
https://github.com/Jasig/cas/issues/1599.

@dima767 well that should not be necessary anymore (if you merge the PR) since I'm forcing the expression to be calculated using longs by postfixing the 1000 with an L instead. If one of the two operands is a long the result will also be a long.

The PR is merged, should I close the issue?

Yes please.


Updated expectedOrder frames on marble test example in docs

The expected frames did not match with the source frames.
https://stackblitz.com/edit/observer-spy-pr44?file=index.spec.js

Thanks @armanozak !

@all-contributors please add @armanozak for documentation


The packet loss rate of UDP increases with the increase of bandwidth

The packet loss rate of UDP increases with the increase of bandwidth, when the bandwidth is greater than 10M
see https://github.com/kubernetes/kubernetes/issues/56706
Expected Behavior
The packet loss rate of UDP is zero.
Current Behavior
The packet loss rate of UDP increases with the increase of bandwidth, when the bandwidth is greater than 10M
Possible Solution
N/A

Steps to Reproduce (for bugs)

deploy k8s cluster && calico

N/A

deploy iperf3

[root@autoscaler-5y7d3h ~]# kubectl get po -n admin -owide |grep iperf
iperf-5597f66d74-kdsnz                     1/1       Running            0          1h        <IP_ADDRESS>      k8s-node-8
iperf-server-6d5f9686b4-56scs              1/1       Running            0          3h        <IP_ADDRESS>    k8s-node-2

using iperf3 to test packet loss rate of udp

   iperf3 -uZVc <IP_ADDRESS> -P 1 -t 60 --get-server-output
   iperf3 -uZVc <IP_ADDRESS> -P 1 -t 60 -b 10M --get-server-output
   iperf3 -uZVc <IP_ADDRESS> -P 1 -t 60 -b 11M --get-server-output
   iperf3 -uZVc <IP_ADDRESS> -P 1 -t 60 -b 12M --get-server-output
   iperf3 -uZVc <IP_ADDRESS> -P 1 -t 60 -b 15M --get-server-output
   iperf3 -uZVc <IP_ADDRESS> -P 1 -t 60 -b 20M --get-server-output
   iperf3 -uZVc <IP_ADDRESS> -P 1 -t 60 -b 50M --get-server-output
   iperf3 -uZVc <IP_ADDRESS> -P 1 -t 60 -b 100M --get-server-output

results

root@iperf-5597f66d74-kdsnz:/# iperf3 -uZVc <IP_ADDRESS> -P 1 -t 60 -b 11M --get-server-output
iperf 3.0.7
Linux iperf-5597f66d74-kdsnz 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 GNU/Linux
Time: Wed, 12 Sep 2018 06:44:15 GMT
Connecting to host <IP_ADDRESS>, port 5201
      Cookie: iperf-5597f66d74-kdsnz.1536734655.92
[  4] local <IP_ADDRESS> port 48252 connected to <IP_ADDRESS> port 5201
Starting Test: protocol: UDP, 1 streams, 8192 byte blocks, omitting 0 seconds, 60 second test
[ ID] Interval           Transfer     Bandwidth       Total Datagrams
[  4]   0.00-1.00   sec  1.19 MBytes  9.96 Mbits/sec  152
[  4]   1.00-2.00   sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]   2.00-3.00   sec  1.30 MBytes  10.9 Mbits/sec  167
[  4]   3.00-4.00   sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]   4.00-5.00   sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]   5.00-6.00   sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]   6.00-7.00   sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]   7.00-8.00   sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]   8.00-9.00   sec  1.30 MBytes  10.9 Mbits/sec  167
[  4]   9.00-10.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  10.00-11.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  11.00-12.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  12.00-13.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  13.00-14.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  14.00-15.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  15.00-16.00  sec  1.30 MBytes  10.9 Mbits/sec  167
[  4]  16.00-17.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  17.00-18.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  18.00-19.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  19.00-20.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  20.00-21.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  21.00-22.00  sec  1.30 MBytes  10.9 Mbits/sec  167
[  4]  22.00-23.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  23.00-24.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  24.00-25.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  25.00-26.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  26.00-27.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  27.00-28.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  28.00-29.00  sec  1.30 MBytes  10.9 Mbits/sec  167
[  4]  29.00-30.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  30.00-31.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  31.00-32.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  32.00-33.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  33.00-34.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  34.00-35.00  sec  1.30 MBytes  10.9 Mbits/sec  167
[  4]  35.00-36.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  36.00-37.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  37.00-38.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  38.00-39.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  39.00-40.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  40.00-41.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  41.00-42.00  sec  1.30 MBytes  10.9 Mbits/sec  167
[  4]  42.00-43.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  43.00-44.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  44.00-45.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  45.00-46.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  46.00-47.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  47.00-48.00  sec  1.30 MBytes  10.9 Mbits/sec  167
[  4]  48.00-49.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  49.00-50.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  50.00-51.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  51.00-52.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  52.00-53.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  53.00-54.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  54.00-55.00  sec  1.30 MBytes  10.9 Mbits/sec  167
[  4]  55.00-56.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  56.00-57.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  57.00-58.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  58.00-59.00  sec  1.31 MBytes  11.0 Mbits/sec  168
[  4]  59.00-60.00  sec  1.31 MBytes  11.0 Mbits/sec  168
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete.  Summary Results:
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-60.00  sec  71.4 MBytes  9.98 Mbits/sec  0.039 ms  0/9141 (0%)
[  4] Sent 9141 datagrams
CPU Utilization: local/sender 0.5% (0.0%u/0.4%s), remote/receiver 0.2% (0.0%u/0.2%s)

Server output:
-----------------------------------------------------------
Accepted connection from <IP_ADDRESS>, port 49524
[  6] local <IP_ADDRESS> port 5201 connected to <IP_ADDRESS> port 57573
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  6]   0.00-1.00   sec  1.08 MBytes  9.04 Mbits/sec  0.053 ms  0/138 (0%)
[  6]   1.00-2.00   sec  1.20 MBytes  10.0 Mbits/sec  0.065 ms  0/153 (0%)
[  6]   2.00-3.00   sec  1.19 MBytes  9.96 Mbits/sec  0.025 ms  0/152 (0%)
[  6]   3.00-4.00   sec  1.20 MBytes  10.0 Mbits/sec  0.027 ms  0/153 (0%)
[  6]   4.00-5.00   sec  1.19 MBytes  9.96 Mbits/sec  0.063 ms  0/152 (0%)
[  6]   5.00-6.00   sec  1.20 MBytes  10.0 Mbits/sec  0.116 ms  0/153 (0%)
[  6]   6.00-7.00   sec  1.19 MBytes  9.96 Mbits/sec  0.041 ms  0/152 (0%)
[  6]   7.00-8.00   sec  1.20 MBytes  9.98 Mbits/sec  0.057 ms  0/153 (0%)
[  6]   8.00-9.00   sec  1.20 MBytes  10.1 Mbits/sec  0.024 ms  0/153 (0%)
[  6]   9.00-10.00  sec  1.19 MBytes  9.97 Mbits/sec  0.049 ms  0/152 (0%)
[  6]  10.00-11.00  sec  1.20 MBytes  10.0 Mbits/sec  0.027 ms  0/153 (0%)
[  6]  11.00-12.00  sec  1.19 MBytes  9.96 Mbits/sec  0.077 ms  0/152 (0%)
[  6]  12.00-13.00  sec  1.20 MBytes  10.0 Mbits/sec  0.041 ms  0/153 (0%)
[  6]  13.00-14.00  sec  1.20 MBytes  10.0 Mbits/sec  0.046 ms  0/153 (0%)
[  6]  14.00-15.00  sec  1.19 MBytes  9.96 Mbits/sec  0.059 ms  0/152 (0%)
[  6]  15.00-16.00  sec  1.20 MBytes  10.0 Mbits/sec  0.032 ms  0/153 (0%)
[  6]  16.00-17.00  sec  1.19 MBytes  9.96 Mbits/sec  0.058 ms  0/152 (0%)
[  6]  17.00-18.00  sec  1.20 MBytes  10.0 Mbits/sec  0.222 ms  0/153 (0%)
[  6]  18.00-19.00  sec  1.19 MBytes  9.96 Mbits/sec  0.036 ms  0/152 (0%)
[  6]  19.00-20.00  sec  1.20 MBytes  10.0 Mbits/sec  0.038 ms  0/153 (0%)
[  6]  20.00-21.00  sec  1.20 MBytes  10.0 Mbits/sec  0.098 ms  0/153 (0%)
[  6]  21.00-22.00  sec  1.19 MBytes  9.96 Mbits/sec  0.058 ms  0/152 (0%)
[  6]  22.00-23.00  sec  1.20 MBytes  10.0 Mbits/sec  0.169 ms  0/153 (0%)
[  6]  23.00-24.00  sec  1.19 MBytes  9.97 Mbits/sec  0.113 ms  0/152 (0%)
[  6]  24.00-25.00  sec  1.20 MBytes  10.0 Mbits/sec  0.079 ms  0/153 (0%)
[  6]  25.00-26.00  sec  1.20 MBytes  10.0 Mbits/sec  0.055 ms  0/153 (0%)
[  6]  26.00-27.00  sec  1.19 MBytes  9.96 Mbits/sec  0.022 ms  0/152 (0%)
[  6]  27.00-28.00  sec  1.20 MBytes  10.0 Mbits/sec  0.055 ms  0/153 (0%)
[  6]  28.00-29.00  sec  1.19 MBytes  9.96 Mbits/sec  0.064 ms  0/152 (0%)
[  6]  29.00-30.00  sec  1.20 MBytes  10.0 Mbits/sec  0.020 ms  0/153 (0%)
[  6]  30.00-31.00  sec  1.20 MBytes  10.0 Mbits/sec  0.070 ms  0/153 (0%)
[  6]  31.00-32.00  sec  1.19 MBytes  9.97 Mbits/sec  0.059 ms  0/152 (0%)
[  6]  32.00-33.00  sec  1.20 MBytes  10.0 Mbits/sec  0.572 ms  0/153 (0%)
[  6]  33.00-34.00  sec  1.19 MBytes  9.96 Mbits/sec  0.023 ms  0/152 (0%)
[  6]  34.00-35.00  sec  1.20 MBytes  10.0 Mbits/sec  0.033 ms  0/153 (0%)
[  6]  35.00-36.00  sec  1.19 MBytes  9.97 Mbits/sec  0.032 ms  0/152 (0%)
[  6]  36.00-37.00  sec  1.20 MBytes  10.0 Mbits/sec  0.059 ms  0/153 (0%)
[  6]  37.00-38.00  sec  1.20 MBytes  10.0 Mbits/sec  0.260 ms  0/153 (0%)
[  6]  38.00-39.00  sec  1.19 MBytes  9.96 Mbits/sec  0.026 ms  0/152 (0%)
[  6]  39.00-40.00  sec  1.20 MBytes  10.0 Mbits/sec  0.051 ms  0/153 (0%)
[  6]  40.00-41.00  sec  1.19 MBytes  9.96 Mbits/sec  0.034 ms  0/152 (0%)
[  6]  41.00-42.00  sec  1.20 MBytes  10.0 Mbits/sec  0.032 ms  0/153 (0%)
[  6]  42.00-43.00  sec  1.20 MBytes  10.0 Mbits/sec  0.030 ms  0/153 (0%)
[  6]  43.00-44.00  sec  1.19 MBytes  9.96 Mbits/sec  0.042 ms  0/152 (0%)
[  6]  44.00-45.00  sec  1.20 MBytes  10.0 Mbits/sec  0.047 ms  0/153 (0%)
[  6]  45.00-46.00  sec  1.19 MBytes  9.96 Mbits/sec  0.036 ms  0/152 (0%)
[  6]  46.00-47.00  sec  1.20 MBytes  10.0 Mbits/sec  0.174 ms  0/153 (0%)
[  6]  47.00-48.00  sec  1.20 MBytes  10.0 Mbits/sec  0.023 ms  0/153 (0%)
[  6]  48.00-49.00  sec  1.19 MBytes  9.96 Mbits/sec  0.042 ms  0/152 (0%)
[  6]  49.00-50.00  sec  1.20 MBytes  10.0 Mbits/sec  0.044 ms  0/153 (0%)
[  6]  50.00-51.00  sec  1.19 MBytes  9.96 Mbits/sec  0.043 ms  0/152 (0%)
[  6]  51.00-52.00  sec  1.20 MBytes  10.0 Mbits/sec  0.041 ms  0/153 (0%)
[  6]  52.00-53.00  sec  1.19 MBytes  9.96 Mbits/sec  0.029 ms  0/152 (0%)
[  6]  53.00-54.00  sec  1.20 MBytes  10.0 Mbits/sec  0.071 ms  0/153 (0%)
[  6]  54.00-55.00  sec  1.20 MBytes  10.0 Mbits/sec  0.061 ms  0/153 (0%)
[  6]  55.00-56.00  sec  1.19 MBytes  9.96 Mbits/sec  0.051 ms  0/152 (0%)
[  6]  56.00-57.00  sec  1.20 MBytes  10.0 Mbits/sec  0.027 ms  0/153 (0%)
[  6]  57.00-58.00  sec  1.19 MBytes  9.97 Mbits/sec  0.065 ms  0/152 (0%)
[  6]  58.00-59.00  sec  1.20 MBytes  10.0 Mbits/sec  0.028 ms  0/153 (0%)
[  6]  59.00-60.00  sec  1.20 MBytes  10.0 Mbits/sec  0.039 ms  0/153 (0%)

iperf Done.
root@iperf-5597f66d74-kdsnz:/#

Context
N/A

Your Environment

Calico version:  v2.6.x
Orchestrator version (e.g. kubernetes, mesos, rkt):  kubernetes v1.9.8
Operating System and version:  CentOS 7.x
Link to your project (optional):

/cc @neiljerram  @caseydavenport

@JoshuaAndrew Given that UDP is an unreliable protocol, isn't it expected that there will be an increasing packet loss when the sending bandwidth is increased?

@JoshuaAndrew what is the bandwidth supported by your network cards? It seems to me from the output bove that 10M has no loss, but 11M has some loss. Are you using 10M NICs?

@neiljerram  @caseydavenport
It has been solved, Thanks a lot ,you can close this issue

@JoshuaAndrew Can you tell us a little bit about what was the issue and what solved it, please?

I'm having same issue in AWS EKS 1.16 + Calico 1.6
@JoshuaAndrew could you please share some information about how you solved this issue?


Mastodon Node: incorrect data type for retry arguments.

    def wait_for_object_in_inbox(self, actor_uri: str, object_uri: str) -> str:
# ...
        response = self._poll_until_result( # may throw
#...
            cast(int,self.parameter('inbox_wait_retry_count', '5')),
            cast(int, self.parameter('inbox_wait_retry_interval', '1')),

The cast doesn't convert the string default value to an int. It's just a type hint override. The parameter return value will need to be converted to an int (int(value)).

James Gosling, a long time ago, stated his principle that a programming language should be really easy to read. Nobody should ever have to guess what something might mean, and guess wrong half of the time. I've always very much agreed with that principle. There are clearly worse offenders than Python but ...


Fixes error codes in the API spec template

Uses UPPER_UNDERSCORE_CASE instead of the nice error message format
added in #911

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "fixErrorCodesInAPITemplate" git@github.com:BrianBland/distribution.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Ran make docs/spec/api.md and then API spec file didn't change :+1:

@BrianBland The "pretty" code is really only for error messages printed from a go process.  The actual error code value should be VERY_BIG_AND_LOUD.
Did #911 break that?

Yeah, before this change the template was automatically using the .Error() method on the error codes

@BrianBland Yuck. Just realized that. Looks like .Error() is favored over .String().
LGTM.

GCS driver tests seem to be broken right now due to the work on test env variables, but can we ignore that for this PR?

Temporarily disabled.  LGTM

Current coverage is 58.22%

Merging #1345 into master will increase coverage by +0.29% as of ac03070

@@            master   #1345   diff @@
======================================
  Files          123     123
  Stmts        11094   11094
  Branches       772     772
  Methods          0       0
======================================
+ Hit           6427    6460    +33
  Partial        772     772
+ Missed        3895    3862    -33

Review entire Coverage Diff as of ac03070

Uncovered Suggestions

+0.29% via ...ge/driver/gcs/gcs.go#185...216
+0.22% via ...ge/driver/gcs/gcs.go#474...497
+0.21% via ...ge/driver/gcs/gcs.go#124...146
See 7 more...

Powered by Codecov. Updated on successful CI builds.


How to chain multiple 'And' when checking exception with FluentAssertions

I wasn't able to have an answer on StackOverflow so I post the question directly on the FluentAssertions forum...
I have a unit test that validates that some code throws an exception and that two properties have the expected value. Here is how I do it:
var exception = target.Invoking(t => t.CallSomethingThatThrows())
    .ShouldThrow<WebServiceException>()
    .And;

exception.StatusCode.Should().Be(400);
exception.ErrorMessage.Should().Be("Bla bla...");

I don't like the look of the assertion that must be done in three statements. Is there an elegant way to do it in a single statement? My first intuition was to use something like this:
target.Invoking(t => t.CallSomethingThatThrows())
      .ShouldThrow<WebServiceException>()
      .And.StatusCode.Should().Be(400)
      .And.ErrorMessage.Should().Be("Bla bla...");

Unfortunately, this doesn't compile. Any idea on how to do it?

You can do something like:
target.Invoking(t => t.CallSomethingThatThrows())
.ShouldThrow()
.Where(e => e.StatusCode == 400)
.Where(e => e.ErrorMessage == "Bla bla...");

Looks good to me. Thanks!


Relevancy issue (ranking rules ?)

Describe the bug
Adding "Exactness" first into the ranking rules, doesn't work as expected.
To Reproduce
Steps to reproduce the behavior:

Adding some documents into an index
Try different queries
Check the results and their order displayed
See error

Expected behavior
I've updated the ranking rules of my index like this :
    "rankingRules": [
        "exactness",
        "words",
        "typo",
        "proximity",
        "attribute",
        "sort"
    ],

Regarding the examples I've understand things like this : with exactness first in the ranking rules, typing eric zemmour will give me first results with eric zemmour then results with one letter of difference (in the example : Knight and Knights).
So it's expected that if there is no result with eric zemmour, resultts with deric zemmour will be displayed first.
It's not the case (cf screenshots) and only results with eric are displayed first (because of the matching strategy)
Screenshots
All informations contained in these screenshots are publicy available into afnic website.
Results with "Eric Zemmour"

Results with Eric Zemmour

Results with Zemmour Eric

Results with Les Amis Zemmour Eric

Meilisearch version:
v0.29.1
Additional context

Hello @pokemaster974
I think the problem is that you're trying to query in the middle of the word (Deric). Meilisearch doesn't support this. It is a prefix-based search engine meaning documents are sorted by first comparing the search term against the beginning of each word in your dataset before the ranking rules are applied. This means if you search for “book”, Meilisearch will find documents containing “bookshop”, or "bookshelf" but not “yearbook”. I believe this explains why Meilisearch returned search results for Eric and Zemmour in that manner. Furthermore, enclosing your search term in double quotes typically returns only documents containing those terms in the order they were given. This type of search doesn't consider typos.
A workaround could be to split the words into a new document field such that the engine can use to prefix-search to retrieve the document. You can find more information here.
I hope this helps. Thanks

Hello @pokemaster974
I think the problem is that you're trying to query in the middle of the word (Deric). Meilisearch doesn't support this. It is a prefix-based search engine meaning documents are sorted by first comparing the search term against the beginning of each word in your dataset before the ranking rules are applied. This means if you search for “book”, Meilisearch will find documents containing “bookshop”, or "bookshelf" but not “yearbook”. I believe this explains why Meilisearch returned search results for Eric and Zemmour in that manner. Furthermore, enclosing your search term in double quotes typically returns only documents containing those terms in the order they were given. This type of search doesn't consider typos.
A workaround could be to split the words into a new document field such that the engine can use to prefix-search to retrieve the document. You can find more information here.
I hope this helps. Thanks

Hi @oluademola thanks for the reply.
I try some tests, and following your explaination typing Deri Zemmour will give me same results as Deric Zemmour.
But sadly it's not the case.
Ranking rules ares :
[
    "words",
    "exactness",
    "typo",
    "proximity",
    "attribute",
    "sort"
]

Deric Zemmour.

Deri Zemmour

Hello @pokemaster974
In my example, I provided one word as an example. The policy for word matching in Meilisearch is more than that and behaves differently when querying multiple words. When searching multiple words, Meilisearch sorts documents by decreasing the number of matching terms, which means that if no document contains all of the given terms, the last query term is removed, and so on. For example, Meilisearch will first return documents containing Deri and Zemmour, and then documents containing Deri, or documents containing Deric and Zemmour, and then documents containing Deric. You can find more information in the dedicated documentation. Additionally, you can customize how the words match with the matchingStrategy parameter
I hope this answers your question.

I close this issue due to a lack of answers. Nothing is definitive of course, feel free to ask to re-open if needed 😊


Add Kacper to CODEOWNERS

Description
The change adds @kacpersaw (me 🎉 ) to the list of code owners.

bors merge


Multi-level extend does not work

Description
When using extend of a settings files that extends yet another settings file, the entirely functionality breaks.
Steps to replicate
Repository A

Probot settings works fine here

repository:
  allow_squash_merge: true
  allow_merge_commit: false
  allow_rebase_merge: true

Repository B

Probot settings works fine here

_extends: repository-a
repository:
  allow_rebase_merge: false

Repository C

Probot settings stops working in this repository

_extends: repository-b
repository:
  description: "Repository C"

Ran into this 16 hours ago, thank you for tracking down the root cause! It causes a TypeError with the stack:
Plugin is not a constructor
    at Promise.all.Object.entries.map (/app/node_modules/probot-settings/lib/settings.js:24:14)
    at Array.map (<anonymous>)
    at Settings.update (/app/node_modules/probot-settings/lib/settings.js:19:52)
    at github.repos.getContent.then.res (/app/node_modules/probot-settings/lib/settings.js:8:49)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7)


"Undefined method purge_later" error when attaching file to file fragment in Rails 6

Note: For general questions and feature requests please leave a message
on Gitter: https://gitter.im/comfy/comfortable-mexican-sofa
Expected behavior
Upload file via page file fragment, pages#update should result in file being attached to fragment without error.
Actual behavior
Under Ruby 2.6.3 & Rails 6.0.0, during pages#update the following error is generated:
A NoMethodError occurred in pages#update:

undefined method `purge_later' for # <ActiveStorage::Attached::Many:0x00007f71be809260>

Steps to reproduce

Edit a page with a layout containing a file tag such as:
{{ cms:file slide_image, namespace: slide, render: false }}

Select an image file for the the file field (e.g. slide_image field)

Click "Update Page" button

This does not occur if the image is attached inline within a WYSIWYG content fragment.
System configuration
Rails version: 6.0.0
CMS version: 2.0.18
Ruby version: 2.6.3

I'm not sure why this isn't working, the Rails 6 documentation shows that ActiveStorage::Attached::Many should have a purge_later method (see https://api.rubyonrails.org/classes/ActiveStorage/Attached/Many.html#method-i-purge_later). If I debug the code I can successfully perform attachments.first.purge_later.

It seems that the default action for Rails 6 is to replace existing attachments, instead of append, so the #purge_later call might not even be required. See https://github.com/rails/rails/pull/36716

It appears that the aforementioned change in Rails 6's default action is for #update, #attach retains its append functionality.
That said, Rails 6 did have a change to the implementation of ActiveStorage::Attached::Many#purge & #purge_later: https://github.com/rails/rails/commit/f9a5839083e697f0d5aad6d9304cd5f26e2a7a11.

@morgant I am unable to attach through the WYSIWYG as you mention above. I get an infinite loop when attaching a file:
https://gist.github.com/nitsujri/7b0a815d1702f159860a9a679f70abb4
It appears to be trying to add and then immediately purge the blob? I'm not 100% sure/understand.
I am running a similar setup:
Ruby 2.6.4
Rails 6.0.0
Let me know if I can help. I have to downgrade my Rails version since we cannot upload images to blog posts/pages

@nitsujri Thanks, upon further investigation, I'm getting an infinite loop if I comment out the purge_later call. In fact, the purge_later works fine on the first iteration and fails on the second.

@nitsujri It looks like this may be a bug in Rails 6.0 related to #attach and after_save callbacks: https://github.com/rails/rails/issues/37022

@nitsujri Changing the after_save callbacks in app/models/comfy/cms/fragment.rb seems to resolve the issue in my testing. I can't yet explain precisely why and it doesn't fix https://github.com/rails/rails/issues/37022, but I'm curious if it has a positive effect in your environment.

@nitsujri This is essentially the same fix as PR #892, but for Comfy::Cms::Fragment as well as Comfy::Cms::File.

@morgant Ah yep, that worked!
https://github.com/nitsujri/comfy-activestorage-example/tree/fixed
The example has a fixed branch now working, and I tested it on our actual app which works great too.
Love to see this merged in asap =)

Now that PR #892 applies the fix for Comfy::Cms::Fragment as well, this is working for me. Will close when PR #892 is merged.

PR #899—a duplicate of PR #892—was merged, so this can be closed.


Make system-wide install default

As by @hamishwillee's suggestions in #70:

Make system install the default

If someone does this build on windows fail and display a message "System install not supported on windows - do THE COMMAND to build locally

Make docs build against system install path (doxygen config file change).
Example code has to stay the same - that should build on windows too.
Docs change to separate out how you can point to local installs as a separate topic.

This is done in #73 for Linux. Windows remains local because that's how it is generally done in the Windows world.

Understand your point, but this does make our docs quite complicated :-(

As far as I read up on it for Windows you add dependencies locally. The global install location would be C:\Windows\system32 but we all remember the dll hell that produced and it doesn't seem to be recommended anymore.

So where do people install shared binaries? More specifically, what will we do if we supply a binary release of DroneCore for Windows?

It gets included in the exe or if linked dynamically supplied in the folder with the exe, I think.

@Stifael Re https://github.com/dronecore/DroneCore/issues/73#issuecomment-380083682
The documentation is correct and up to date according to our process. The master reflects the current released version (0.1) which is VERY old. The develop reflects the head revision. When we make a release the master in both source code and docs will be updated to the current release version.
The problem here is that we haven't made a release forever, and it is easy to read the master instructions, which have very little to do with how people actually use the system (we encourage everyone to use develop).
Upshot, if you use the develop docs and develop branch the docs definitely work. The master docs and master branch should work too - but I have not made too much effort to backport docs because a new release has been imminent for ... ever.


make DatasetWrapper optional when calling wrap_model and improve README documentation

improve README documentation to showcase the dataset wrapper
make the DatasetWrapper optional when calling the wrap_model function to simplify the API
add basic tests for calling wrap_model without wrapping the dataset

Codecov Report

Merging #38 (17b74c2) into main (9560c72) will increase coverage by 0.13%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #38      +/-   ##
==========================================
+ Coverage   59.16%   59.29%   +0.13%
==========================================
  Files          12       12
  Lines         906      909       +3
==========================================
+ Hits          536      539       +3
  Misses        370      370

Flag
Coverage Δ

unittests
59.29% <100.00%> (+0.13%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

python/ml_wrappers/dataset/dataset_wrapper.py
26.01% <ø> (ø)

python/ml_wrappers/model/model_wrapper.py
74.28% <100.00%> (+0.37%)
:arrow_up:

Continue to review full report at Codecov.

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


HUD Rework

First iteration of the new HUD. Features:

New HUD design
New HUD textures
Skill ready to use effect
Skill cooldown visual feedback
Rotating switch icon
Ability duration visual feedback (just ultimate right now)
Swapping skills panels effect when switching between Onimaru/Fang
Swapping health bars effect when switching between Onimaru/Fang
Health regeneration
Lost health bar visual feedback when hit

You can try the new HUD in the Level1_NEW_HUD_Final.scene.
After merging this first iteration, we'll keep working on adding details and features that could not make it to Alpha 1.5

Task linked: CU-p5b6hz UI HUD Redesign


add to bioconda

Are there any plans on adding EukDetect to bioconda? While EukDetect is itself a pipeline, I'm guessing many users (such as myself) would like to integrate it into a large pipeline. bioconda makes such software integration/management straight-forward, as shown in your README for the setup of EukDetect. A bioconda recipe for a snakemake pipeline is a bit more difficult than say a python package, but it should be doable.

Thanks for this point. Adding to bioconda is on the to-do list.


move left and right?

Thanks for the plugin! I have created a News Ticker block for WordPress and Headway Themes.
I was just wondering how hard it would be to get it to scroll left and right?

+1

+1 left and right stock ticker style

＋1

+1


Apply backend.result_type to append, average, broadcast_to, concatenate, copy, count_nonzero, cross, diag*, diff and digitize

In addition to the applying backend.result_type, I have cleaned up the dtype tests of convert_to_tensor.

Add test for ops.convert_to_tensor(())
Add tests for ops.convert_to_tensor(..., dtype=...)
Move test_is_tensor to CoreOpsCorrectnessTest

Currently, the status of ops applied backend.result_type is as follows:

[x] abs
[x] absolute
[x] add
[x] all
[x] amax
[x] amin
[x] append
[x] arange
[x] arccos
[x] arccosh
[x] arcsin
[x] arcsinh
[x] arctan
[x] arctan2
[x] arctanh
[x] argmax
[x] argmin
[x] argsort
[x] array
[x] average
[x] bincount
[x] broadcast_to
[x] ceil
[x] clip
[x] concatenate
[ ] conj  (Keras does not directly support complex data)
[ ] conjugate  (Keras does not directly support complex data)
[x] copy
[x] cos
[x] cosh
[x] count_nonzero
[x] cross
[ ] cumprod  (left for #18734)
[ ] cumsum (left for #18734)
[x] diag
[x] diagonal
[x] diff
[x] digitize
[x] divide
[x] dot
[ ] einsum
[x] empty
[x] equal
[x] exp
[ ] expand_dims
[x] expm1
[x] eye
[ ] flip
[ ] floor
[x] full
[ ] full_like
[x] greater
[x] greater_equal
[ ] hstack
[x] identity
[ ] imag
[ ] interp
[ ] isclose
[ ] isfinite
[ ] isinf
[ ] isnan
[x] less
[x] less_equal
[x] linspace
[x] log
[x] log10
[x] log1p
[x] log2
[x] logaddexp
[x] logical_and
[x] logical_not
[x] logical_or
[x] logspace
[x] matmul
[x] max
[x] maximum
[x] mean
[x] median
[ ] meshgrid
[ ] mgrid
[x] min
[x] minimum
[x] mod
[ ] moveaxis
[x] multiply
[x] nan_to_num
[ ] ndim
[ ] nonzero
[x] not_equal
[x] ones
[ ] ones_like
[ ] outer
[ ] pad
[ ] percentile
[ ] power
[ ] prod
[x] quantile
[ ] ravel
[ ] real
[ ] reciprocal
[ ] repeat
[ ] reshape
[ ] roll
[ ] round
[ ] sign
[x] sin
[x] sinh
[ ] size
[ ] sort
[ ] split
[x] sqrt
[ ] square
[ ] squeeze
[ ] stack
[ ] std
[x] subtract
[x] sum
[ ] swapaxes
[ ] take
[ ] take_along_axis
[x] tan
[x] tanh
[ ] tensordot
[ ] tile
[ ] trace
[ ] transpose
[x] tri
[ ] tril
[ ] triu
[ ] true_divide
[ ] vdot
[ ] vstack
[ ] where
[x] zeros
[ ] zeros_like

Codecov Report
Attention: 63 lines in your changes are missing coverage. Please review.

Comparison is base (21a3c0b) 61.73% compared to head (e86dad9) 56.17%.

Files
Patch %
Lines

keras/backend/tensorflow/numpy.py
14.28%
26 Missing and 4 partials :warning:

keras/backend/torch/numpy.py
0.00%
23 Missing :warning:

keras/backend/jax/numpy.py
9.09%
10 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #18779      +/-   ##
==========================================
- Coverage   61.73%   56.17%   -5.56%
==========================================
  Files         336      336
  Lines       34056    34145      +89
  Branches     6672     6693      +21
==========================================
- Hits        21025    19182    -1843
- Misses      11627    13506    +1879
- Partials     1404     1457      +53

Flag
Coverage Δ

keras
56.17% <41.66%> (-5.56%)
:arrow_down:

keras-jax
?

keras-numpy
56.17% <41.66%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

The speedup test in py_dataset_adapter_test.py failed but when I ran it in my local env, it passed.
Could this be a false alarm?


Convert to Danger JS

Re: https://twitter.com/orta/status/795607307396796418
This might take a few CI iterations, I've never handled regexes in JavaScript. Looks like all of the features you use in Danger rb are in DangerJS now.

Alright, I don't have any more time today to wrap this up, you're welcome to give it a look through ( and/or make some changes ) but it should be good to go 👍  (We got a message from Danger earlier as a test, which was later deleted )

Let's rebase and merge this and do the Regexp stuff in another PR! (I can do that)

👍

OK, this is good to go.


Caves cleaned up + new games mostly Zoltan's

First I added all known Zoltan's games, but I've found that listed below game sets are almost identical in first 30 games up to MD5:

Auto_Dash
Bee_Dash
Fire_Ant_Dash
Golden_Boulder-Who_Dares_Wins
Invasion_Dash
Mushroom_Dash
Nucleal_Dash
Pinocchio_Dash
Robot_Dash
Skateboard_Dash

So I decided to leave only two of them:

Golden_Boulder-Who_Dares_Wins
Robot_Dash
because they have more than 30 games and differ after 30th game.

I zipped all other games and put them to /caves/Scserbin_Zoltan/ folder, I hope zips won't interfere makefile.
The games won't be able to viewed from GDash, but if somehow someone will decide to play them, he (she) can unzip them and play themselves (despite the fact that they are identical to Robot_Dash and Golden_Boulder-Who_Dares_Wins).

Please avoid '-' in cave dir names. Replaced with underscore.

Ok, are single quotes (') allowed?

No:
$ ./create_makefile.sh
$ make
 cd .. && automake-1.16 --gnu caves/Makefile
caves/Makefile.am:619: error: bad characters in variable name 'Test'testdir'
caves/Makefile.am:620: error: bad characters in variable name 'Test'test_CAVES'
caves/Makefile.am:621: error: bad characters in variable name 'Test'test_DATA'
caves/Makefile.am:621: warning: Test'test_CAVES: non-POSIX variable name
caves/Makefile.am:675: warning: Test'test_CAVES: non-POSIX variable name
/usr/share/automake-1.16/am/data.am: warning: Test'testdir: non-POSIX variable name
caves/Makefile.am:621:   while processing 'Test'test_DATA'
automake-1.16: warning: Test'test_DATA: non-POSIX variable name
make: *** [Makefile:3073: Makefile.in] Error 1

Makefile.am L.536
Scserbin_Zoltan_CAVES = Scserbin_Zoltan/Arkanoid_001.gds Scserbin_Zoltan/Atlantis/Atlantis_12.gds ...
Makefile.amL.540
Scserbin_Zoltan_Atlantis_CAVES = Scserbin_Zoltan/Atlantis/Atlantis_12.gds Scserbin_Zoltan/Atlantis/Atlantis_13.gds ...
I'm not sure this is correct.

No:

Ok, but I'm pretty sure that single quotes are allowed in file names, right?

Makefile.am L.536 Scserbin_Zoltan_CAVES = Scserbin_Zoltan/Arkanoid_001.gds Scserbin_Zoltan/Atlantis/Atlantis_12.gds ...
Makefile.amL.540 Scserbin_Zoltan_Atlantis_CAVES = Scserbin_Zoltan/Atlantis/Atlantis_12.gds Scserbin_Zoltan/Atlantis/Atlantis_13.gds ...
I'm not sure this is correct.

Thanks, have overseen that. Fixed. Fingers crossed. The makefile is only relevant for make install which I don't use. I just try to keep it compilable ;-)

Ok, but I'm pretty sure that single quotes are allowed in file names, right?

Single quotes are OK in file names.

Ok, give me 10 minutes, I'll replace "_s" with "'s", where needed.

https://github.com/revvv/gdash-export-CrLi/pull/47 rehabilitated single qoutes in filenames


How to efficiently implement a computation graph that has an intermediate global operation?

Hi,
I am trying to use triton to compute a system of integro-differential equations of the form:

During my attempt, questions came up on how to implement this operation, and more generally, operations of the form local computation -> global computation -> local computation. In pytorch, by just using operators +* and sum(), the graph of this computation is abstracted away from the user.
Computationally, I could split this up in two kernels where the first one computes h(...) + the kernel-local sum of h' that are loaded.  Then, in a second step, I could reduce the partial sums to the scalar that is required for the global sum ("outside" of triton using torch ?). Finally, I compute the second kernel h + a_x * <scalar result from summation> that performs the update on the individual a_x.
This would mean that I need two functions that are JIT compiled with an intermediate summation.
I would like to ask you for some more insights that were not clear to me from the documentation:

Am I performing costly loading / unloading operations twice that way (tf.load)?
If so, is there a better way to perform the intermediate operation?
Am I required to call torch.cuda.synchronize() if I decide to compute the global sum in between?
Can I ensure somehow that loaded data is kept in between JIT compiled functions?

If this turns out to be a non-trivial question, it could be added in some form to the examples?
Thank you for this great framework

It pretty much depends on how big your vector x is. If it's small enough that it can fit in the GPU SRAM (< 64-128kB of data), then you should be able to keep everything local -- as in the softmax example. If it cannot fit though, then you're out of luck to try to keep in there between the tl.load() and tl.store(), and you have to resort to two separate kernel, maybe one that computes partial reductions for sum(h(a, f)), and the other one who sums these partial reductions and update a.

Thank you for your answer. Due to this limitation ( GPU SRAM (< 64-128kB of data) ) I implemented it in two separate kernels. As you suggested, summation is partially done in the first kernel.


vpx-maryshelleyfrank - Unexpected UI behavior

See https://discord.com/channels/1085019006676783224/1261888201275215932/1275171563246977215 for details
Discussed in Discord. Documenting for follow-up. Might be good to have someone test on a PC to validate if behavior is also present and assess if table need to be pulled out of repo. @Kaoticbpr

Confirmed as fixed.


Enhancement: add support for NetworkPolicies

Following security pattern for kuberntes,
I recommend to implement NetworkPolicies to be supported by helm chart:
https://kubernetes.io/docs/concepts/services-networking/network-policies/
Once enabled, create NetworkPolicies which open only required ports + allow to define custom policies, for example use LoadBalancer.
Many examples: https://github.com/ahmetb/kubernetes-network-policy-recipes

Hi @slawekww ,
Since network policies are highly environment-specific (and their exact form should depend on how you shape the traffic around KIC and Kong proxy that goes beyond values passed to the chart), I think that we cannot solve the general case with the helm chart.
Also I believe that a blanket setting along the lines of "flip this toggle to enable network policies for the ingress controller" can be tricky:

it won't have a chance to be a complete network partitioning solution by default,
it will come with potentially disastrous breaking changes if we decide to add/remove policies over time,
I don't immediately see how "allow to define custom policies" would be better than the user just creating these network policies directly.

Therefore closing this issue as "won't fix" for now, but thoughts about how to overcome the problems above are welcome.


The missing feature in macios is now implemented

Description of Change
Initially the mac/ios SDKS did not handle the native references in NuGets correctly, but all is good now: https://github.com/xamarin/xamarin-macios/issues/12572
Bugs Fixed

Fixes #1879

API Changes
None.

Behavioral Changes
None.

Required skia PR
None.

PR Checklist

[ ] Has tests (if omitted, state reason in description)
[ ] Rebased on top of main at time of PR
[ ] Merged related skia PRs
[ ] Changes adhere to coding standard
[ ] Updated documentation

It was not in net7 it seems for Hot Restart :(
https://github.com/mono/SkiaSharp/pull/2553


Template workshop yaml files

I wanted to make a  _workshops/TEMPLATE.yaml which would be our current workshop template, with the "best default standard" lesson arrangement.  This would remove some confusion about which workshop is the best to copy from, and provide a clear place to update future schedules.
This would have to be excluded - can the jekyll exclude variable exclude: _workshops/TEMPLATE.yaml work in this case?
Is this a good idea, or is it better to keep copying from past workshops?

Just to make sure I understand correctly: do you mean a template.md file which would be located here: https://github.com/coderefinery/coderefinery.org/tree/gh-pages/_workshops and which we would copy to create new workshop pages?
Or did you have something different in mind?

On Thu, Jul 25, 2019 at 05:31:11AM -0700, Radovan Bast wrote:

Just to make sure I understand correctly: do you mean a template.md file which would be located here: https://github.com/coderefinery/coderefinery.org/tree/gh-pages/_workshops and which we would copy to create new workshop pages?
Or did you have something different in mind?

Yes, that.  Not visible on website, saves time when setting up a new
workshop.  I was going to try to make one for the Espoo workshop, but
first had to think "What should I copy?  What has the current best
order?

I often felt the same that we need a template and defaulted to copy+adapting the last. I am sure it's possible to exclude md files from being rendered. I am now checking how ...

On Thu, Jul 25, 2019 at 05:34:50AM -0700, Radovan Bast wrote:

I often felt the same that we need a template and defaulted to copy+adapting the last. I am sure it's possible to exclude md files from being rendered. I am now checking how ...

Jekyll has an exclude: option that appears to include filename globs.
I just didn't know if it worked in this case (or if we should do tihs)

I think it is a good idea to have this. Let me know if I should look into how this can be excluded.

On Thu, Jul 25, 2019 at 05:40:10AM -0700, Radovan Bast wrote:

I think it is a good idea to have this. Let me know if I should look into how this can be excluded.

I can work on it.  Which workshop should be copied as the template,
aalborg?  But I won't do it before tonight so if you do it first/are
working on it, go ahead.

Yes I would base it on Aalborg. I will try to implement it in the next 30 mins. If I don't send a PR within 30 mins, I did not manage today :-)


Add Gnome-terminal support to app_name_overrides.linux.csv

I don't have the link (it's older than 90 days, no longer searchable) but at least one other person ran into this issue/confusion, I found this fix via the Talon Slack.

What's the issue that this fixes? On my Fedora machine I can say 'focus gnome terminal' or 'focus gnome' and it focusses the Gnome terminal. Mabye you don't get those aliases? In this case what do you get when you run registry.lists['user.running'] in the REPL?
>>> registry.lists['user.running']
[{'evolution': 'Evolution', 'kitty': 'kitty', 'firefox': 'firefox', 'gnome': 'Gnome-terminal', 'gnome terminal': 'Gnome-terminal', 'gnome dash terminal': 'Gnome-terminal'}]

@splondike this fixes the issue of someone new to talon expecting to be able to say "focus terminal" and have it work as expected. If you don't agree that this is a worthwhile behavior have baked in by default, that's fine, feel free to close the PR.
I am on Ubuntu 20.04 and "focus gnome" and "focus gnome terminal" both work out-of-the-box but "focus terminal" and "focus term" do not.
Personally, I am up and running with talon now, but frankly I had a really hard time using talon at first. I realize this makes me sound like an idiot, in fact I am a quite competent programmer, but I found learning talon initially very overwhelming, including finding the info I needed in the documentation. I don't remember how I ended up figuring it out, but it was unexpectedly difficult to figure out how to get the application names needed for the app_name_overrides file. I don't think this is discussed anywhere in the docs? Yes, in theory, anyone should "just" be able to figure it out for themselves, and then add their desired alias to the file, but from my own experience, I strongly feel like there is a basic level of "least surprise" ergonomics that is worth aspiring to, when there are users who have recently experienced a major upper extremity injury, and are trying to figure out voice coding for the first time (a major mental shift), including hardware set up, learning the alphabet, navigating talon's help menus, etc etc. -- each of these things is individually manageable, but when you add them all together it becomes overwhelming.
For the terminal in particular, on Ubuntu with Gnome, it just says "Terminal" everywhere in the UI. So the user may only know they need to say "gnome" if they already have a terminal open, read the docs and learn they can say "running list" to get these names. But "focus gnome terminal" is too long to say every time, and "focus gnome" is not intuitive, since Gnome is a desktop environment, not the terminal. Moreover, the names displayed in "running list" do not work in the app_name_overrides file.
For all these reasons, I feel like it is not asking a lot to add one line of code and have "focus terminal" work out of the box, and in fact this would be beneficial for many users in the future.

 For example we have a discoverability problem with commands (i.e. how do I know what's possible and find out how to do X) that I don't know we have a good solution for yet. There's a lot of functionality you might want to cover and the README is already pretty long.
I just like to get it clear what it is we're solving with these changes before we put them in. For example the issue might have been that gnome terminal was getting some strange alias on your machine which would suggest we might want to generally fix the automatic alias generator.
So the idea here is to make it easier to focus gnome terminal specifically because as you say it's often called 'Terminal' in the window title and application menus. That seems reasonable to me, what do you think about changing the alias to 'terminal' instead of 'term' in the .csv file in that case? That way the alias would match that title.
Incidentally that will also fix the breakage this change would introduce with the 'xterm' terminal client. The alias for that is currently 'term' and this change would stop that working. I'm not too concerned about this though either way since I don't expect many people would still be using that client.

@splondike got it, thanks for the clarification.
100% good with "terminal" instead of "term", just made the change in the branch.

Thanks!


[DNM] gbk_chinese_ci hotfix

Signed-off-by: xiongjiwei<EMAIL_ADDRESS>
What is changed and how it works?
Close #xxx
What's Changed:
Related changes

PR to update pingcap/docs/pingcap/docs-cn:
PR to update pingcap/tidb-ansible:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note
Please add a release note.
If you don't think this PR needs a release note then fill it with None.
If this PR will be picked to release branch, then a release note is probably required.

/run-build-arm64 comment=true


Update images in documentation

Summary
We need to adjust images in our documentation page.
Why do we need this ?
Some images appear too large, the text on some of them is unreadable, and the overall look of the page is better when they are centered.
What is already there? What do you see now?
For example:

What is missing? What do you want to see?
We need to update the existing images and be careful with dimensions/visibility when importing new ones.
Can you do this yourself and submit a Pull Request?
Yes

@benolayinka @laurensslats
About centering and resizing images - please take a look at this PR https://github.com/TheThingsIndustries/lorawan-stack-docs/pull/126 so we can discuss if this looks ok, so I can proceed or fix if necessary.
About cropping screenshots with unreadable text - working on it


Add Vue.js support

We're going to remove ember section and wouldn't support framework-specific sections because it makes prompt heavy and clutter.
Usually, we don't need to know what version of the framework we use on every command in the terminal. It's easy to get it with npm view, for example. At the same time, it introduce a lot of garbage in the prompt. I've got a lot of angry feedback.

I agree, no need to clutter prompt any further, so closing this PR.

In #262 we're going to introduce custom sections, probably I'll create a section in wiki for custom section templates, or ever a registry repo 🤔
Anyway, you'll be able to share this section as a custom one.

@sarkkisjuha I've open sourced this section as an external section for Spaceship! Take a look at https://github.com/spaceship-prompt/spaceship-vue
Let me know if you're interested in maintaining it. I'll add you as an organisation member with write permissions to the repo.