[master]add wait time in refreshZIPL

need some time to wait for devNode ready
Signed-off-by: SharpRazor<EMAIL_ADDRESS>

abandon this because it doesn't pass the tests.


[Small Bug] Slowmode does not reduce battleground XP

I am playing a Night Elf Hunter with both Hardcore (no deaths) and 0.25x rules.
Battlegrounds give full XP, like 6000+ xp per battle win whereas quests give 250xp and mobs 10xp.
Could be a chance to improve base Acore as there's no way to disable or modifier battleground XP in the configs.

Thank you for the report. I will see if I am able to create a core fix in AzerothCore to address this.


Fix a typo: "cargo crates" -> "cargo.crates"

I caught this immediately after I updated cargo2port and opened the PR
while testing another version. I will be updating the PR once this is
merged.

Sorry about the typo on this, but the output of cargo2port 0.2.0 has a bug in it. It's easily fixed, but the goal is to have output that doesn't need to be fixed.


docker-multinode: Running cloud-provider specific code

I am facing an issue that I want to add specific options to the hyperkube command such as  --cloud-provider=openstack.  I modified the worker and master scripts then such that:

--cloud-provider and --cloud-config options are added to the hyperkube  command
I mount a host dir with the cloud_config file into the kubelet container (with the -v option)

  <skip> common.sh
 -v /home/ubuntu/containers_on_openstack/openstack-integration/hyperkube:/openstack \
         ${REGISTRY}/hyperkube:v${K8S_VERSION} \
        /hyperkube kubelet \
             ....
             --cloud-provider=openstack \
            --cloud-config=/openstack/cloud_config \
             ....
            --v=2

However the cinder plugin of kubernetes (for attaching Openstack Cinder volumes) will try to attach a volume and then find the corresponding device. However the cinder plugin can't find this device by disk-id:
I0730 18:28:18.370114    2300 openstack.go:984] Successfully attached 06b25a7b-7c99-4eee-9ab0-98a6c78676a1 volume to 7f07a3d7-1fc9-487f-84b7-c044c1dd5382 compute
W0730 18:28:18.370511    2300 cinder_util.go:103] Failed to find device for the diskid: "06b25a7b-7c99-4eee-9ab0-98a6c78676a1"
E0730 18:28:18.378081    2300 cinder_util.go:169] error running udevadm trigger fork/exec /usr/bin/udevadm: no such file or directory

The last log entry shows a failure to run udevadm trigger fork/exec /usr/bin/udevadm. I tried to run this command from within a bash session inside the kubelet container and then got as error:  Extraneous argument: 'fork/exec'
How can I solve this?
Thanks for any advice

Thanks!
At the meantime, this is a hard issue to solve.
We have to balance size of the hyperkube image vs usability (only the required packages for kubernetes to run vs all possible packages that could be required)
And right now cinder isn't installed in the hyperkube image.
What do you think is the best option to do?
I've been thinking about an option to run kubelet on host, but then it will be up to you to install the required packages...
@zreigz @cheld @mikedanese

Ok, your answer confirms what I've been experiencing with the Cinder plugin and the cloud-provider plugin of openstack.
As an alternative option you can install Flocker on the host, configure Flocker to use Cinder volumes,  and then integrate Flocker with hyperkube. I made a very simple extension of docker-multi-node's common.sh to pass the necessary environment variables and security credentials to hyperkube: See https://github.com/eddytruyen/kube-deploy/blob/master/docker-multinode/README.md

Ok, if I understood @luxas correctly than cinder/nova client stuff (which might require python) has to be installed to the hyperkube image (kind of apt-get install ...)
In my understanding the situation is particular bad on bare metal. We have lots of storage providers and some are even proprietary and not part of the distro.
The only solution that comes to my mind is to split kubelet into two containers. One contains kubelet and the other container contains a storage-manager.
The storage-manager is made up of a small go tool that provides an interface to kubelet and the custom drivers. Finally, the community provides one storage-manager container for each storage product.
CC @batikanu

I had the similar problem with openstack cinder volumes. I realized that after restarting/recreating kubelet it manages to create volume without error. In my case the os.Stat(devicePath) function in cinder_utils.go was causing the problem. I could verify the devicePath manually by logging into kubelet and running stat command which actually works. However it can't find the path which already exists if the same command is is run by an executable code (go or c). It is kind of flaky right now and the problem is related to containerized kubelet I guess. In addition to that, --hostname-override parameter of kubelet was also causing problem in my case. Therefore I removed it to make it work.

docker-multinode was removed in https://github.com/kubernetes/kube-deploy/pull/283 so I'm closing this issue as obsolete.


[Bridge] Consistently post "DidFailToLoad" notification when there's an error

Previously the bridge sometimes never fired RCTJavaScriptDidLoadNotification or RCTJavaScriptDidFailToLoadNotification if there was an error (for example, if the source code loaded but we couldn't inject the JSON config). This diff moves the error handling into a method called stopLoadingWithError that the bridge can call whenever there is an error.
Also if the script failed to load, the BatchedBridge still called executeSourceCode. With this diff the _loading flag is set to NO when the script fails to load, and executeSourceCode returns immediately when _loading is false. This way the bridge does not try to execute JS when there is a loading error.

@facebook-github-bot import


update exceptions for com.gitlab.newsflash

It seems like appid-code-hosting-too-few-components was recently upgraded to throw an error. And now my flathub build failed:
https://github.com/flathub/com.gitlab.newsflash/pull/16
Do I have to wait for this to hit flathub to publish new releases?

No, exceptions are updated "separately".


@conda-forge-admin, please add user @abbass2

Additional comment:
I tried this earlier but it failed with "egress exceeded" which appears to be an intermittent conda-forge issue.

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added user @abbass2 in conda-forge/pyqstrat-feedstock#6.


Feature/model podcast

Pull Request Test Coverage Report for Build 53

0 of 25 (0.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-16.7%) to 13.333%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/me/tobiadeyinka/beam/entities/Podcast.java
0
25
0.0%

Totals

Change from base Build 52:
-16.7%

Covered Lines:
6

Relevant Lines:
45

💛  - Coveralls


chore: assert.deelEqual => assert.deepStrictEqual

deepEqual is deprecated. Use deepStrictEqual instead

Codecov Report

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

@@          Coverage Diff          @@
##           master     #5   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          43     43
  Branches       12     12
=====================================
  Hits           43     43

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 c32d138...09d55d5. Read the comment docs.


Feature/logicandquestions code

added all the functions logic codes
added event listener
Added the questions to questions.js

All functions added to logic.js
event listener added to logic.js
questions added to questions.js


Use async-fn-in-trait (RPIT) for various Asset traits.

(First OSS contribution, so apologies if I mess up the format, roll-ups, or err the rest! Picked a random issue to see what it's like)
Objective
Simplify implementing some asset traits without Box::pin(async move{}) shenanigans.
Fixes (in part) #11308
Solution
Use async-fn in traits when possible in all traits. Traits with return position impl trait are not object safe however, and as AssetReader and AssetWriter are both used with dynamic dispatch, you need a Boxed version of these futures anyway.
In the future, Rust is adding proc macros to generate these traits automatically, and at some point in the future dyn traits should 'just work'. Until then.... this seemed liked the right approach given more ErasedXXX already exist, but, no clue if there's plans here! Especially since these are public now, it's a bit of an unfortunate API, and means this is a breaking change.
In theory this saves some performance when these traits are used with static dispatch, but, seems like most code paths go through dynamic dispatch which boxes anyway.

Changelog

AssetReader, AssetWriter, AssetLoader, AssetSaver and Process now use async-fn in traits, so they're easier to implement.

Migration Guide

Custom implementations of AssetReader, AssetWriter, AssetLoader, AssetSaver and Process should switch to async fn rather than returning bevy_utils::BoxedFuture.  Simultaniously, to use dynamic dispatch on these traits you should instead use dyn ErasedXXX.

Note for reviewers: Much easier to review if you hide the whitespace diff.

Ah didn't realise Bevy MSRV isn't 1.75 yet, that makes this a bit pointless.
Also WASM doesn't build - trait fns need to be optionally Send, only on non-wasm platforms. That's... tricky. Maybe too early for async-fn-in-trait after all, but, will do some reading on what the state of things is there currently.

Ah didn't realise Bevy MSRV isn't 1.75 yet, that makes this a bit pointless.

Shouldn't be a blocker, I think we can bump it.

Ah didn't realise Bevy MSRV isn't 1.75 yet, that makes this a bit pointless.

Shouldn't be a blocker, I think we can bump it.

Oh ok great! Would that be a seperate PR or included in this? Given the insistent bot I've added it in here.
That leaves the WASM problem. The recap, mainly for myself:

impl Future<> functions can (usually) be Send fine, as by design RPIT allows trait bounds to be inferred
However, for dynamic dispatch you need to KNOW the future is Send,. Hence the boxed future has an explicit Send bound.
On WASM however, wasm_bindgen uses JsPromise objects for futures(?) which are NOT send.
Bevy's boxed future is only Send on non-wasm platforms.
For impl Future<> however, we now need a way to specify MaybeSend for each function....

The potential solutions as far as I can see:

Duplicate every trait function with a different return cfg, urgh
Some type incantations I'm not aware of to make a MaybeSendOnlyOnWasm trait bound? Trait aliases would do this https://rust-lang.github.io/rfcs/1733-trait-alias.html
Switch to only using spawn_local for assets.
Switch to a non-work-stealing executor (eg. what this is arguing https://maciej.codes/2022-06-09-local-async.html)
Wait a while longer until rust sorts more async stuff out :)

So yeah, not sure, might have hit a dead end for wasm!

This PR is fine. Don't have time to think about WASM, will let someone else respond. Feel free to join the -dev channels in discord (engine-dev/asset-dev) and brainstorm solutions with other people though :)

No issues to update the MSRV, this is usually done in the first PR that needs the new version of Rust.
I would love to have this, but I also think this is blocked for Wasm for now 🙁

So it seems there is a way to make conditional Send bounds, and more people do it this way. Have made an attempt with a "FutureSend" (could be MaybeSend? ConditionalSend?) that seems to work for wasm!
Also tried to understand where this problem really comes from, and it basically comes down to: wasm_bindgen uses JS promises which aren't Send for futures for web APIs, including Fetch, which is why the HttpWasmAssetReader can't have Send futures. That really seems to be the only reason wasm needs this special treatment, though of course that propogates all the way through.
Let me know if this seems workable, still happy to say this is getting too weird and it should wait for rust to stabilise more async features, or idk use #[async_trait] instead and call it a day haha.
Thanks!

Thanks a lot for that! Really nice to hear your design thoughts :) Great that the Wasm solution sounds workable! I've renamed FutureSend to WasmNotSend as per giooschi's suggestion on Discord to match WGPU.
And yeah ErasedX is the main actual visible usability downside... Good point that that's maybe more what is exposed to the user even :/ My hope was that since a bunch of the other Asset traits already have these it's not a whole other concep to lear.
Really annoying that #[async-trait] CAN do without this but 'native' RPITIT can't! From yosh & boats blog seems the async-WG thinks dyn + async traits might happen in 2024, and could get rid of all these wrappers.

WasmNotSend

Not a huge deal, but I'd prefer it if we made the naming a bit more generic to avoid having "wasm" in the function signature. I think the trait name should make sense with or without the wasm context.
The module name seems like a good choice: ConditionalSend

Oh neat! Yeah prefer that too, made it ConditionalSend now. There could even be a generic feature for bevy tasks to support a work-stealing scheduler or not (which then just isn't supported on wasm).

Have updated to latest main in case this is still the way to go :) Some weird CI failures atm that I think are unrelated, other PRs seem to have the same.

Wellll seems like I fucked the merge pretty bad :') I'll redo this PR at head, it was getting a bit messy anyway.


infix operators

hi, some comments about the infix operators:
@@ overlaps with the builtin application f @@ g x == f (g x) which i think may be a bit intrusive?
precedence:
https://caml.inria.fr/pub/docs/manual-ocaml/expr.html
i think $@ for dot product has lower precedence than summation which it probably should not have. you probably want something that starts with * or % for instance<EMAIL_ADDRESS>there may be other precedence issues, not sure.
why are there /$ and $/ both? actually, i suspect that all of the $... combinations are problematic wrt precedence?
finally, one could think of adding prefix operators for negative and inverse? e.g. ~-@ and<EMAIL_ADDRESS>generally, how will this work out when vectors also enter the picture? will there be a symbol do denote vector-vector operations and another one for matrix-vector? i suspect modular implicits would allow overloading those, but is it even sure that they will come?

Modular implicits will certainly be the best solution whenever it is included in the official OCaml release. I don't know when it will happen eventually.
Overloading (if there is any in OCaml) infix is a pain in general. Your proposal (especially $@) makes sense since OCaml decides the precedence based on the first character of the infix operator. At the moment, I would recommend only locally open a module and explicitly use parentheses if you want to use those infix operators.
My currently plan is: there is an underlying layer to operate on native OCaml types (float, bigarray ...) then wrap them up in Owl_Ext module so they can interoperate different number types. Currently, there is only very limited support, but you can give it a try using master branch.
open Owl_ext;;
let a = F 2.5;;
let b = C Complex.({re=1.; im=2.});;
let x = Owl_ext_dense_matrix_z.sequential 3 3;;
let y = Owl_ext_dense_matrix_d.uniform 3 3;;
x + y;;
a * y;;
...

Note this module is not finished yet, but the infix will be redesigned in this module. Vector module is also working in progress, and it mostly serves Algodiff module to do algorithmic differentiation.

oh, ok that is some pretty low-level stuff. i was going to check what the types are but opam failed to install owl:
# File "lib/owl_dense_common.ml", line 108, characters 108-129:
# Error: Unbound module Lacaml_common
# Hint: Did you mean Lacaml__common?

...

I guess this is because the recent update of Lacaml changes its internal module names. Anyway you cannot test the example above if you use opam to install. You can use our docker image to try, or wait until the end of this week so I can publish a new release on opam. The new release will not have lacaml dependency any longer.

no worries, i can do it then. interesting that you move away from lacaml - what is replacing it for you?

Now that there's been a change, ....  :-)  Very much enjoying using Owl btw.  I didn't follow everything in the discussion above, but fwiw, I'm not sure I like having +, -, *, and / be the default infix matrix operators for elementwise arithmetic (or for anything).  That means that several additional characters are required in one way or another just so I can use a single infix operator a single time in  a function that also uses standard integer infixes.(Still a newbie, so correct me if I'm wrong.) This partly defeats the purpose of an infix in such a case.  The old Owl infix definitions didn't have the same consequence.  Alternatively I can use the prefix operator, but ... one of the things that attracted me to OCaml instead of Clojure--what I'd been using--is that prefix functions make complex equations difficult to read.  I guess an alternative is to just define my own infix operators, but it's preferable to follow a standard syntax.  I recognize there are a lot of tradeoffs here, and I don't expect I'll ever be one of the heaviest users, so I'm not saying that it's wrong to use the one-character arithmetic operators for matrix arithmetic, and I'll understand if Owl keeps the current definitions for elementwise infixes.  Just wanted to raise these points on the chance that it could be helpful for them to be raised.

i'm also not sure what to think about the Ext module.
it allows overloading the usual arithmetic operators (requiring to wrap scalars etc.), which is nice, and can make code much more readable.
on the other hand, i feel this is partly a step back into the untyped way of doing things. i.e. everything is wrapped into one big number/matrix/whatever type, and while the underlying functions know how to deal with it due to matching on the constructors, an "external" user of the library can no longer deduce from the type that a value returned from a function was a matrix (vs. a scalar); it's all just the wrapper type.
iiuc, the Ext module is meant for prototyping, where maybe such tight-typing concerns are secondary. this could be a valid point. in any case for "production" code i would be happier with something a little more verbose but with more meaningful types. and there is a risk of creating a two-languages problem (within one language...) where switching from prototype to production requires rewriting.
i could be overthinking/misinterpreting this, though..

Hi, thanks for raising this interesting discussion. First of all, there is no such absolutely correct solution but more about a design decision which I can briefly talk about in this thread.
There is no overloading in OCaml atm which already indicates operator design will be difficult. I am leaning more towards readability when designing Owl. Ext module is included for two reasons: (1) fast prototyping, most of the time, we just want to open utop and experiment some ideas. Ext is for that. (2) Ext is the preparation for modular implicits, whenever it is included in OCaml official release, Ext can be quickly modified to adapt modular implicits, in which case we will have the best of both worlds, type checking and operator overloading.
Each operator corresponds to one specific function implemented in Owl. You can always choose to call the function directly without using operators for performance and type checking. Operators are not going to replace those functions, so you can decide how and when to use them.
There are several things might be helpful:

operators are defined in this functor: operator. By modifying this file, you can redefine all the operators in Owl except those in Ext. This requires you to hack into Owl but it is really straightforward.

if you don't want to use operators at all, you can include Owl_dense_matrix_s instead Owl.Dense.Matrix.S; the previous one does not include operators. The same applies to other modules such as Owl_dense_ndarray_d and Owl.Dense.Ndarray.D ....

You can choose to open a module locally to avoid conflicts. Or, what I prefer using this:

module M = Dense.Matrix.S
....
M.(x + y >. 0.5)

M.(......) grammar gives you capability to use operator without messing up with OCaml's native operators. All in all, opening a module globally needs great care. E.g., Mat.sin, Mat.cos ... these functions can also conflicts with those in Pervasives module.
All in all, operators are optional and they are not meant to replace any functions in Owl.  You can actually redefine them if necessary. Nothing is fixed at the moment, as we accumulate more and more feedback, things will improve, hopefully :)

Thanks for the detailed explanation, and for noting a variety of options.  I had not understood that opening Ext allows overloading.  That's very nice.  I personally like overloading--one of the things I miss from SML--but I understand why OCaml avoids it for the reasons that nilsbecker expressed.
I think the M.(...) notation is probably OK from my point of view for me when matrix calculations are complex.
Instead of hacking operators.ml, another option is simply to define one's own aliases for particular operators using e.g. let (+$) = M.(+), or more directly let (+$) = M.add.  Since many ml files won't use many operators, this might not be a bad option, and it documents the operators explicitly within the file.
(After opening Owl and aliasing M to Dense.Matrix.S, where is the +$ in your example coming from?  I get an error from that.  Maybe a typo using the old notation--should be +?    I get an error from >., too.

Instead of hacking operators.ml, another option is simply to define one's own aliases for particular operators using e.g. let (+$) = M.(+), or more directly let (+$) = M.add.  Since many ml files won't use many operators, this might not be a bad option.

Indeed.

(After opening Owl and aliasing M to Dense.Matrix.S, where is the +$ in your example coming from?  I get an error from that.  Is that a typo--should be +?

Probably because you installed Owl using OPAM, +$ is currently in master branch and will appear in the next release. +$ is for adding a matrix with a scalar.

I get an error from >., too.

Sorry it was a typo, it should be >.$ which is for element-wise comparison of a matrix/array to a scalar value. In Ext module, you can drop $ and simply use + and >. since it allows interoperation between different numbers. This tutorial might be helpful.


Fix / optimize memory usage when transferring connection from Node.js

The memory usage completely explodes when putting Node.js as the HTTP server. This needs investigation - it should be consuming the same amount of memory as when using the built-in HTTP server (after explicitly running the GC). There is no reason for this massive memory usage difference.

Can anyone explain to me why this piece of vanilla Node.js-code is consuming over 1.6 GB of RAM? It runs until it fails due to failed memory allocation. I'm calling the GC every 10k connection and I'm closing the socket - there should be no reason whatsoever for consuming that much RAM!
const http = require('http');
const httpServer = http.createServer((request, response) => {
  response.end();
});

var connections = 0;

httpServer.on('upgrade', (request, socket, head) => {
    if (++connections % 10000 == 0) {
        gc();
    }

    socket.end('\r\n\r\n');
});

httpServer.listen(3000);

I'm running bench1 against it and it fails on ~400k connections. Using the built-in HTTP server manages 1 million connections at 290 MB of RAM........ zzzzzzZZZZZzzzZZZZZZzz

https://github.com/nodejs/node/issues/6632

It fails to close the socket since bench1 is blocking and not allowing socket.end() to finish facepalm

Just a question, sorry if I missed something -- you mentioned that socket.destroy() fixed the memory usage, right? Could it be because socket.end() allows the connection to remain half-open until the client ends the connection on its side? https://nodejs.org/api/net.html#net_event_end

Yes it was my own fault - socket.end() doesn't close until the client receives which it never did. But I'm still very confused - my sockets from Node.js consume more memory than those from my own HTTP server. They seem to have the same buffer size and all, very strange.

Maybe node is slower to close the connections and clean them up than your server?

(I'm not a C++ programmer, so I don't really know the inner workings of your and node's http servers and such, so apologies in advance for my ignorance)

My problem is this:
httpServer.on('upgrade', (request, socket, head) => {

});

vs
httpServer.on('upgrade', (request, socket, head) => {
    // dup(socket._handle.fd)
    // socket.destroy();
});

They both do the same, they just leave the socket open which lets me measure the memory usage of the first one (keeps the net.Socket) and the lower one (dups the underlying FD, removes the net.Socket).
300k connections of the upper one consumes 1 GB of RAM.
300k connections of the lower one consumes 430 MB of RAM.
The net.Socket is very bloated and we remove it to get the underlying FD only which consumes less memory and can be used from native land. The problem is - it shouldn't be 400 MB, rather about 90 MB (like 300k connections to the built-in HTTP server). It should scale the same in memory, which it doesn't do currently.

I think I found the issue. Every transfer function call creates a V8 ObjectTemplate and this thing is humongous in memory size and seems to never be GC:d at all. I should probably reuse this template.

https://bugs.chromium.org/p/v8/issues/detail?id=2221

Everything adds up now


What is training input data format?

Dear Author,
I am fine-tuning your pretrained RITA with a protein family data, using run_clm.py script @ huggingface. I tried this format where seq1 & seq2 are protein sequences 1 & 2 without white space:
seq1
<|endoftext|>
seq2
<|endoftext|>
...
and also this format:
seq1
seq2
...
Training seemed to be successful. However, sequences generated by the fine tuned model contain a lot of '' tokens.
Please advise. Thanks.

I'm not particularly familiar with the huggingface code base, and I do not currently have the time to read up one the specifics.
The format used during training is:
seq1
<EOS>
seq2
<EOS>
...

The issue does however seem unrelated to the input format, the version without <EOS> should also work fine. It outputting " Is strange since this token is not part of our vocabulary, I'd make sure that you train using our tokenizer:
tokenizer = AutoTokenizer.from_pretrained("lightonai/RITA_s")

Hi @DanielHesslow, Could you please advise what tokenizer you used for training RITA, and what is the vocabulary size? Thanks!

tokenizer = AutoTokenizer.from_pretrained("lightonai/RITA_s")
Is indeed the correct tokenizer. the vocab size is 26.


api: name attachment field according to surrounding style

Rather than invent style conventions, we should follow what has been
done before. This removes the unnecessary "lb" from the attachments
field. Network attachements are a general concept, not for specific use
cases. If we need to identify different attachments, we should tag the
attachement itself, rather than label fields. This will ensure that we
can grow without introducing xxx_attachements fields for each new use
case.
This was requested in review but seems to have been dropped.
Signed-off-by: Stephen J Day<EMAIL_ADDRESS>

Addresses some missed areas from #2363.

Sorry for missing this feedback in the original review.
Will make the changes requested in https://github.com/moby/moby/pull/34674

@pradipd No worries. I blame github's review feature.

LGTM


Changed domain to one used by HASS

UI build in into Home Assistant uses different domains to trigger scripts and switches.

If you look closely to the toggleSwitch code you will see that homeassistant is the default domain which is than being overridden by others:
var domain = "homeassistant";
var group = item.id.split('.')[0];

if(['switch', 'light', 'fan'].indexOf(group) !== -1) domain = group;

Although this is personal preference, we could update the one calling script. Could you please update the PR?

Oh that true, I missed this bit.


Update item that does exists in the db

Hi!
I have a situation where I am trying to add an object to a list.
If the list exists in the database, everything works fine and the item is added. But if the list does not yet exist, I get the following error: ValidationException: The provided expression refers to an attribute that does not exist in the item
This is what the code looks like:
 await Customer.build(UpdateItemCommand)       .item({ customer_id: customerId, ai_questions: $append([question]) })       .send();
Is there a way for the list to be created if it doesn't already exist?
*Because in the previous version, this functionally worked, so maybe I missing something?

Indeed that's a small regression from the v0, not too hard to fix. Will do that on monday!

Thanks, and what about creation nested attributes in mp if nor exists?
For example:
A : {
B : {
C : {
some_attribute: [...]
}
}
}
Lets say i have this kind of nested map, and i want to add the some_attribute, but C not exists yet, could be a solution for this also?
Thanks for your help!

@NoamHandelman Should be available in v1.3.8 (fixed by https://github.com/dynamodb-toolbox/dynamodb-toolbox/pull/888)
About maps: That would be nice but I don't think it's feasible. No UpdateExpression can represent this need.
$append and $prepend upserts are possible because they are at the same nesting level:
SET someList = list_append(if_not_exists(someList, []), [1, 2, 3])

There's just no equivalent with maps.


API: add graceful restart support

//TODO(karampok): what immutable field means in ffr-k8s
/kind feature
//TODO

@fedepaol please have a look, I think is complete. Thank you

couple of nits and it's good to go, thanks!

sending to merge queue, thanks!


fix: Clarify comment in backup consumer logic

Opened this old PR for review, please feel free to merge, and please use squash merge.


Driver installation issues

Originally reported by: siilky (Bitbucket: siilky, GitHub: Unknown)

I have clean WinXP SP3 installed with some updates and trying to install TH driver of latest release (013).

OS is missing KMDF by default and sc/serviceManager are ending with "file not found" error when starting service.
I spent another day discovering this error source ended up with KMDF installation, done with Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe found somewhere at internets since MS has ended support for XP and corresponding KB cannot be downloaded probably.

So, now it attemps to start and StartService fails with error 6 "Invalid Handle"
Here is more detailed wdf log from kernel debugger:
#!

WdfLdr: FxDllInitialize - OsVersion(5.1)
WdfLdr: WdfVersionBind - WdfLdr: WdfVersionBind: enter
WdfLdr: GetVersionRegistryHandle - Component path \Registry\Machine\System\CurrentControlSet\Control\Wdf\Kmdf\KmdfLibrary\Versions
WdfLdr: GetVersionServicePath - GetVersionServicePath (\Registry\Machine\System\CurrentControlSet\Services\Wdf01000)
WdfLdr: GetImageName - Version Image Name "wdf01000.sys"
WdfLdr: WdfLdrDiagnosticsValueByNameAsULONG - Value 0x1
WdfLdr: WdfLdrDiagnosticsValueByNameAsULONG - Status 0x0
Wdf01000: DriverEntry
WdfLdr: WdfRegisterLibrary - Module(85F71F70)
Wdf01000: LibraryCommission
Wdf01000: OsVersion(5.1)
WdfLdr: GetImageName - Version Image Name "TitanHide.sys"
WdfLdr: LibraryLinkInClient - Client Image Name: TitanHide.sys
Wdf01000: LibraryRegisterClient: enter
WdfLdr: WdfVersionBind - WdfLdr: libraryRegisterClient: LibraryLinkInClient failed C0000024
WdfLdr: ClientCleanupAndFree - Client Image Name: TitanHide.sys
WdfLdr: LibraryReleaseClientReference - WdfLdr: LibraryReleaseClientReference: Dereference module \Registry\Machine\System\CurrentControlSet\Services\Wdf01000
Wdf01000: LibraryDecommission: enter
Wdf01000: LibraryDecommission: exit
WdfLdr: LibraryUnload - WdfLdr: LibraryUnload: Unload module \Registry\Machine\System\CurrentControlSet\Services\Wdf01000
Wdf01000: DriverUnload
WdfLdr: WdfVersionUnbind - WdfLdr: WdfVersionUnbind: exit: 0
WdfLdr: WdfVersionBind - Returning with Status 0xc0000024
WdfLdr: DllUnload - WdfLdr: DllUnload: enter
WdfLdr: DllUnload - WdfLdr: DllUnload: exit

Quick googling leads us to possible KMDF version mismatch http://stackoverflow.com/questions/13254487/why-am-i-getting-error-code-6-on-startservice

TitanHideTest / TitanHideGui cannot be started and explorer says it's "not valid win32 application". Probably also dll/os version mismatch but I didn't dig into it yet.

Bitbucket: https://bitbucket.org/mrexodia/titanhide/issue/14

This should be fixable by changing all occurrences of <DriverType>KMDF</DriverType> with <DriverType>WDM</DriverType> in the .vcxproj and recompiling. TitanHide is a pure WDM driver, it doesn't need the KMDF (which is what WdfLdr comes from and why it's deployed with the .sys when you compile as KMDF).

Thanks @Mattiwatti!


[Question] Unicode range

Just curiosity, I crated a word parsers and I'm using a slightly different unicode range.
Could be possible determinate what range is more correct?

Closing because this is very old and I have no idea.


编译binding/lua时报错

环境是mac osx Yosemite 10.10.4，openresty附带的luajit-2.1。
···
gcc -O2 -fPIC -Wall  -shared -o protobuf.so -I../.. -I/usr/local/openresty/luajit/include/luajit-2.1 -L../../build pbc-lua.c -lpbc
Undefined symbols for architecture x86_64:
"_luaL_checkinteger", referenced from:
__rmessage_new in pbc-lua-cc4638.o
__rmessage_integer in pbc-lua-cc4638.o
__rmessage_int32 in pbc-lua-cc4638.o
__rmessage_int64 in pbc-lua-cc4638.o
__rmessage_int52 in pbc-lua-cc4638.o
__rmessage_uint52 in pbc-lua-cc4638.o
__rmessage_real in pbc-lua-cc4638.o
...
"_luaL_checklstring", referenced from:
__env_register in pbc-lua-cc4638.o
__env_type in pbc-lua-cc4638.o
__rmessage_new in pbc-lua-cc4638.o
__rmessage_integer in pbc-lua-cc4638.o
__rmessage_int32 in pbc-lua-cc4638.o
__rmessage_int64 in pbc-lua-cc4638.o
__rmessage_int52 in pbc-lua-cc4638.o
...
"_luaL_checknumber", referenced from:
__wmessage_real in pbc-lua-cc4638.o
__wmessage_int52 in pbc-lua-cc4638.o
__wmessage_uint52 in pbc-lua-cc4638.o
__pattern_pack in pbc-lua-cc4638.o
"_luaL_checktype", referenced from:
__decode in pbc-lua-cc4638.o
"_luaL_error", referenced from:
__env_register in pbc-lua-cc4638.o
__env_type in pbc-lua-cc4638.o
__rmessage_new in pbc-lua-cc4638.o
__rmessage_delete in pbc-lua-cc4638.o
__rmessage_integer in pbc-lua-cc4638.o
__rmessage_int32 in pbc-lua-cc4638.o
__rmessage_int64 in pbc-lua-cc4638.o
...
"_luaL_register", referenced from:
_luaopen_protobuf_c in pbc-lua-cc4638.o
"_lua_call", referenced from:
_push_value in pbc-lua-cc4638.o
"_lua_checkstack", referenced from:
__pattern_unpack in pbc-lua-cc4638.o
"_lua_createtable", referenced from:
__pattern_unpack in pbc-lua-cc4638.o
__decode in pbc-lua-cc4638.o
__gc in pbc-lua-cc4638.o
_decode_cb in pbc-lua-cc4638.o
"_lua_insert", referenced from:
_decode_cb in pbc-lua-cc4638.o
"_lua_isstring", referenced from:
__rmessage_new in pbc-lua-cc4638.o
__pattern_unpack in pbc-lua-cc4638.o
"_lua_isuserdata", referenced from:
__pattern_unpack in pbc-lua-cc4638.o
"_lua_newuserdata", referenced from:
__gc in pbc-lua-cc4638.o
"_lua_objlen", referenced from:
__pattern_pack in pbc-lua-cc4638.o
_decode_cb in pbc-lua-cc4638.o
"_lua_pushboolean", referenced from:
__env_type in pbc-lua-cc4638.o
__pattern_unpack in pbc-lua-cc4638.o
__decode in pbc-lua-cc4638.o
_push_value in pbc-lua-cc4638.o
"_lua_pushcclosure", referenced from:
__gc in pbc-lua-cc4638.o
"_lua_pushinteger", referenced from:
__env_type in pbc-lua-cc4638.o
__rmessage_integer in pbc-lua-cc4638.o
__rmessage_size in pbc-lua-cc4638.o
__wmessage_buffer in pbc-lua-cc4638.o
__pattern_size in pbc-lua-cc4638.o
__pattern_unpack in pbc-lua-cc4638.o
__env_enum_id in pbc-lua-cc4638.o
...
"_lua_pushlightuserdata", referenced from:
__env_new in pbc-lua-cc4638.o
__rmessage_new in pbc-lua-cc4638.o
__rmessage_int32 in pbc-lua-cc4638.o
__rmessage_message in pbc-lua-cc4638.o
__wmessage_new in pbc-lua-cc4638.o
__wmessage_message in pbc-lua-cc4638.o
__wmessage_buffer in pbc-lua-cc4638.o
...
"_lua_pushlstring", referenced from:
__rmessage_int64 in pbc-lua-cc4638.o
__rmessage_string in pbc-lua-cc4638.o
__wmessage_buffer_string in pbc-lua-cc4638.o
__pattern_unpack in pbc-lua-cc4638.o
__pattern_pack in pbc-lua-cc4638.o
_push_value in pbc-lua-cc4638.o
"_lua_pushnumber", referenced from:
__rmessage_int52 in pbc-lua-cc4638.o
__rmessage_uint52 in pbc-lua-cc4638.o
__rmessage_real in pbc-lua-cc4638.o
__pattern_unpack in pbc-lua-cc4638.o
_push_value in pbc-lua-cc4638.o
"_lua_pushstring", referenced from:
__env_type in pbc-lua-cc4638.o
__last_error in pbc-lua-cc4638.o
_push_value in pbc-lua-cc4638.o
"_lua_pushvalue", referenced from:
__decode in pbc-lua-cc4638.o
_decode_cb in pbc-lua-cc4638.o
_push_value in pbc-lua-cc4638.o
"_lua_rawgeti", referenced from:
__pattern_pack in pbc-lua-cc4638.o
_decode_cb in pbc-lua-cc4638.o
"_lua_rawseti", referenced from:
__pattern_unpack in pbc-lua-cc4638.o
_decode_cb in pbc-lua-cc4638.o
"_lua_setfield", referenced from:
__gc in pbc-lua-cc4638.o
_decode_cb in pbc-lua-cc4638.o
"_lua_setmetatable", referenced from:
__gc in pbc-lua-cc4638.o
"_lua_settop", referenced from:
__env_type in pbc-lua-cc4638.o
__pattern_pack in pbc-lua-cc4638.o
_decode_cb in pbc-lua-cc4638.o
"_lua_toboolean", referenced from:
__pattern_pack in pbc-lua-cc4638.o
"_lua_tointeger", referenced from:
__rmessage_string in pbc-lua-cc4638.o
__rmessage_message in pbc-lua-cc4638.o
__pattern_unpack in pbc-lua-cc4638.o
__pattern_pack in pbc-lua-cc4638.o
"_lua_tolstring", referenced from:
__rmessage_new in pbc-lua-cc4638.o
__wmessage_int64 in pbc-lua-cc4638.o
__pattern_unpack in pbc-lua-cc4638.o
__pattern_pack in pbc-lua-cc4638.o
"_lua_touserdata", referenced from:
__env_register in pbc-lua-cc4638.o
__env_type in pbc-lua-cc4638.o
__rmessage_new in pbc-lua-cc4638.o
__rmessage_delete in pbc-lua-cc4638.o
__rmessage_integer in pbc-lua-cc4638.o
__rmessage_int32 in pbc-lua-cc4638.o
__rmessage_int64 in pbc-lua-cc4638.o
...
"_lua_type", referenced from:
__env_type in pbc-lua-cc4638.o
__wmessage_int32 in pbc-lua-cc4638.o
__wmessage_int64 in pbc-lua-cc4638.o
__pattern_pack in pbc-lua-cc4638.o
__decode in pbc-lua-cc4638.o
_decode_cb in pbc-lua-cc4638.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [protobuf.so] Error 1
···

google How to Create Shared Objects under Mac OS X

Thks, 我依照google结果在编译参数中加了 -dynamiclib，依旧报错。

要在编译参数中加入 -undefined dynamic_lookup 才可以


Plugin unable to parse and import failed test cases to testrail

This framework works when test pass and doesn't upload any results to testrail when test fails

Hi @lokeshreddyp
I am actually using it in production and it is working in all cases so far.
Therefore i am very curious what's causing your issues.
Can you please provide additional details like error details (log output) and maybe even the actual report (json)?
Thanks

hi @ma-jahn Thanks for your reply.Here is the json {   "stats": {     "suites": 0,     "tests": 1,     "passes": 0,     "pending": 0,     "failures": 1,     "start": "2021-11-01T02:38:49.852Z",     "end": "2021-11-01T02:39:29.625Z",     "duration": 39773,     "testsRegistered": 1,     "passPercent": 0,     "pendingPercent": 0,     "other": 0,     "hasOther": false,     "skipped": 0,     "hasSkipped": false   },   "results": [     {       "uuid": "a0ebffef-fa9a-4bac-b649-05485e6cfb61",       "title": "",       "fullFile": "cypress/integration/Tests/GeneralTests/LoginTest.js",       "file": "cypress/integration/Tests/GeneralTests/LoginTest.js",       "beforeHooks": [],       "afterHooks": [],       "tests": [         {           "title": "sample test [4931]",           "fullTitle": "sample test [4931]",           "timedOut": null,           "duration": 39677,           "state": "failed",           "speed": null,           "pass": false,           "fail": true,           "pending": false,           "context": null,           "code": "// Cypress.currentTest.retries(3);\ncommonPage.visit();\nviewPortSizes.forEach(function (viewPortSize) {\n  cy.viewport(viewPortSize);\n  if (viewPortSize == 'iphone-x') {\n    mobileWebHomePage.login(username, password);\n    cy.wait(2000);\n    mobileWebHomePage.logout();\n    cy.wait(300);\n  } else {\n    webHomePage.login(username, password);\n    cy.wait(700);\n    webHomePage.logout();\n    cy.wait(300);\n  }\n});",           "err": {             "message": "AssertionError: Timed out retrying: Expected to find element: [data-testid=profileIcon], but never found it.",             "estack": "AssertionError: Timed out retrying: Expected to find element: [data-testid=profileIcon], but never found it.\n    at WebHomePage.myAccountButton (https://alpha.test.com/__cypress/tests?p=cypress/integration/Tests/GeneralTests/LoginTest.js:2462:32)\n    at WebHomePage.logout (https://alpha.test.com/__cypress/tests?p=cypress/integration/Tests/GeneralTests/LoginTest.js:2721:12)\n    at eval (https://alpha.test.com/__cypress/tests?p=cypress/integration/Tests/GeneralTests/LoginTest.js:2776:19)\nat Array.forEach (<anonymous>)\n    at Context.eval (https://alpha.test.com/__cypress/tests?p=cypress/integration/Tests/GeneralTests/LoginTest.js:2765:17)",             "diff": null           },           "uuid": "27f871bf-c8fc-428c-a082-ee646abd93ee",           "parentUUID": "a0ebffef-fa9a-4bac-b649-05485e6cfb61",           "isHook": false,           "skipped": false         }       ],       "suites": [],       "passes": [],       "failures": [         "27f871bf-c8fc-428c-a082-ee646abd93ee"       ],       "pending": [],       "skipped": [],       "duration": 39677,       "root": true,       "rootEmpty": false,       "_timeout": 2000     }   ],   "meta": {     "mocha": {       "version": "7.0.1"     },     "mochawesome": {       "options": {         "quiet": false,         "reportFilename": "result.json",         "saveHtml": false,         "saveJson": true,         "consoleReporter": "spec",         "useInlineDiffs": false,         "code": true       },       "version": "6.3.1"     },     "marge": {       "options": {         "reportDir": "test/cypress/results",         "reportFilename": "result.json",         "overwrite": true,         "html": false,         "json": true       },       "version": "5.2.0"     }   } }
here is the log
`1) sample test [4931]
0 passing (12s)
1 failing

sample test [4931]:
AssertionError: Timed out retrying: Expected to find element: [data-testid=profileIcon], but never found it.
at WebHomePage.myAccountButton (https://alpha.company.com/__cypress/tests?p=cypress/integration/Tests/GeneralTests/LoginTest.js:2462:32)
at WebHomePage.logout (https://alpha.company.com/__cypress/tests?p=cypress/integration/Tests/GeneralTests/LoginTest.js:2721:12)
at eval (https://alpha.company.com/__cypress/tests?p=cypress/integration/Tests/GeneralTests/LoginTest.js:2776:19)
at Array.forEach ()
at Context.eval (https://alpha.company.com/__cypress/tests?p=cypress/integration/Tests/GeneralTests/LoginTest.js:2765:17)

[mochawesome] Report JSON saved to /Users/lr/Desktop/company/company/test/cypress/results/result.json
(Results)
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Tests:        1                                                                                │
│ Passing:      0                                                                                │
│ Failing:      1                                                                                │
│ Pending:      0                                                                                │
│ Skipped:      0                                                                                │
│ Screenshots:  1                                                                                │
│ Video:        true                                                                             │
│ Duration:     11 seconds                                                                       │
│ Estimated:    19 seconds                                                                       │
│ Spec Ran:     Tests/GeneralTests/LoginTest.js                                                  │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
(Screenshots)

/Users/lr/Desktop/company/company/cypress/screenshots/Tests/    (2400x1708)
GeneralTests/LoginTest.js/sample test [4931] (failed).png

(Video)

Started processing:  Compressing to 32 CRF
Finished processing: /Users/lr/Desktop/company/company/cypre    (0 seconds)
ss/videos/Tests/GeneralTests/LoginTest.js.mp4

(Uploading Results)

Done Uploading (1/2) /Users/lr/Desktop/company/company/cypress/videos/Tests/GeneralTests/LoginTest.js.mp4
Done Uploading (2/2) /Users/lr/Desktop/company/company/cypress/screenshots/Tests/GeneralTests/LoginTest.js/sample test [4931] (failed).png

====================================================================================================
(Run Finished)
   Spec                                              Tests  Passing  Failing  Pending  Skipped

┌────────────────────────────────────────────────────────────────────────────────────────────────┐
│ ✖  Tests/GeneralTests/LoginTest.js          00:11        1        -        1        -        - │
└────────────────────────────────────────────────────────────────────────────────────────────────┘
✖  1 of 1 failed (100%)                     00:11        1        -        1        -        -
───────────────────────────────────────────────────────────────────────────────────────────────────────
Recorded Run: https://dashboard.cypress.io/projects/tyay/runs/9426
`

Hi @ma-jahn please let me know if you need any more info on this?


Storage Mover option

Consider to update this page to include new Storage Mover tool as part of the options for data transfer to Azure

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

ID: 6a98cba6-7267-3b45-8403-ff4138c1fec0
Version Independent ID: e0ef9a1f-1caa-ed3a-257d-13a6e6136bd7
Content: Choose an Azure solution for data transfer
Content Source: articles/storage/common/storage-choose-data-transfer-solution.md
Service: azure-storage
GitHub Login: @stevenmatthew
Microsoft Alias: shaas

@aamorale
Thanks for your feedback! We will investigate and update as appropriate.

@stevenmatthew
Can you please check and add your comments on this doc update request as applicable.

@aamorale
I'm going to assign this to the document author so they can take a look at it accordingly

@aamorale - Thanks for reaching out. This issue was a duplicate or another, previously-submitted issue and was addressed with an update. Apologies for not linking the two issues; you should be able to see the updates to the article now. Thanks again for reaching out, and don't hesitate to let me know how I can improve any of the content related to Storage Mover.

#please-close


Why don't you have Blazor components to do this?

Why don't you have Blazor components to do this?
You need to keep current with your own company...

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

ID: 6105e897-0348-115a-6e1a-17d9d40c0c17
Version Independent ID: af9d7502-9677-11fd-cf29-bcef34d2d941
Content: Embed Power BI report in a Power BI embedded analytics application for your organization - Power BI
Content Source: powerbi-docs/developer/embedded/embed-organization-app.md
Service: powerbi
Sub-service: powerbi-developer
GitHub Login: @KesemSharabi
Microsoft Alias: kesharab

Thanks for your comment, @sarchibald-mdsol . This looks like a support request or product question rather than documentation feedback. You might find a solution in the Power BI Community, at https://community.powerbi.com. If not, you can get support by going to https://support.powerbi.com.


Fixes #7524 Backend: Allow users to rename the Glossary name and Glos…

…sary term names
Describe your changes :

See #7524

Type of change :

[x] New feature

Checklist:

[x] I have read the CONTRIBUTING document.
[x] I have commented on my code, particularly in hard-to-understand areas.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

@TeddyCr the UI has data insights related failure


Replace old controls with modern counterparts (e.g., MaterialDesign TextBoxes, Buttons with hover effects)

This has been mostly taken care of with the theme currently being used.


[Feature] Consider datapoints using native types

Currently all datapoints are stored as string values.
It should be evaluated whether it's possible to add a second set of datapoints using native types - integers, datetime etc. depending on types returned by snmp. This could provide benefits for history and database adapters as numbers could be processed nativly as numbers.
To keep compatibility those DPs should not replace current DPs but be added as new DPs either using a second device or by adding i.e. "-native" to the current DP name. Making those DPs optional could avoid not needed DPs at installations ot using them.

implemented with v2.3.0


Redesign actor interface

Design

DssActor interface
AbstractDssActor abstract class
DssMasterActor interface
DssServiceActor interface

I drop b2293f9 commit

merge to develop-0.5