filesize in v2 vs. v1.7

with v2 i get filesizes almost 10 times as big as when using v1.7.
is there anything else different in v2 than just the missing lzw compression?

Just tested the --encoding BROTLI, which brings down the datasize by 80% in my case.


bugfix: unconfirmed metrics

In three cases we would pop metrics without confirming them:
a) when failing to create new files(for example filename is too long)
b) when failing to remove empty file
c) when throttling creates using 'hard' mode
In this case metrics would stay forever in the 'notConfirmed' array. If 'dump' option is enabled, they would even be persisted between restarts.
Depending on configuration options used, this can lead to various issues:

performance degradation over time as size of nonConfirmed array grows. That should make each Get() slower.
metrics from point c) coming back after restarts if we have dump option enabled.
with dump option enabled, we would never get rid of those metrics

The way I reproduced this issue is like this:
a) generate very long metric name. Close go-carbon with USR2 & save the cache. We can see the metric in the cache dump.
b) did not try to reproduce this case. As we are returning after pop(), I thought this can cause same problem
c) use configuration with
max-creates-per-second = 1
hard-max-creates-per-second = true

Send 10k random metrics. Close go-carbon with USR2 & save cache. We can see metrics in cache dump.
At this point, if we start again go-carbon with max-creates-per-second=0  we can see all  new files being created.
Example output from the script that I used to reproduce this issue:
For case a)
Generating input with very long filename
Starting go-carbon
GO_CARBON_PID: 576606. Waiting for go-carbon to start
Sending metrics to go-carbon
Sleeping for a while
Stopping go-carbon
Inspecting dump files
Dump files: cache.576606.1573419306296798904.bin
input.576606.1573419306296798904
Files so far: 0 # we failed to create any file, as metric name was too long
Points in cache dump: 1 dump_files # we still have the very long metric name in cache dump

For case c)
Generating input with 1000 metrics
Starting go-carbon
GO_CARBON_PID: 576542. Waiting for go-carbon to start
Sending metrics to go-carbon
Sleeping for a while
Stopping go-carbon
Inspecting dump files
Dump files: cache.576542.1573419228865477694.bin
input.576542.1573419228865477694
Files so far: 2 # we created two files
Points in cache dump: 998 dump_files # we still have 998 metrics in cache dump.

I'm attaching script to reproduce issue and configuration files that I used:
run.sh.txt
c1.ini.txt
c2.ini.txt -> this one is just like c1 just without rate limiting for creates.

A bit too late, but lgtm.
Failing to remove an empty file might be caused by fixable issues and sysadmin/developer could step in and have it fixed manually (like having wrong permission and go-carbon has not right to remove). But errors like that shouldn't be common so dropping it isn't a big deal.


replace python2.7 by python3.7 in pipfile

here
https://github.com/aiidalab/aiidalab-metapkg/blob/e7bd3c3b7085145c4b62347c43f4d7cf9b8590c6/Pipfile#L41

fixed in 07ff515ffd6fcd4c2c361018b198ecca492a0f78


Fix sparql query transform

The embedded sparql query gets transformed by the matcher before
execution, adding checks for NoHintForCounterpart flags.
The problem is that this change was applied to each subquery instead of
just the toplevel one. When there is a subquery using 'group by' - the
transformation leads to
...
GROUP BY ?result
HAVING NOT EXISTS {
?result ...
Which blazegraph isn't able to execute, in contrast to jena

tested on integrationtest


Test with node 4 and 5 on travis

@thangngoc89 Why would you like to specify node 4 and 5 instead of the latest stable release?

Travis CI is using nvm to manage node versions, and as per the nvm usage documentation:

stable: this alias is deprecated, and only truly applies to node v0.12 and earlier. Currently, this is an alias for node.

The version you want to test is probably 4, which covers the latest version of LTS, and node which covers the latest stable. Eventually additional aliases for LTS versions will be available.

Thanks @simon-lifelike! @thangngoc89 could you please merge the latest master into your branch so that I can resolve this PR? Cheers

I rebased this branch to your master

Coverage remained the same at 100.0% when pulling 5c850680e05e1a9d91db95d1bbef82acaedb5468 on thangngoc89:patch-2 into a0cfb142541879d4f41caa6e36ff9c5eae521973 on mikenikles:master.

I added node 6 to build matrix.

Coverage remained the same at 100.0% when pulling 884e995319b495b5d311937bf58ff4485d8de8df on thangngoc89:patch-2 into a0cfb142541879d4f41caa6e36ff9c5eae521973 on mikenikles:master.

@thangngoc89 Thanks so much, one last update from master and I'll be able to merge that PR.

PR updated.

Coverage remained the same at 100.0% when pulling 124b0d3d206dc847570d8908a02881deb75be369 on thangngoc89:patch-2 into 97587cdeef220014651f370c45e5c57b4000ae03 on mikenikles:master.

Thanks!


Odoo Theme use "configured_color_scheme" cookie fallback to "color_scheme" cookie fallback to "light" value

changing theme with the switch theme feature active will create a loop

https://github.com/MrSweeter/vigilant-potato/commit/53cd82ea6b0b2d735dd8ba46eb607ed6a6d864cf


Discrete layout class template file throws TypeError

Using cytoscape 3.1.4
When creating a new layout extension, I get the following error once I register the layout and try to run it.
Uncaught TypeError: Class constructor Layout cannot be invoked without 'new'
    at o (cytoscape.min.js:39)
    at u.layout (cytoscape.min.js:32)
    at u.layout (cytoscape.min.js:27)
    at a.<anonymous> (demo.html:108)
    at e (lodash.min.js:68)
    at o (lodash.min.js:68)
    at i (lodash.min.js:68)
o @ cytoscape.min.js:39
layout @ cytoscape.min.js:32
layout @ cytoscape.min.js:27
(anonymous) @ demo.html:108
e @ lodash.min.js:68
o @ lodash.min.js:68
i @ lodash.min.js:68

@d2fong Does 872ea70 help?  It should work around the issue by having Babel convert class to function, but we should probably address this in the core lib as well.

@maxkfranz it doesn't throw an error anymore once I add .babelrc but I don't think it is working properly.  The layout doesn't seem to run when I call it.

Saving the default options is missing from the scaffolder: https://github.com/cytoscape/slush-cytoscape-extension/blob/master/templates/src/layout/discrete.js#L26


Connection error handling

file_get_contents(https://example.com/list.json) [function.file-get-contents]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known [APP/Controller/Component/S3Component.php, line 267]

After adding exception handler, these logs below will be show.
file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known
エラー: An Internal Error Has Occurred.

Stack Trace
APP/Controller/SlidesController.php line 98 → S3Component->get_slide_pages_list(string)
[internal function] → SlidesController->view(string)
CORE/Cake/Controller/Controller.php line 490 → ReflectionMethod->invokeArgs(SlidesController, array)
CORE/Cake/Routing/Dispatcher.php line 193 → Controller->invokeAction(CakeRequest)
CORE/Cake/Routing/Dispatcher.php line 167 → Dispatcher->_invoke(SlidesController, CakeRequest)
APP/webroot/index.php line 100 → Dispatcher->dispatch(CakeRequest, CakeResponse)


Remove 'json_rpc' crate and handle cors origin for REST server as string

This PR removes the 'json_rpc' crate and uses the plain String type to handle cors origin in the REST server.

bors r+


[Feature]: Add support for Cortex Analyst Parameters

Use Cases or Problem Statement
Customers would like to control the following account visible parameters using terraform: ENABLE_CORTEX_ANALYST_MODEL_AZURE_OPENAI and ENABLE_CORTEX_ANALYST.
Category
category:resource
Object type(s)
resource:account_parameter
Proposal
No response
How much impact is this issue causing?
Low
Additional Information
No response
Would you like to implement a fix?

[ ] Yeah, I'll take it 😎

@sfc-gh-dasilva What's the status of these parameters? I can't see them in the docs and in SHOW PARAMETERS in my account. Are they in preview?


Preserve parameter objects with newer example

This is a spin-out from #57
After this PR, parameters array preserves the occurrence with newer value in example
Current implementation
It keeps the first occurrence of duplicated items with same name & in.
If user update an existing parameter in their rspec, a new parameter object with newer value in example fieldis added to parameters` array ... but is removed soon because it is not the first occurrence.
In other words, the occurrence with oldest example is kept forever.
Problems
"Preserving first occurrence" will cause a problem for some cases.
1. User changed the value format.
Let's say user changed the format of id from numeric (123) to ulid (01ARZ3NDEKTSV4RRFFQ69G5FAV).

Base spec, [{ name: "id", in: "path", example: "123"  }]
After merge, [{ name: "id", in: "path", example: "123"  }, { name: "id", in: "path", example:"01ARZ3NDEKTSV4RRFFQ69G5FAV"  }]
After deduplication, [{ name: "id", in: "path", example: "123"  }]

😭 The preserved 123 is wrong about format.
2. rspec-openapi support another field of parameter object
Let's say rspec-openapi added description field in parameter object somehow.

Base spec, [{ name: "id", in: "path", example: "123"  }]
After merge, [{ name: "id", in: "path", example: "123"  }, { name: "id", in: "path", example:"123", description:"blah blah"  }]
After deduplication, [{ name: "id", in: "path", example: "123"  }]

😭 description is not added.
Solution
1. Keep a last occurrence
Unfortunately, it brings unstable order.
Let's say we invokes /foo/123 and /foo/456 in rspec.

1st run

Base spec, [{ name: "id", in: "path", example: "123"  }]
After merge, [{ name: "id", in: "path", example: "123"  }, { name: "id", in: "path", example:"456"  }]
After deduplication, [{ name: "id", in: "path", example: "456"  }]

2nd run: (just rerun)

Base spec, [{ name: "id", in: "path", example: "456"  }]
After merge, [{ name: "id", in: "path", example: "456"  }, { name: "id", in: "path", example: "123"  } ]
After cleanup, [{ name: "id", in: "path", example: "123"  }]

😭 123 and 456 is oscillating for each run.
2. Introduces a timestamp marker to be used as sort key
I think it is better to introduce __marker: Timestamp field to parameters.
Then, merger sorts the parameters and preserves the duplicates with largest __marker, so the older occurrencenes will be removed.

Hmm, all tests passed on my end 🤔

Sorry, I didn't read this when the CI was not passing and I didn't get a notification when it started to pass. I'll take a look.


Handling of rule files is outdated

Loki's handling of rule files is outdated. At the very least there's https://github.com/canonical/prometheus-k8s-operator/pull/400.
https://github.com/canonical/loki-k8s-operator/blob/ac1c74794c44e890c523cc73b85f231f6e56aa4d/lib/charms/loki_k8s/v0/loki_push_api.py#L865
Currently the same alert rules handling logic is used in prometheus-scrape, remote-write and loki-push-api. We should probably move alert rule handling to observability libs.

Done


feat: square connector added

Type of Change

[ ] Bugfix
[x] New feature
[ ] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description

Motivation and Context

How did you test it?

Where to test it?

[x] INTEG
[x] SANDBOX
[x] PROD

Checklist

[x] I ran npm run re:build
[x] I reviewed submitted code
[ ] I added unit tests for my changes where possible

Please raise the updated wasm changes for FE repo


Allow having client-only load

Describe the problem
I am building a production that have integration with GitHub. Because GitHub has rate limit for its API, I want to make use of our clients' IP to prevent reaching the rate limit.
So, my desired implementation is:

If the user open a repo through client-side navigation, it will be fetched using the universal load.
If a page is requested with SSR, it will be fetched on the server with my secret credential

The problem is, I can't import my credential in the universal load function, I can only use it in a +page.server.ts. Having both files will fetch twice, which I don't want.
Describe the proposed solution
Maybe we can support client-only load function with +page.client.ts.
Or maybe we can manually specify it with export const csr = false in a +page.ts?
Alternatives considered
For now, I can only implement this by making it a +server.ts, and in the universal load, fetch that API if during SSR.
The downside is, I lost the type safety when I use +server.ts. I can't import the type from ./$types.
Importance
nice to have
Additional Information
No response

What credentials do you want the GitHub API called with if you're running a load function in the user's browser?

If the user is not authorized, I will directly fetch with no credentials because GitHub REST API supports anonymous requests.

You can use the https://kit.svelte.dev/docs/hooks#server-hooks-handlefetch hook to adjust the requests and inject the authorization when they're made from the server as part of SSR. Does that work for you?

Wow! Thank you, this really solves this problem. Now I’m not sure if what I mentioned earlier about +page.client.ts is still useful. But I noticed that hooks can be client-only; why does load only have universal and server-only options?

 Could be very confusing for the user.

Closing since this can be solved with handleFetch.
We don't have client-only load functions because you can pretty easily create them yourself using import { browser } from '$app/environment' and then do an if block inside your universal load function. Also, it would be harder to reason about what runs at what time.


Adding folds that use Monoid

Hello folks.
I think it would be useful to have folds in Traversable<T> that accept a Monoid<T>
A simple use case would be:
public static Monoid<String> concat = new Monoid<String>() {
	public String combine(String a1, String a2) { return a1 + a2; }
	public String zero() { return ""; }
};
...
Stream.of("1", "2", "3").foldLeft(concat);

which would produce "123".

Hi, thx - great suggestion!
Sorry for the late answer. I just realized that I didn't watch my own project any more o_O and therefore received no notifications. Fixed that.

I removed the algebra package in 2.0.0. It might be re-added in 2.0.1... I have to further investigate how to tightly integrate Monads. Currently Traversables behave semi-monadic with a flatMap(Function<T, Iterable>)

Ah, I haven't tried 2.0 yet. Any particular reason to remove the package?

I thought of having algebraic operations in a separate, pure abstraction layer. For that reason we wanted to create javaslang-pure.
There where some caveats regarding Java's type system. I had to make some design decisions in order to make the code more readable. One example is the need for higher-kinded types. I created a type Kind<M, A> which was used for constructing types. But I think for most users it is more confusing than helping.
I ask myself if we are able to lift the algebraic types to an abstract, compositional layer which acts upon the core Javaslang layer.
Here are some issues regarding this topic:

#288 Add substitute for removed Monad interface
#300 [Analysis] How to add a Monad abstraction on top of existing monadic classes

In our example, we may have
interface Monoid<T> {
    <M extends Traversable<T>> T fold(M that) {
        that.fold(zero(), this::combine);
    }
}

See also #674 for folds (https://github.com/javaslang/javaslang/issues/674#issuecomment-153706017)
I will check if and how to re-add the javaslang.algebra package to Javaslang.
Because of the lack of higher-kinded types we needed to fall back to
interface FilterMonadic<T> {

    FilterMonadic flatMap(Function<? super T, ? extends java.lang.Iterable<? extends U>> mapper);

    // ...

}

A real monadic type would have instead:
 Monad flatMap(Function<? super T, ? extends Monad<? extends U>> mapper);

But that is not possible with Java. I created Kind<M extends Kind<M, ?>, T> to separate the container type M from its component type T. This allowed us to write
// think it looked like this not 100% sure - but the idea counts
interface Monad<M extends Monad<M, ?>, T> extends Kind<M, T> {
    <U, MONAD extends Kind<M, U>> MONAD flatMap(Function<? super T, ? extends MONAD> mapper);
}

interface List<T> extends Monad<List<?>, T> {
    @Override
    <U, LIST extends Kind<List<?>, U>> List flatMap(Function<? super T, ? extends LIST> mapper);
}

I think for most programmers the current type signatures fit better:
interface List<T> {
     List flatMap(Function<? super T, ? extends Iterable<? extends U>> mapper);
}

Have to think about it again, how to integrate the algebraic interfaces (Monad, Functor, Monoid, ..., maybe here also Foldable, ...)

Here is the last version that included the javaslang.algebra package: 87ea020354.
I will now pull it out of the grave and re-animate it.
Plan:
@FunctionalInterface
interface Semigroup {

    A combine(A a1, A a2);
}

interface Monoid extends Semigroup {

    static  Monoid of(A zero, Semigroup semigroup) { ... }

    static  Monoid<Function> endoMonoid() { ... }

    A zero();
}

interface Foldable<T> extends java.lang.Iterable<T> {

    // convenience method, same as foldLeft(monoid)
    T fold(Monoid<? extends T> monoid);

    T fold(T zero, BiFunction<? super T, ? super T, ? extends T> combine);

    T foldLeft(Monoid<? extends T> monoid);

     U foldLeft(U zero, BiFunction<? super U, ? super T, ? extends U> combine);

    T foldRight(Monoid<? extends T> monoid);

     U foldRight(U zero, BiFunction<? super T, ? super U, ? extends U> combine);
}

interface Functor<T> {

     Functor map(Function<? super T, ? extends U> mapper);
}

// this is more like a relaxed monad / semi monad / filter monadic
interface Monad<T> extends Functor<T> {

    Monad<T> filter(Predicate<? super T> predicate);

     Monad flatten();

     Monad flatMap(Function<? super T, ? extends java.lang.Iterable<? extends U>> mapper);

    @Override
     Monad map(Function<? super T, ? extends U> mapper);
}

Kind, CheckedFunctor and CheckedMonad are not needed any more.
collections (TraversableOnce) and controls (Option, Try, etc.) will implement Monad and Foldable)

@danieldietrich I spent some times recently on how best implement Semigroup/Monoid in Java. Result have been merged into fugue, if you want to have a look: https://bitbucket.org/atlassian/fugue/pull-requests/51/fixed-37-semigroups-and-monoids/diff

@jbgi awesome, thx!

@jbgi do you have a foldMap?
/**
 * Maps this elements to a {@code Monoid} and applies {@code foldLeft}, starting with {@code monoid.zero()}:
 *

*  foldLeft(monoid.zero(), (ys, x) -> monoid.combine(ys, mapper.apply(x)));
 *

 *
 * @param monoid A Monoid
 * @param mapper A mapper
 * @param     Component type of the given monoid.
 * @return the folded monoid value.
 * @throws NullPointerException if {@code monoid} or {@code mapper} is null
 */
default  U foldMap(Monoid monoid, Function<? super T, ? extends U> mapper) {
    Objects.requireNonNull(monoid, "monoid is null");
    Objects.requireNonNull(mapper, "mapper is null");
    return foldLeft(monoid.zero(), (ys, x) -> monoid.combine(ys, mapper.apply(x)));
}

yeah. It should be on Foldable (or Fold using lenses): https://github.com/functionaljava/functionaljava/blob/master/core/src/main/java/fj/data/optic/Fold.java#L26

Our semi-Monad types will obey the following monad laws:

Right identity: m.flatMap(unit) ≡ m
Associativity: m.flatMap(f).flatMap(g) ≡ m.flatMap(x -> f.apply(x).flatMap(g))

Because the mapper function of flatMap returns an Iterable type instead of a Monad, the following monad law does may only hold (depending of the concrete implementation), if our Monad interface is also of type Iterable:

Left identity: unit(a).flatMap(f) ≡ f.apply(a)

However, we will not make the Monad interface extend Iterable because this is not very algebraic.


fix(default-flatpaks): run 'system-flatpak-setup.service' as a system service

Why ?

Only users with sudo are allowed to modify system-wide Flatpaks without a password prompt, polkit takes care of that. If a non-sudo user logs in, it fails.

Since system-wide Flatpaks are installed.. system-wide, for all users, it doesn't matter by who the service gets triggered. I see no point in running it per-user.

I addressed this by adding system-flatpak-presetup service.
Notify-send does not work if you run the service as system. Which is very important for sending notifications to the user when flatpaks are installed or uninstalled.

@lorduskordus Have you encountered an issue with the module that you aim to fix, or is this PR made on the basis of assumptions. I have assumed that @fiftydinar 's recent changes with the presetup work correctly.

The issue is, when a user without sudo logs in, the system-wide Flatpaks fail to install. They are downloaded, but not installed due to lack of privileges. A user with sudo would have to login first to get them installed.

This seems to be ok behaviour with how the feature is currently structured. I guess a fix would be to put the installation in the priviliged script, and only have a "notifier" script that runs for the user, if we really want to get the notifs working.

I understand the issue now. I will try to solve it without loosing notifications support.


fix typo bugs

https://github.com/Megvii-BaseDetection/BorderDet/issues/41 According to this issue, I found the typo bugs for eval during the training.

Thx, LGTM.


Ensure local _cifmw_networking_mapper_definition fact is empty

With the coming networking changes in the Framework, we're calling the
networking_mapper role multiple times, and some of those calls involve a
temporary patch to inject a specific network.
This patch ensures we're always taking a clean, empty
_cifmw_networking_mapper_definition in order to ensure we're not
re-applying any previous patch/modification.
As a pull request owner and reviewers, I checked that:

[X] Appropriate testing is done and actually running

/approve
/lgtm


Reroute nginx access logs to files to handle json better

We generate json access logs from nginx, but routing those thru /dev/log and thus systemd and journald, there is a problem with level identification and JSON parsing.  We should instead write them to file, and tell promtail how to collect them.

Resolved, logs to /var/log/nginx and that is read with the log_server modules promtail config


 If not, no worries of course.

@ErikSchierboom thanks for asking, I'm getting settled in now and will start looking through PRs more regularly.

@robkeim Great! If you find you have a bit of spare time, I'd love to talk to you on what you think about the test generators. Let me know when you have some time :)

@ErikSchierboom yes let's definitely chat! What's your preferred mechanism of communication among the myriad of options we have in today's high tech world? :)

@robkeim I think a private chat on Gitter would be great.

Sounds good @ErikSchierboom. I just sent you a message so we can find a time that works for both of us.


Add donation button

Context
Peoples of the internet sometimes like to donate to projects. I would like to give them that option!
Ideal behavior
I imagine a component in the sidebar that lets a user quickly donate.
Things to consider
Would also like to add this to the readme.

Added with cbafdcc48fae4f9139525ebe8ba9b5998d2d6a2e
I used Ko-fi because it's free and an easy copy/paste button! Will be adding to readme soon!


Preparations for removal of getName on ValueDecl

This PR goes hand-in-hand with apple/swift#9975

@jrose-apple I would need this PR merged ASAP as I already merged apple/swift#9975 which relies on this but don't have push access to the swift-lldb repo


Consider adopting TSLint's no-unnecessary-type-assertion

Now that #60565 and #65233 are landing strict null checks and ! assertions in the code base, it's likely that you'll clean those up over time. As you evolve files to have, stricter type declarations (e.g. moving from string | undefined | null to string | undefined), you'll leave behind a set of ! assertions.
Would you accept a PR enabling no-unnecessary-type-assertion to help keep those clean?

Yes, this would certainly be helpful. Are you up to submitting the PR?

Well, I tried this out locally and hit two issues:

It's a typed rule (requires a TypeScript program) so that'd involve configuring around in gulpfile.hygiene.js to get them to work with the various different tsconfigs
One blocking bug in no-unnecessary-type-assertion: https://github.com/palantir/tslint/issues/3521

Once the strict null checking migration is done and the TSLint bug is resolved, I'd be interested in the work to enable the rule in general. Closing for now 😄 but thanks!


[Feature Request] Move requests between workspaces

Overview

Insomnia Version: 5.7.4
Summary:  I would like to be able to move requests from one workspace to another

I spread lots of requests that actually belong to the same project over different workspaces because I was a little bit stupid. Now I find it awkward that I have to switch workspaces so often.
I would like to consolidate the requests belonging to the project in one workspace but I can't find any way to do it. As far as I can see, this is not a provided use case in insomnia so far and using export/import isn't an option either because you can only export and import whole workspaces but not requests or folders of requests.

+1

+1

+1

+1

+1
This can be anything from drag&drop, copy&paste to dedicated 'move to workspace' or 'copy to workspace' option.
It'll be really nice if you can move or copy entire folders too.
It's a pain to recreate 20-30 requests with authentication, headers and data only to be able to export the workspace and include it in a project.

This feature is so important. Any plan to support?

+1

Finally getting around to this one!

I can move some requests via drag&drop but i cannot move others

Is there a way to move request collections between workspaces?


No error message presented when creating a cluster with template revision that has invalid kubernetes version format.

Rancher server version - build from master  f9aa0fe1
Steps to reproduce the problem:
Create a cluster template revision with invalid kubernetes version like
{"rancherKubernetesEngineConfig": {"kubernetesVersion": "1.14"}}
Create a cluster with this template revision.
Cluster creation fails , but no error message seen in API response:

Rancher server logs shows correct error message
2019/07/04 02:26:36 [ERROR] API error response 500 for POST /v3/clusters. Cause: Requested kubernetesVersion 1.14 is not of valid semver [major.minor.patch] format

Updated the error message to popup the log statement seen.

Tested with latest  build from master 622f66e4.
Expected error message is presented to the user when a cluster is created with invalid kubernetes version.
HTTP/1.1 500
date: Thu, 11 Jul 2019 01:44:15 GMT
content-encoding: gzip
x-api-schemas: https://<ip>/v3/cluster/schemas
content-type: application/json
content-length: 155
expires: Wed 24 Feb 1982 18:42:00 GMT

{
"baseType": "error",
"code": "ServerError",
"message": "Requested kubernetesVersion 1.14 is not of valid semver [major.minor.patch] format",
"status": 500,
"type": "error"
}


searching on createdFor

NEW - with search filter - createdFor

OLD

So wait createdFor is a reference this will just show the id no, and search will only work if you search the id?
resolved in slack

re: just search on id - correct.
@Nauna this search works for you?

re: just search on id - correct.
@Nauna this search works for you?

She said it uses the RichChoiceView in search. Then we have a tableCellFormatter on CreatedFor.

So its been difficult to test - since I cleared my jrls and have had blockers in dev.
I've tested searching by name only.


Add some documentation examples.

Add some additional documentation to the generated documentation.

How about modifying the README as well? Or maybe providing a link to the README :)

@breeswish There is a link right here https://github.com/pingcap/rust-prometheus/blob/master/README.md#prometheus-rust-client-library already

Readme only contains a very simple example, I think it is fine to keep it.
But if you want to only provide in lib.rs, it is ok too.

@siddontang Yeah, the point is to provide a link, told users that there are more documents in docs.rs and please check it out :P

@breeswish I am not so worried about discover that way, when a user runs cargo doc on their own crate they will be able to see all the docs for this crate as well.


Hacking on the sense component.

Draft PR for quick change review only.
DO NOT MERGE YOU FOOL

Initial attempt not so good.
I got the expected entities and IDs, but all of the value were the production values for the given scale.

I have two problems right now.

The usage number for each scale is always zero, everything else is fine.

When the custom component updates state for the trend sensors, it's returning either the production number or usage number for each scale.

_LOGGER.debug("State from trend for %s: %s, %s, value=%s", self._attr_unique_id, self._sensor_type, self._variant_id, state)

2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-daily-production, DAY, production, 8.2
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-daily-usage, DAY, usage, 8.2
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-daily-production_pct, DAY, production_pct, 8.2
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-daily-net_production, DAY, net_production, 8.2
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-daily-from_grid, DAY, from_grid, 8.2
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-daily-to_grid, DAY, to_grid, 8.2
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-daily-solar_powered, DAY, solar_powered, 8.2
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-weekly-production, WEEK, production, 52.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-weekly-usage, WEEK, usage, 52.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-weekly-production_pct, WEEK, production_pct, 52.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-weekly-net_production, WEEK, net_production, 52.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-weekly-from_grid, WEEK, from_grid, 52.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-weekly-to_grid, WEEK, to_grid, 52.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-weekly-solar_powered, WEEK, solar_powered, 52.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-monthly-production, MONTH, production, 152.1
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-monthly-usage, MONTH, usage, 152.1
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-monthly-production_pct, MONTH, production_pct, 152.1
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-monthly-net_production, MONTH, net_production, 152.1
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-monthly-from_grid, MONTH, from_grid, 152.1
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-monthly-to_grid, MONTH, to_grid, 152.1
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-monthly-solar_powered, MONTH, solar_powered, 152.1
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-yearly-production, YEAR, production, 2827.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-yearly-usage, YEAR, usage, 2827.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-yearly-production_pct, YEAR, production_pct, 2827.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-yearly-net_production, YEAR, net_production, 2827.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-yearly-from_grid, YEAR, from_grid, 2827.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-yearly-to_grid, YEAR, to_grid, 2827.7
2021-08-12 15:14:44 DEBUG (MainThread) [custom_components.sense.sensor] State from trend for: 180992-yearly-solar_powered, YEAR, solar_powered, 2827.7

In the above example, it's returning production, but I've also seen it return usage which as I mentioned always seems to be zero. Either way the sensors in Home Assistant all show the same value.

Et tu, __pycache__?


ci: Fix it + Lint changes

Update CI actions to fix awesome-lint
Removed duplicate links.
Plugin links were the most duplicated ones, I reworded it to remove the discrepancy while still "emphasizing" the plugin enabled repos.
Reddit link 403s, idk why, we can ignore that?

probably need to set $ awesome_bot README.md --allow 403,429 or something to make reddit happy

probably need to set $ awesome_bot README.md --allow 403,429 or something to make reddit happy

I thought about this, we already allowed some status codes there but 403 felt like a legit code to not allow, but in this case its rather annoying, I can add 403 if you are ok though

@Alc-Alc maybe awesome-bot allows scoping where the 403 is allowed from


Switch to a more standard day mode

According to today's testers (#193) and if we follow the design proposal (#164), we need to change the colors, mainly the primary color.
That's a good thing, because using white as the primary color as we currently do is a pain in the neck. The standards are to use a strong color as the primary color, where everything is written in white, and there are loopholes: many times we need to explicitly specify: "for this widget, use this color" (if we don't specify the color, it's white on white).
Working on it...

That is a good idea, what would be considered as the primary color. As @stephanegigandet already suggested, a blue might fit. However, I think we shouldn't use this as a background, otherwise the app could look a bit childish.

My job here: put blue[500], and remove all the confusing "white/black" fixes we had to add.
Later, we'll think about the correct color.

Fixed by #201.


[BUG] Zero2/3 segmentation fault with CPU optimizer off-loading

Describe the bug
Deepspeed got segfault when loading CPU_ADAM, both with zero-2 and zero-3 configs / Huggingface transformers integration.
Zero Configuations

Zero-2

{
    "fp16": {
        "enabled": "auto",
        "loss_scale": 0,
        "loss_scale_window": 1000,
        "initial_scale_power": 16,
        "hysteresis": 2,
        "min_loss_scale": 1
    },

    "bf16": {
        "enabled": "auto"
    },

    "optimizer": {
        "type": "AdamW",
        "params": {
            "lr": "auto",
            "betas": "auto",
            "eps": "auto",
            "weight_decay": "auto"
        }
    },

    "zero_optimization": {
        "stage": 2,
        "offload_optimizer": {
            "device": "cpu",
            "pin_memory": true
        },
        "allgather_partitions": true,
        "allgather_bucket_size": 2e8,
        "overlap_comm": true,
        "reduce_scatter": true,
        "reduce_bucket_size": 2e8,
        "contiguous_gradients": true
    },

    "gradient_accumulation_steps": "auto",
    "gradient_clipping": "auto",
    "steps_per_print": 2000,
    "train_batch_size": "auto",
    "train_micro_batch_size_per_gpu": "auto",
    "wall_clock_breakdown": false
}

Zero-3

{
    "fp16": {
        "enabled": "auto",
        "loss_scale": 0,
        "loss_scale_window": 1000,
        "initial_scale_power": 16,
        "hysteresis": 2,
        "min_loss_scale": 1
    },

    "bf16": {
        "enabled": "auto"
    },

    "optimizer": {
        "type": "AdamW",
        "params": {
            "lr": "auto",
            "betas": "auto",
            "eps": "auto",
            "weight_decay": "auto"
        }
    },

    "zero_optimization": {
        "stage": 3,
        "offload_optimizer": {
            "device": "cpu",
            "pin_memory": true
        },
        "offload_param": {
            "device": "cpu",
            "pin_memory": true
        },
        "overlap_comm": true,
        "contiguous_gradients": true,
        "sub_group_size": 1e9,
        "reduce_bucket_size": "auto",
        "stage3_prefetch_bucket_size": 0,
        "stage3_param_persistence_threshold": "auto",
        "stage3_max_live_parameters": 0,
        "stage3_max_reuse_distance": 0,
        "stage3_gather_16bit_weights_on_model_save": true
    },

    "gradient_accumulation_steps": "auto",
    "gradient_clipping": "auto",
    "steps_per_print": 2000,
    "train_batch_size": "auto",
    "train_micro_batch_size_per_gpu": "auto",
    "wall_clock_breakdown": false
}

Expected behavior
CPU_ADAM is built and loaded successfully.
ds_report output

On the cluster that doesn't work, with CUDA 11.8. Note that, in  the report below deepspeed 0.12.4 was tested. I got the same error with all versions from 0.9.5 to 0.12.4.

DeepSpeed C++/CUDA extension op report
--------------------------------------------------
NOTE: Ops not installed will be just-in-time (JIT) compiled at
      runtime if needed. Op compatibility means that your system
      meet the required dependencies to JIT install the op.
--------------------------------------------------
JIT compiled ops requires ninja
ninja .................. [OKAY]
--------------------------------------------------
op name ................ installed .. compatible
--------------------------------------------------
 [WARNING]  async_io requires the dev libaio .so object and headers but these were not found.
 [WARNING]  async_io: please install the libaio-dev package with apt
 [WARNING]  If libaio is already installed (perhaps from source), try setting the CFLAGS and LDFLAGS environment variables to where it can be found.
async_io ............... [NO] ....... [NO]
fused_adam ............. [NO] ....... [OKAY]
cpu_adam ............... [NO] ....... [OKAY]
cpu_adagrad ............ [NO] ....... [OKAY]
cpu_lion ............... [NO] ....... [OKAY]
 [WARNING]  Please specify the CUTLASS repo directory as environment variable $CUTLASS_PATH
evoformer_attn ......... [NO] ....... [NO]
fused_lamb ............. [NO] ....... [OKAY]
fused_lion ............. [NO] ....... [OKAY]
inference_core_ops ..... [NO] ....... [OKAY]
cutlass_ops ............ [NO] ....... [OKAY]
quantizer .............. [NO] ....... [OKAY]
ragged_device_ops ...... [NO] ....... [OKAY]
ragged_ops ............. [NO] ....... [OKAY]
random_ltd ............. [NO] ....... [OKAY]
 [WARNING]  sparse_attn requires a torch version >= 1.5 and < 2.0 but detected 2.1
 [WARNING]  using untested triton version (2.1.0), only 1.0.0 is known to be compatible
sparse_attn ............ [NO] ....... [NO]
spatial_inference ...... [NO] ....... [OKAY]
transformer ............ [NO] ....... [OKAY]
stochastic_transformer . [NO] ....... [OKAY]
transformer_inference .. [NO] ....... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/home/work/.conda/miniconda3/envs/udop/lib/python3.11/site-packages/torch']
torch version .................... 2.1.1
deepspeed install path ........... ['/home/work/.conda/miniconda3/envs/udop/lib/python3.11/site-packages/deepspeed']
deepspeed info ................... 0.12.4, unknown, unknown
torch cuda version ............... 11.8
torch hip version ................ None
nvcc version ..................... 11.8
deepspeed wheel compiled w. ...... torch 2.1, cuda 11.8
shared memory (/dev/shm) size .... 1.00 GB

on the cluster that deepspeed works properly, with CUDA 12

DeepSpeed C++/CUDA extension op report
--------------------------------------------------
NOTE: Ops not installed will be just-in-time (JIT) compiled at
      runtime if needed. Op compatibility means that your system
      meet the required dependencies to JIT install the op.
--------------------------------------------------
JIT compiled ops requires ninja
ninja .................. [OKAY]
--------------------------------------------------
op name ................ installed .. compatible
--------------------------------------------------
 [WARNING]  async_io requires the dev libaio .so object and headers but these were not found.
 [WARNING]  async_io: please install the libaio-dev package with apt
 [WARNING]  If libaio is already installed (perhaps from source), try setting the CFLAGS and LDFLAGS environment variables to where it can be found.
async_io ............... [NO] ....... [NO]
fused_adam ............. [NO] ....... [OKAY]
cpu_adam ............... [NO] ....... [OKAY]
cpu_adagrad ............ [NO] ....... [OKAY]
cpu_lion ............... [NO] ....... [OKAY]
 [WARNING]  Please specify the CUTLASS repo directory as environment variable $CUTLASS_PATH
evoformer_attn ......... [NO] ....... [NO]
fused_lamb ............. [NO] ....... [OKAY]
fused_lion ............. [NO] ....... [OKAY]
inference_core_ops ..... [NO] ....... [OKAY]
cutlass_ops ............ [NO] ....... [OKAY]
quantizer .............. [NO] ....... [OKAY]
ragged_device_ops ...... [NO] ....... [OKAY]
ragged_ops ............. [NO] ....... [OKAY]
random_ltd ............. [NO] ....... [OKAY]
 [WARNING]  sparse_attn requires a torch version >= 1.5 and < 2.0 but detected 2.1
 [WARNING]  using untested triton version (2.1.0), only 1.0.0 is known to be compatible
sparse_attn ............ [NO] ....... [NO]
spatial_inference ...... [NO] ....... [OKAY]
transformer ............ [NO] ....... [OKAY]
stochastic_transformer . [NO] ....... [OKAY]
transformer_inference .. [NO] ....... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/home/SERILOCAL/hai.xuanpham/anaconda3/envs/udop/lib/python3.11/site-packages/torch']
torch version .................... 2.1.1
deepspeed install path ........... ['/home/SERILOCAL/hai.xuanpham/anaconda3/envs/udop/lib/python3.11/site-packages/deepspeed']
deepspeed info ................... 0.12.3, unknown, unknown
torch cuda version ............... 12.1
torch hip version ................ None
nvcc version ..................... 12.1
deepspeed wheel compiled w. ...... torch 2.1, cuda 12.1
shared memory (/dev/shm) size .... 377.20 GB

Error message
[2023-12-12 10:42:54,556] [INFO] [logging.py:96:log_dist] [Rank 0] DeepSpeed info: version=0.12.4, git-hash=unknown, git-branch=unknown
[2023-12-12 10:42:54,577] [INFO] [logging.py:96:log_dist] [Rank 0] DeepSpeed Flops Profiler Enabled: False
Using /home/work/.cache/torch_extensions/py311_cu118 as PyTorch extensions root...
Creating extension directory /home/work/.cache/torch_extensions/py311_cu118/cpu_adam...
Detected CUDA files, patching ldflags
Emitting ninja build file /home/work/.cache/torch_extensions/py311_cu118/cpu_adam/build.ninja...
Building extension module cpu_adam...

Time to load cpu_adam op: 32.8829345703125 seconds
Loading extension module cpu_adam...
Time to load cpu_adam op: 3.6282782554626465 seconds
[main1:1148 :0:1148] Caught signal 11 (Segmentation fault: address not mapped to object at address (nil))
==== backtrace (tid:   1148) ====
 0 0x0000000000014420 __funlockfile()  ???:0
=================================
[main1:1149 :0:1149] Caught signal 11 (Segmentation fault: address not mapped to object at address (nil))
==== backtrace (tid:   1149) ====
 0 0x0000000000014420 __funlockfile()  ???:0
=================================

System info (please complete the following information):

OS: [e.g. Ubuntu 18.04]
GPU count and types: A100 with CUDA 11.8, any number of GPUs
Python version: 3.11.5
Torch 2.1.1
Huggingface transformers 4.34.1, accelerate 0.25.0

Launcher context
I run into the same error with both deepspeed and torchrun launchers.
Docker context
ngc-pytorch image (CUDA 11.8) with custom Conda environment as above

@haixpham, can you please try the following

Set pin_memory false in  your ds_config
Increase docker shared memory size (/dev/shm_size) of the failing setting from 1gb. I notice the working docker has higher value of 300gb.  See #4015.

@tjruwase Thanks for the reply!
I tried your suggestions

set pin_memory = false
increase container shm to 300Gb
, but ran into the same error.

Is there anything specific about the environment that can affect compiling cpu_adam?

Hi @haixpham we encountered the same issue, did you figure out a solution?

Hi @haixpham we encountered the same issue, did you figure out a solution?

Do you happen to use CUDA 11.8 version of pytorch? If so, please switch to CUDA 12.1 build. No matter what I tried, deepspeed always runs into segfault with CUDA 11.8 build of pytorch.

Hi @haixpham we encountered the same issue, did you figure out a solution?

Do you happen to use CUDA 11.8 version of pytorch? If so, please switch to CUDA 12.1 build. No matter what I tried, deepspeed always runs into segfault with CUDA 11.8 build of pytorch.

Thank you for your timely response, we will try different CUDA versions!


Add API documentation using Swagger

added in b3cb8ae272791a2178725ca6838760dbd5c8d516

Can you help me ? for example  how to setup and test?  how to apprehend relations of  DICOMCloud and dicom-webJS ?

Can you help me ? how to dicom-webJS  refer DICOMCloud？

@yjsyyyjszf , the documentation here https://github.com/Zaid-Safadi/DICOMcloud/wiki/Building-and-Running-the-code has detailed instruction for running the server.
To connect with dicom-webjs, just update the value of the "app:serverUrl" in the appSettings section of the web.config
Please open a new issue if you have any further questions and I'll be happy to help.


Session Timeout Hook/Callback

I am working on a Sinatra App in which I am using Rack::Session::Dalli for managing sessions. How I am setting-up the Session, please see below:
use Rack::Session::Dalli, :memcache_server => CONFIG[:session_memcache_server], :username => CONFIG[:session_memcache_user], :password => CONFIG[:session_memcache_password], :compression => true, :expires_in=>CONFIG[:session_timeout], :expire_after=>CONFIG[:session_timeout], :httponly => true, :key => CONFIG[:session_key], :secret => CONFIG[:session_secret], :path => '/'

As you can see, I am specifying the session timeout. What I need is a callback which gets fired when the session expires.
Can someone please provide some pointers as how to achieve it?
Thanks.

Dalli and memcached don't provide any sort of support for this.

Any plans for adding this support in upcoming versions?

It's impossible to implement without support in memcached so no.
On Jan 30, 2012, at 9:00 PM, Haseeb<EMAIL_ADDRESS>wrote:

Any plans for adding this support in upcoming versions?

Reply to this email directly or view it on GitHub:
https://github.com/mperham/dalli/issues/163#issuecomment-3733694


trainning speed

Hello, Thanks for your great work. Can you share some data about the training settings and training speed?

Hi,
You can refer to this issue. Because my machine is very very old. The training time for me might be several days. But the other said that he took 4-10 hours to train on Waymo.
https://github.com/dvlab-research/VoxelNeXt/issues/20
Regards,
Yukang Chen


chore(docs): Solidity Learning Journey

Description
As part of DevRel's work on Learning Journey's, this PR improves them.
Problem*
Relates to this DevRel issue
Summary*

Puts the "Creating a Project" and "Project Breakdown" pages inside a dropdown called "Hello Noir"
Refactors the Solidity Verifier How-To to include a Remix IDE verification example with images and more context
Refactors the Noir landing page to incorporate a "Noir Basics" role, improves UI, adds a header image and a tabs feature, and favouring links to awesome-noir instead of hardcoded library examples
Refactors the Homepage with buttons to immediately start the Solidity Learning journey

Additional Context
Here's the Solidity Learning Journey. For now only 3 levels deep, assuming the user would have enough autonomy to proceed after the 3rd page. This will be reassessed in the future.

Could use @jzaki's Solidity knowledge to double-check the guide :)

Did you have trouble updating to Docusaurus 3? I tried to update the Aztec docs but ran into a ton of parsing errors due to the update to MDX v3. Mainly relating to invalid character in names for autogenerated docs. Did you encounter anything like that?

I updated to that version some weeks/months ago actually... And yes MDX was breaking due to some chars not being escaped (like <, {, etc)
Some other minor things as well. I also had a problem with a webpack bug, that should be fixed in docusaurus 3.1.0 so I'll eventually update to that one at least


Reduce Required Metadata

Is your feature request related to a problem? Please describe.
I now have this project, for which I am using jreleaser to publish artifacts.
https://github.com/bowbahdoe/tools
I am a little annoyed at needing to repeat information inside my jreleaser.yml that I already have to specify explicitly inside my pom.xmls or for which I don't see how it is relevant.
I.E. most of this section.
project:
  name: tool
  version: 2<IP_ADDRESS>
  description: API for working directly with CLI tools.
  longDescription: API for working directly with CLI tools.
  links:
    homepage: https://github.com/bowbahdoe/tools
  authors:
    - Ethan McCue
  license: APACHE-2.0
  inceptionYear: 2024
  versionPattern: CHRONVER
  java:
    mainModule: dev.mccue.tools
    groupId: dev.mccue

Describe the solution you'd like
I'd like to be able to leave off most of this. I understand needing to specify CHRONVER because by default you want versions to go 1.2.3, but i'm unclear the utility of the rest (to me)
Describe alternatives you've considered
Just dealing with it.
Additional context
I am not most users and I am using the jreleaser cli directly like a weirdo. You don't need to weigh my complaints heavily.

This is already possible IF you use the jreleaser-maven-plugin and consume a jreleaser.yml file. It cannot be done if you use the jreleaser CLI. https://jreleaser.org/guide/latest/tools/jreleaser-maven.html#_defaults


Add handling covering incr/3 on non-numeric keys

Currently there's a bug in decr/3 and incr/3 in that if you create a non-numeric value beforehand, a call to either will crash the server.
This PR will add coverage around this issue and resolve it in all workers. I also added handling to get_and_update/4 to better support transactions and unrecognised errors.
You can now Cachex.abort(worker, :reason) from inside a get_and_update/4 call to exit early and not commit the changes, and { :error, :reason } will be returned.

Coverage remained the same at 100.0% when pulling 4b921602b4c60f7c80be19c234c22b86eaece385 on non-numeric-incr into 2d8353b659e930e421e51d5a0596306850c479e1 on master.


In case of recurrent boking

[x] If some dates are in conflict, let the user know in his email (as conflict).
[x] If someone books in advance on a slot where labmeet/JC are known to happen. Raise a warning for both admin and booking party.

No emails are sent but booking party and admin are notified while booking or approving the request.


feat: make joke() and App work in R2019b

Test pipeline in my own Repo first

Closing personal PR for new PR to upstream


Refactor mcux dspi driver to use device tree

Refactors the mcux dspi driver to use device tree. Adds support for the frdm_kw41z since it has the same dspi peripheral as k64.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #7105   +/-   ##
=======================================
  Coverage   58.61%   58.61%
=======================================
  Files         464      464
  Lines       47440    47440
  Branches     8790     8790
=======================================
  Hits        27809    27809
  Misses      15798    15798
  Partials     3833     3833

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 56c2bc9...093752e. Read the comment docs.

Rebased to fix merge conflicts

@galak ping

Closing this as all this was in PR #7355


t_has_many relationship nullifying child association fields on update (AR has_many Mongoid)

I'm having trouble pinning down exactly what's causing it, but when I update an AR record, tenacity seems to be nullifying all of the id fields in a t_has_many related Mongoid model.
I've attached some large blobs of output below. As far as I can  tell, tenacity seems to be calling
 Tenacity::Associations::HasMany::ClassMethods._t_clear_old_associations(record#StorageLocation(id: i...,...)

for no reason (see frame 17 in the debug log at the bottom)
For context:
app/controllers/management/storage_locations_controller.rb
class Management::StorageLocationsController < ApplicationController

  def update
    if @storage_location.update_attributes(params[:storage_location])
      redirect_to management_storage_locations_path, :notice => "The storage location  was successfully updated."
    else
      render :edit
    end
  end
end

app/models/storage_location.rb
class StorageLocation < ActiveRecord::Base
  include Tenacity
  belongs_to :system
  t_has_many :file_types, :dependent => :destroy

  #validations
end

app/models/file_type.rb
class FileType
  include Mongoid::Document
  include Mongoid::Timestamps
  include Tenacity

  field :name, :type => String
  field :content, :type => String
  field :extensions, :type => String #change to array
  field :versioning, :type => Boolean

  t_belongs_to :system
  t_belongs_to :storage_location
  has_many :import_mappings
  has_many :raw_files
  embeds_many :file_metadata_schemas

  before_save :debugger

Logs:
Server Log
Started PUT "/management/storage_locations/1" for <IP_ADDRESS> at Tue Dec 06 12:20:49 +1100 2011
  Processing by Management::StorageLocationsController#update as HTML
  Parameters: {"commit"=>"Update Storage location", "authenticity_token"=>"H7X2Z/oV0m2Gt2Qro99xe0ZIXvTMQdTud+toEAx+YQA=", "utf8"=>"✓", "id"=>"1", "storage_location"=>{"name"=>"Raw Blob A", "location"=>"/tmp", "storage_type"=>"fs", "system_id"=>"1"}}
MONGODB webdb_development['system.namespaces'].find({})
  System Load (0.3ms)  SELECT "systems".* FROM "systems" ORDER BY name
  StorageLocation Load (0.2ms)  SELECT "storage_locations".* FROM "storage_locations" WHERE "storage_locations"."id" = ? LIMIT 1  [["id", "1"]]
   (0.2ms)  SELECT 1 FROM "storage_locations" WHERE (LOWER("storage_locations"."name") = LOWER('Raw Blob A') AND "storage_locations"."id" != 1 AND "storage_locations"."system_id" = 1) LIMIT 1
MONGODB webdb_development['system.namespaces'].find({})
MONGODB webdb_development['file_types'].find({"storage_location_id"=>1}).sort(_idasc)
MONGODB webdb_development['file_types'].find({"storage_location_id"=>1})
  System Load (0.2ms)  SELECT "systems".* FROM "systems" WHERE "systems"."id" = 1 LIMIT 1
MONGODB webdb_development['file_types'].update({"_id"=>BSON::ObjectId('4edd6948eb98e3f32f000007')}, {"$set"=>{"updated_at"=>Tue Dec 06 01:21:01 UTC 2011, "storage_location_id"=>nil}})
MONGODB webdb_development['file_types'].find({"storage_location_id"=>1})
Redirected to http://localhost:3000/management/storage_locations
Completed 302 Found in 21841ms

Debugger Trace. Top of the trace is the before_save in FileType, bottom is update_attributes in StorageLocationsController
--> #0 FileType._run_save_callbacks(key#NilClass)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:416
    #1 Kernel.send(kind#Symbol)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:81
    #2 ActiveSupport::Callbacks.to_s(kind#Symbol)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:81
    #3 Proc.run_callbacks
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/mongoid-2.3.3/lib/mongoid/callbacks.rb:42
    #4 Mongoid::Callbacks.run_cascading_callbacks(children#Array, kind#Symbol)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/mongoid-2.3.3/lib/mongoid/callbacks.rb:67
    #5 Mongoid::Callbacks.run_callbacks(kind#Symbol)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/mongoid-2.3.3/lib/mongoid/callbacks.rb:41
    #6 Mongoid::Persistence::Modification.prepare
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/mongoid-2.3.3/lib/mongoid/persistence/modification.rb:23
    #7 Mongoid::Persistence::Operations::Update.persist
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/mongoid-2.3.3/lib/mongoid/persistence/operations/update.rb:43
    #8 Mongoid::Persistence.update(options#Hash)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/mongoid-2.3.3/lib/mongoid/persistence.rb:86
    #9 Mongoid::Persistence.save(options#Hash)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/mongoid-2.3.3/lib/mongoid/persistence.rb:151
    #10 Tenacity::OrmExt::Mongoid::InstanceMethods._t_save_if_dirty
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/tenacity-0.5.3/lib/tenacity/orm_ext/mongoid.rb:117
    #11 Tenacity::Associations::HasMany::ClassMethods.save_associate(associate#FileType,...)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/tenacity-0.5.3/lib/tenacity/associations/has_many.rb:122
    #12 Mongo::Cursor._t_clear_old_associations
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/tenacity-0.5.3/lib/tenacity/associations/has_many.rb:117
    #13 Mongoid::Cursor.each
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/mongoid-2.3.3/lib/mongoid/cursor.rb:48
    #14 Mongoid::Contexts::Mongo.iterate
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/mongoid-2.3.3/lib/mongoid/contexts/mongo.rb:212
    #15 Kernel.each
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/mongoid-2.3.3/lib/mongoid/criteria.rb:143
    #16 Mongoid::Criteria.each
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/mongoid-2.3.3/lib/mongoid/criteria.rb:143
    #17 Tenacity::Associations::HasMany::ClassMethods._t_clear_old_associations(record#StorageLocation(id: i...,...)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/tenacity-0.5.3/lib/tenacity/associations/has_many.rb:115
    #18 Tenacity::Associations::HasMany::ClassMethods._t_save_associates(record#StorageLocation(id: i...,...)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/tenacity-0.5.3/lib/tenacity/associations/has_many.rb:106
    #19 StorageLocation._callback_after_23973(key#NilClass)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/tenacity-0.5.3/lib/tenacity/orm_ext/activerecord.rb:90
    #20 StorageLocation._run_save_callbacks(key#NilClass)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:413
    #21 Kernel.send(kind#Symbol)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:81
    #22 ActiveSupport::Callbacks.to_s(kind#Symbol)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:81
    #23 ActiveRecord::Callbacks.create_or_update
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/callbacks.rb:264
    #24 ActiveRecord::Persistence.save
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/persistence.rb:37
    #25 ActiveRecord::Validations.save(options#Hash)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/validations.rb:50
    #26 ActiveRecord::AttributeMethods::Dirty.save
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/attribute_methods/dirty.rb:22
    #27 ActiveRecord::ConnectionAdapters::DatabaseStatements.save(options#Hash)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/transactions.rb:241
    #28 ActiveRecord::Transactions::ClassMethods.transaction(options#Hash)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/transactions.rb:208
    #29 ActiveRecord::Transactions.with_transaction_returning_status
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/transactions.rb:293
    #30 ActiveRecord::Transactions.save
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/transactions.rb:241
    #31 ActiveRecord::Transactions.save
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/transactions.rb:240
    #32 ActiveRecord::ConnectionAdapters::DatabaseStatements.update_attributes(options#Hash,...)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/persistence.rb:163
    #33 ActiveRecord::Transactions::ClassMethods.transaction(options#Hash)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/transactions.rb:208
    #34 ActiveRecord::Transactions.with_transaction_returning_status
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/transactions.rb:293
    #35 ActiveRecord::Persistence.update_attributes(attributes#ActiveSupport::HashWi...,...)
       at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/activerecord-3.1.1/lib/active_record/persistence.rb:161
    #36 Management::StorageLocationsController.[]
       at line /Users/abradner/Dropbox/code/usyd/webdb/app/controllers/management/storage_locations_controller.rb:27

This seems to be affecting all of my AR>Mongoid t_has_many relationships, and is actually a really big problem

Tenacity stores has_many associates in an instance variable on the object.  When the object is saved, tenacity will

Clear out any old associations for that object from that database, by setting the foreign key to nil
Iterate through the associates stored in the instance variable, set the foreign key, and save the object

These two steps are being performed in lines 17 and 18 of your debugger trace.  So, the clearing out is normal, but it appears that the setting of the new associates is not working.
#17 Tenacity::Associations::HasMany::ClassMethods._t_clear_old_associations(record#StorageLocation(id: i...,...)
   at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/tenacity-0.5.3/lib/tenacity/associations/has_many.rb:115
#18 Tenacity::Associations::HasMany::ClassMethods._t_save_associates(record#StorageLocation(id: i...,...)
   at line /Users/abradner/.rvm/gems/ree-1.8.7-2011.03@webdb/gems/tenacity-0.5.3/lib/tenacity/associations/has_many.rb:106

Can you check to see what @storage_location.file_types contains before calling @storage_location.update_attributes?  It's possible that the associates were not loaded properly, the instance variable was not populated, and step #2 is not saving the re-saving the associates because it doesn't know about them.

I just reproduced the issue, and this is what is going on (and a bug in tenacity).  This test case fails
    should "not lose the associated objects when the main object is updated" do
      active_record_object = ActiveRecordObject.create
      mongoid_objects = [MongoidHasManyTarget.create, MongoidHasManyTarget.create, MongoidHasManyTarget.create]
      active_record_object.mongoid_has_many_targets = mongoid_objects
      active_record_object.save
      assert_equal mongoid_objects, ActiveRecordObject.find(active_record_object.id).mongoid_has_many_targets

      active_record_object = ActiveRecordObject.find(active_record_object.id)
      active_record_object.update_attributes(:prop => "abc123")
      assert_equal mongoid_objects, ActiveRecordObject.find(active_record_object.id).mongoid_has_many_targets
    end

I'll start working on a fix.

I just pushed a fix for this to master.  Would you mind testing it out before I publish a new version of the gem?

Sure, I'll be doing that today
On 07/12/2011, at 2:31 AM, John Wood
<EMAIL_ADDRESS>wrote:

I just pushed a fix for this to master.  Would you mind testing it out before I publish a new version of the gem?

Reply to this email directly or view it on GitHub:
https://github.com/jwood/tenacity/issues/34#issuecomment-3033647

It seems to no longer be destroying the associations, however there appears to be a deeper issue still:
it still seems to be loading (and occasionally updating) the associated objects for no reason:
take this very simple association where a user owns many files:
class User < ActiveRecord::Base
  t_has_many :raw_files
end

class RawFile
  include CarrierWave::Mongoid
  include Mongoid::Document
  include Mongoid::Timestamps
  include Tenacity

  t_belongs_to :user
end

Simply updating my name in the user model causes it to load all related raw files:
Started PUT "/users" for <IP_ADDRESS> at Wed Dec 07 12:28:06 +1100 2011
  Processing by UserRegistersController#update as HTML
  Parameters: {"commit"=>"Update", "authenticity_token"=>"H7X2Z/oV0m2Gt2Qro99xe0ZIXvTMQdTud+toEAx+YQA=", "utf8"=>"✓", "user"=>{"last_name"=>"Bradner", "first_name"=>"Alex"}}
  User Load (0.2ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 2 LIMIT 1
MONGODB webdb_development['system.namespaces'].find({})
MONGODB webdb_development['raw_files'].find({"user_id"=>2}, {"id"=>1})
MONGODB webdb_development['raw_files'].find({:_id=>nil})
MONGODB webdb_development['raw_files'].find({"user_id"=>2}).sort(_idasc)
MONGODB webdb_development['raw_files'].find({"user_id"=>2})
Redirected to http://localhost:3000/
Completed 302 Found in 385ms

Given that there are far more complicated t_has_many relationships, this will not scale at all!
A more complicated example from the same system:
class System < ActiveRecord::Base
  include Tenacity
  t_has_many :data_objects, :dependent => :destroy
  t_has_many :storage_locations, :dependent => :destroy
  t_has_many :file_types

  #snip
end

running
Rails.logger.debug "=======DEBUG: UPDATING SYSTEM=======\n"
@system.update_attributes(params[:system])

causes this to happen (every mongo query below the debug line is unnecessary):
Started PUT "/management/systems/1" for <IP_ADDRESS> at Wed Dec 07 12:35:16 +1100 2011
  Processing by Management::SystemsController#update as HTML
  Parameters: {"commit"=>"Update System", "member"=>"", "system"=>{"schema_name"=>"system_a", "name"=>"First System", "code"=>"SYS0000", "colour_scheme_id"=>"1", "description"=>"First System Description"}, "authenticity_token"=>"H7X2Z/oV0m2Gt2Qro99xe0ZIXvTMQdTud+toEAx+YQA=", "utf8"=>"✓", "id"=>"1", "member_ids"=>["2", "1"]}
  User Load (0.1ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 2 LIMIT 1
  Role Load (0.1ms)  SELECT "roles".*  FROM "systems" INNER JOIN "system_members" ON "systems"."id" = "system_members"."system_id" WHERE "system_members"."user_id" = 2 AND "system_members"."administrator" = 't'
MONGODB webdb_development['system.namespaces'].find({})
MONGODB webdb_development['data_objects'].find({:system_id=>{"$in"=>[1]}}, {:_id=>1, :_type=>1})
  System Load (0.3ms)  SELECT "systems".* FROM "systems" INNER JOIN "system_members" ON "systems"."id" = "system_members"."system_id" WHERE "system_members"."user_id" = 2
MONGODB webdb_development['data_objects'].find({:system_id=>{"$in"=>[1]}}, {:_id=>1, :_type=>1})
  System Load (0.3ms)  SELECT "systems".* FROM "systems" ORDER BY name
  System Load (0.3ms)  SELECT "systems".* FROM "systems" WHERE "systems"."id" = ? LIMIT 1  [["id", "1"]]
New user_ids = 21
{"name"=>"First System", "schema_name"=>"system_a", "code"=>"SYS0000", "colour_scheme_id"=>"1", "description"=>"First System Description"}
=======DEBUG: UPDATING SYSTEM=======
  User Load (0.3ms)  SELECT "users".* FROM "users" WHERE "users"."id" IN (2, 1)
  User Load (0.2ms)  SELECT "users".*  FROM "systems" WHERE "systems"."id" = 1 LIMIT 1
MONGODB webdb_development['file_types'].update({"_id"=>BSON::ObjectId('4edebfeeeb98e33c38000007')}, {"$set"=>{"system_id"=>1}})
Redirected to http://localhost:3000/systems/1
Completed 302 Found in 874ms

Also note: the last query seems to be updating file_types even though it wasn't changed.

I made a change that should address the issue you describe above, and pushed it to master.  Please let me know if it addresses your issue.
Also, I should warn you that Tenacity will not handle large collections of associated objects (via a t_has_many association) well.  While it does lazily load the associated objects, when it does load them, it loads them all.  There is currently no support for pagination, or anything else that will ease the pain of working with large collections of associated objects.

I haven't noticed any data loss issues since updating, and your subsequent update seems to have significantly reduced the number of queries. Thanks


avoid to compile again when make install for #49

#49
Signed-off-by: taojun<EMAIL_ADDRESS>

Thanks @taojunli :-)
This avoids permission issues. And the re-compile.
However In the long term, I would want to add this dependency again and solve the underlying problem.
I created  #84 to track this.


feat(shadows): updating the shadow variables

Removing extra 0s, fixing shadowLevel4, and adding the 'dark' style.

Fails

:no_entry_sign:
All of your entries in CHANGELOG.md should be in the **Unreleased** section!

  Generated by :no_entry_sign: dangerJS


Make repo compliant

What this PR does / why we need it:

Updated CONTRIBUTING.md file
Created/Updated LICENSE file
Created/Updated .reuse/dep5 file.
Added bin/kube_codegen.sh as copied code in dep5 file
Created/Updated LICENSES folder
Added badge for reuse compliance in README.md file and registered repo with REUSE API
License/Copyright header replacement for 'non-go' files

test/integration/testdata/targets/component-target-importer-2/commands/create-and-push-component.sh
test/integration/testdata/targets/component-target-root-2/commands/create-and-push-component.sh
test/integration/testdata/targets/component-target-exporter/commands/create-and-push-component.sh
test/integration/testdata/targets/component-target-exporter-root/commands/create-and-push-component.sh
test/integration/testdata/targets/component-target-importer-1/commands/create-and-push-component.sh
test/integration/testdata/targets/component-target-root-1/commands/create-and-push-component.sh
test/integration/testdata/targets/component-targetmap/commands/component.sh
test/integration/testdata/dependencies/component-join/commands/create-and-push-component.sh
test/integration/testdata/dependencies/component-chain/commands/create-and-push-component.sh
test/integration/testdata/dependencies/component-cycle/commands/create-and-push-component.sh
test/integration/testdata/dependencies/component-base/commands/create-and-push-component.sh
test/integration/testdata/dependencies/component-conflict/commands/create-and-push-component.sh
test/integration/testdata/hack/create-and-push-component.sh
test/integration/testdata/hack/create-and-push-image.sh
test/integration/testdata/inline/component-inline-root-1/commands/create-and-push-component.sh
test/integration/testdata/inline/component-inline-base/commands/create-and-push-component.sh
test/integration/testdata/inline/component-inline-root-2/commands/create-and-push-component.sh
test/integration/testdata/import-export/v0.3.0/commands/create-and-push-component.sh
test/integration/testdata/import-export/v0.4.0/commands/create-and-push-component.sh
test/integration/testdata/import-export/v0.1.0/commands/create-and-push-component.sh
test/integration/testdata/import-export/v0.2.0/commands/create-and-push-component.sh
test/integration/testdata/subinstallations/v0.3.0/commands/create-and-push-component.sh
test/integration/testdata/subinstallations/v0.4.0/commands/create-and-push-component.sh
test/integration/testdata/subinstallations/v0.1.0/commands/create-and-push-component.sh
test/integration/testdata/subinstallations/v0.2.0/commands/create-and-push-component.sh
test/integration/testdata/import-execution/v0.1.0/commands/create-and-push-component.sh
hack/examples/create-and-push-component.sh
docs/guided-tour/basics/multiple-deployitems/commands/apply-target-and-installation.sh
docs/guided-tour/basics/upgrade/commands/apply-target-and-installation.sh
docs/guided-tour/basics/upgrade/commands/upgrade-installation.sh
docs/guided-tour/basics/upgrade/commands/create-and-push-chart.sh
docs/guided-tour/error-handling/immediate-error/commands/apply-target-and-installation.sh
docs/guided-tour/error-handling/timeout-error/commands/apply-target-and-installation.sh
docs/guided-tour/error-handling/delete-error/commands/apply-target-and-installation.sh
docs/guided-tour/blueprints/echo-server/commands/component.sh
docs/guided-tour/blueprints/echo-server/commands/blueprint.sh
docs/guided-tour/blueprints/echo-server/commands/chart.sh
docs/guided-tour/blueprints/helm-chart-resource/commands/component.sh
docs/guided-tour/blueprints/helm-chart-resource/commands/blueprint.sh
docs/guided-tour/blueprints/external-blueprint/commands/component.sh
docs/guided-tour/blueprints/external-blueprint/commands/blueprint.sh
docs/guided-tour/hello-world/commands/apply-target-and-installation.sh
docs/guided-tour/hello-world/commands/create-and-push-chart.sh
docs/guided-tour/templating/components/commands/push-component-descriptor-core.sh
docs/guided-tour/templating/components/commands/upload-component-version-core.sh
docs/guided-tour/templating/components/commands/push-blueprint.sh
docs/guided-tour/templating/components/commands/upload-component-version-extension.sh
docs/guided-tour/templating/components/commands/push-component-descriptor-root.sh
docs/guided-tour/templating/components/commands/upload-component-version-root.sh
docs/guided-tour/templating/components/commands/push-component-descriptor-extension.sh
docs/guided-tour/import-export/export-parameters/commands/push-blueprint.sh
docs/guided-tour/import-export/export-parameters/commands/upload-component-version.sh
docs/guided-tour/import-export/export-parameters/commands/push-component-descriptor.sh
docs/guided-tour/import-export/import-parameters/commands/push-blueprint.sh
docs/guided-tour/import-export/import-parameters/commands/upload-component-version.sh
docs/guided-tour/import-export/import-parameters/commands/push-component-descriptor.sh
docs/guided-tour/target-maps/04-forward-map/component/commands/delete-rest.sh
docs/guided-tour/target-maps/04-forward-map/component/commands/delete-inst.sh
docs/guided-tour/target-maps/04-forward-map/component/commands/component.sh
docs/guided-tour/target-maps/04-forward-map/component/commands/deploy-k8s-resources.sh
docs/guided-tour/target-maps/02-targetmap-ref/component/commands/delete-rest.sh
docs/guided-tour/target-maps/02-targetmap-ref/component/commands/delete-inst.sh
docs/guided-tour/target-maps/02-targetmap-ref/component/commands/component.sh
docs/guided-tour/target-maps/02-targetmap-ref/component/commands/deploy-k8s-resources.sh
docs/guided-tour/target-maps/01-multiple-deploy-items/component/commands/delete-rest.sh
docs/guided-tour/target-maps/01-multiple-deploy-items/component/commands/delete-inst.sh
docs/guided-tour/target-maps/01-multiple-deploy-items/component/commands/component.sh
docs/guided-tour/target-maps/01-multiple-deploy-items/component/commands/deploy-k8s-resources.sh
docs/guided-tour/target-maps/03-multiple-subinst/component/commands/delete-rest.sh
docs/guided-tour/target-maps/03-multiple-subinst/component/commands/delete-inst.sh
docs/guided-tour/target-maps/03-multiple-subinst/component/commands/component.sh
docs/guided-tour/target-maps/03-multiple-subinst/component/commands/deploy-k8s-resources.sh
hack/install-registry.sh
hack/get-version.sh
hack/docker-build-multi.sh
hack/revendor.sh
hack/upload-tutorial-resources.sh
hack/setup-local-env.sh
hack/generate-docs-index.sh
hack/check.sh
hack/verify-docs-index.sh
hack/unfold.sh
hack/generate-cd.sh
hack/test.sh
hack/generate-code.sh
hack/update-helm-chart-version.sh
hack/format.sh

Thank you @RaphaelVogel for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below.


Remove unused centos docker tasks

The enable extras on centos task just doesn't work when using the
variable ceph_docker_enable_centos_extra_repo to true.
fatal: [xxx]; FAILED! => {"changed": false, "msg": "Parameter
'baseurl', 'metalink' or 'mirrorlist' is required."}
The CentOS extras repository is enabled by default so it's pretty
safe to remove this task and the associated variable.
This also removes the ceph_docker_on_openstack variable as it's a
leftover and it is unused.
Signed-off-by: Dimitri Savineau<EMAIL_ADDRESS>

jenkins test centos-non_container-switch_to_containers

jenkins test centos-non_container-update

jenkins test centos-container-update

jenkins test centos-container-all_daemons


First Commit (26/12/2022)

Added the problem statement, about data, exploratory data analysis, preprocessing, and model training sections in the emails_eda.ipynb file. Also added the emails.csv file to the repository.

This looks good.


Fixed whitespace between twitter icon and name

Thank you for your contribution to the KodaDot NFT gallery.
👇  _ Do a quick check before the merge.
PR type

[X] Bugfix
[ ] Feature
[ ] Refactoring

Before submitting Pull Request, please make sure:

[X] My contribution builds clean without any errors or warnings
[X] I've merged recent default branch -- main and I've no conflicts
[X] I've tried respect high code quality standards
[X] I've didn't break any original functionality
[X] I've posted screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </rmrk/collection/26902bc2f7c20c546a-1FVG7>
[ ] I've tested PR on mobile and everything works
[ ] I found edge cases

What's new?

[X] PR closes #1388
[X] Fixes extra whitespace in twitter icon

Had issue bounty label ?

[ ] Fill up your KSM address: Payout

Community participation

[ ] Are you at KodaDot Discord?

Screenshot

[ ] My fix has changed something on UI, a screenshot for others, is best to understand changes.

yes!

@lohba let's pick an issue from our repository to get the bounty!


Update for Angular 1.3.x

The README states support for Angular 1.2.x, but Angular stable is up to 1.3.x - that may just be a README update. I've done some limited development against 1.3.x and have had good results but I am sure my tests are not as good as yours.

The readme was just updated, and restangular has worked flawlessly with 1.3 for a long time.

Per the README:

Restangular supports all angular versions including 1.0.X, 1.1.X and 1.2.X (1.2.4 being the current at the time)

If it supports 1.3.x, shouldn't we give it a quick update to specify that?

My bad, I did not see that section - so yes, it should be updated.

I submitted a PR (#1393) to update this


[branch-2.9] [Tests] Fix flaky WrongTypeOfReturnValue Mockito misuse issue in broker tests.

Motivation
Cherry-pick #13621

@lhotari  PTAL:-)


Does not match a mouse position when zooming in browser

Monaco-editor version: 0.20.0
Browser: Chrome
OS: Mac
Steps:

Zoom in a browser (using shortcut : cmdctrl -)
Doing Until 80%
The cursor, selection and highlighting don't match a mouse position.

I found out this bug using the Theia at first.
Could you fix it?
Thanks

I could not reproduce at https://microsoft.github.io/monaco-editor/ . I have zoomed out, and while I see some rendering artefacts (caused by browser zoom rounding errors) the cursor position / selection are rendered OK:

The problem doesn't occur now. Thanks for checking this out.


[META] Optimised prefix pattern per shard for remote store data and metadata files for higher throughput

Please describe the end goal of this project
Proposing a path structure that tries to distribute all shards deterministically over multiple prefixes. The end goal of this initiative is to reduce the throttling or rate limiting done by cloud providers. The organic recommendation in such cases by the same cloud providers is to distribute the load to them over multiple prefixes. In this meta, we will breakdown the issue to smaller issues that we would be working on to complete this feature request.
Supporting References
Feature request - https://github.com/opensearch-project/OpenSearch/issues/12567
PRs

[x] https://github.com/opensearch-project/OpenSearch/pull/12607
[x] https://github.com/opensearch-project/OpenSearch/pull/12753
[x] https://github.com/opensearch-project/OpenSearch/pull/12822
[x] https://github.com/opensearch-project/OpenSearch/pull/12920
[x] https://github.com/opensearch-project/OpenSearch/pull/12986
[x] https://github.com/opensearch-project/OpenSearch/pull/12988
[x] https://github.com/opensearch-project/OpenSearch/pull/13103
[x] https://github.com/opensearch-project/OpenSearch/pull/13150
[x] https://github.com/opensearch-project/OpenSearch/pull/13251
[x] https://github.com/opensearch-project/OpenSearch/pull/13225
[x] https://github.com/opensearch-project/OpenSearch/pull/13150
[x] https://github.com/opensearch-project/OpenSearch/pull/13386
[ ] & more to follow

I will keep creating issue as and when I am starting on the pending sub tasks.
Related component
Storage:Performance

Marking this meta closed since all items have been completed.


USB GPS Receiver Lookup & Purchase

ASSIGNED to @fz20181223luogu
Please post any updates here.

@ATATC Not sure if you saw the 2 modules that @fz20181223luogu sourced:

BN-880 GPS Module
BDS QZSS HAT Expansion Board GPS Module L76X for Raspberry Pi Fast Positioning, High Accuracy, Low Power Consumption

Actually I prefer U-Blox modules. These just work but are not perfect.

As these two also require wiring like U-Blox products, I don't think they are very advantageous.

How about this MAX-10S, SMA (Qwiic) instead of the NEO-M9N, SMA (Qwiic)?
The other option is going for the NEO-M9N, U.FL (Qwiic) with a SMA to U.FL interface cable.

@ATATC #39 VK-162 G-Mouse USB GPS Dongle for $24.99 from Amazon works for me. Please confirm that you would like me to order this.

Yes.

Done.


MV style layout option missing?

Issue fixed in commit 03f650c7dd0d822cf7a50e402be423a96f42ee29
Added action: Settings: Set Input Window Mv Layout
Added feedback: Input Window Mv Layout


Duplicated XDG_DATA_DIRS in Qt applications

Describe the bug
Further to #54525 and relevant to #69272, XDG_DATA_DIRS is inflated by duplicate store paths:
$ echo $XDG_DATA_DIRS | sed -e 's/:/\n/g' | grep kwallet | sort
/nix/store/34bl44sm6fyn7qzmj0yl6w4dsxr46718-kwallet-5.61.0-bin/share
/nix/store/34bl44sm6fyn7qzmj0yl6w4dsxr46718-kwallet-5.61.0-bin/share
/nix/store/34bl44sm6fyn7qzmj0yl6w4dsxr46718-kwallet-5.61.0-bin/share
/nix/store/sr02l2rbmkp8mqqbn0v98xxhrdq0lch5-kwallet-5.61.0/share
/nix/store/sr02l2rbmkp8mqqbn0v98xxhrdq0lch5-kwallet-5.61.0/share
/nix/store/sr02l2rbmkp8mqqbn0v98xxhrdq0lch5-kwallet-5.61.0/share

Essentially all dependencies are there 3 times.
To Reproduce
Steps to reproduce the behavior:

Launch konsole
Run the command mentioned above

Expected behavior
Each store path should only be listed once.
Metadata

system: "x86_64-linux"
host os: Linux 5.3.0, NixOS, 20.03.git.48ca992ad6bM (Markhor)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3
channels(root): "nixos-19.09pre188608.984851a9bfa"
channels(peter): "home-manager"
nixpkgs: /home/peter/src/active/nixpkgs_unstable

Cc: @ttuegel

The responsible setup hook specifically checks that it is not adding duplicate paths, so I don't understand why this happens.

The konsole wrapper only includes the kwallet paths once.

Each store path should only be listed once.

This is a known issue with makeWrapper: Running a wrapped program inside another wrapped program compounds their environments. In this case, probably, konsole forks and re-execs itself.
I am open to suggestions about how to fix the underlying problem in makeWrapper.
(This is probably not related to #69272.)

Related to https://github.com/NixOS/nixpkgs/issues/67691

Is this fixed by #69426/#69427?

@lheckemann not in 19.09 at least, I commented on https://github.com/NixOS/nixpkgs/issues/67691#issuecomment-551448824

Not fixed on unstable either.

Very much still an issue.

I am no longer seeing this on unstable.

I am no longer seeing this on unstable.


How to change the global implicit element wait time?

Hello,
I am having a really hard time figuring out how to globally change the implicit wait time for elements. It is setup to 30 seconds by Watir and I do not see how I can have control over it.
The way I init the driver is :
driver = Selenium::WebDriver.for :chrome
And then I just feed the driver to my Page Objects like this:
page = SomePage.new(driver, visit=true)
I tried to change the wait through the driver, but since Watir is being used under the hood, the implicit wait I setup on the WebDriver is not respected. (Might be a decent feature to respect the implicit wait that was set on the original driver?)
Thanks.

Try doing:
Watir.default_timeout = 10 # sec

Out of curiosity, are you using Selenium in the page-object instead of Watir? I've been trying to understand the number of users we have using Selenium vs Watir.

Closing due to inactivity. If this is still an issue please re-open the ticket.


[FIX] Bundling: Dynamic preload calls should not emit warnings

The UI5 core library contains dynamic calls to sap.ui.require.preload.
Those calls should not result into a warning in the build log, as they
are correct and should just be skipped.
This has been introducted with #341.
Thank you for your contribution! 🙌
To get it merged faster, kindly review the checklist below:
Pull Request Checklist

[x] Reviewed the Contributing Guidelines

Especially the How to Contribute section

[x] No merge commits
[x] Correct commit message style

Coverage remained the same at 90.928% when pulling 3eacb028fbc724069a2f9780f535ba500b071711 on fix-JSModuleAnalyzer-logging into 3fba39ec3f1c5b2b20dd110e63fb0e9185f64c03 on master.


How to use with Image_picker Package?

What's the issue?
So, I'm using image_picker package to pick a video file, and show with video_player package, based on the example code of image_picker repo
I see the different examples of Flick Video Player, and I'm achieve to show custom controls, but I have different errors in the log for the code in initState or in Dispose.
Sample Code
The example file of the next link has a class AspectRatioVideo at the end, and I put the Flick Video Player code inside in the lines with the comment //Flick Video Player Code
https://github.com/flutter/plugins/blob/master/packages/image_picker/image_picker/example/lib/main.dart
You can download the image picker example  folder with downgit, add the Flick Video Player package and change the next class.

class AspectRatioVideo extends StatefulWidget {
  AspectRatioVideo(this.controller);

  final VideoPlayerController controller;

  @override
  AspectRatioVideoState createState() => AspectRatioVideoState();
}

class AspectRatioVideoState extends State<AspectRatioVideo> {
  VideoPlayerController get controller => widget.controller;
  bool initialized = false;
  FlickManager flickManager; //Flick Video Player Code

  void _onVideoControllerUpdate() {
    if (!mounted) {
      flickManager.dispose(); //Flick Video Player code
      return;
    }
    if (initialized != controller.value.initialized) {
      flickManager = FlickManager(videoPlayerController: widget.controller);  //Flick Video Player Code
      initialized = controller.value.initialized;
      setState(() {});
    }
  }

  @override
  void initState() {
    super.initState();
    controller.addListener(_onVideoControllerUpdate);
  }

  @override
  void dispose() {
    controller.removeListener(_onVideoControllerUpdate);
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    if (initialized) {
      return Center(
        child: AspectRatio(
          aspectRatio: controller.value?.aspectRatio,
          child: FlickVideoPlayer(flickManager: flickManager) //Flick Video Player code
        ),
      );
    } else {
      return Container();
    }
  }
}

Error Lines in log
This one happens when I open the page.
The line with the #5  refers to _onVideoControllerUpdate of the previous class.
E/flutter ( 4337): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: NoSuchMethodError: The method 'dependOnInheritedWidgetOfExactType' was called on null.
E/flutter ( 4337): Receiver: null
E/flutter ( 4337): Tried calling: dependOnInheritedWidgetOfExactType<_ModalScopeStatus>()
E/flutter ( 4337): #0      Object.noSuchMethod  (dart:core-patch/object_patch.dart:51:5)
E/flutter ( 4337): #1      ModalRoute.of package:flutter/…/widgets/routes.dart:882
E/flutter ( 4337): #2      FlickVideoManager._changeVideo package:flick_video_player/…/manager/video_manager.dart:144
E/flutter ( 4337): #3      FlickVideoManager._handleChangeVideo package:flick_video_player/…/manager/video_manager.dart:104
E/flutter ( 4337): #4      new FlickManager package:flick_video_player/…/manager/flick_manager.dart:35
E/flutter ( 4337): #5      AspectRatioVideoState._onVideoControllerUpdate  my_project/page_video.dart:287
E/flutter ( 4337): #6      ChangeNotifier.notifyListeners package:flutter/…/foundation/change_notifier.dart:209
E/flutter ( 4337): #7      ValueNotifier.value= package:flutter/…/foundation/change_notifier.dart:276
E/flutter ( 4337): #8      VideoPlayerController.initialize.eventListener  package:video_player/video_player.dart:286
E/flutter ( 4337): #9      _rootRunUnary  (dart:async/zone.dart:1198:47)
E/flutter ( 4337): #10     _CustomZone.runUnary  (dart:async/zone.dart:1100:19)

Please try with the latest version and open this issue if still persist.
Thanks.


LaTeX rendering does not work

Environment data

VS Code version: 1.52.0-insider (latest, upgraded just now)
Jupyter Extension version: v2020.11.372831992 (latest)
OS and version: Ubuntu 20.04
Python and/or Anaconda version: conda 4.9.0, jupyter core 4.6.1, ipython 7.12.0, Python 3.8 and Julia 1.5.2
Type of virtual environment used: any
Jupyter server running: Local

Expected behaviour
LaTeX being rendered, as it does in Jupyter Notebook, Jupyter Lab, Google Colab and any other NBViewer.
Python:

Julia:

Actual behaviour
Markdown cells outputs raw LaTeX, code cells output says "No renderer could be found for MIME type: text/latex":
(The same code above, but in VSCode):
Python:

Julia:

Steps to reproduce:

Install Jupyter with any Kernel;
Install VS Code Insiders;
Install Jupyter Extension;
Create and open a new notebook (or open an existing, whatever);
Select any kernel you want;
Try writing the fanciest equation with LaTeX math;
Cry.

Yes, with Code-Insiders, even single dollar-sign Latex between $ $ , does not work in the new version notebooks markdown using the Jupyter extension.

Closing as a dup of https://github.com/microsoft/vscode-jupyter/issues/1216