Add C++ Api For Cronet

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

This is a first pass at adding a C++ API for Cronet. I still haven't figured out how testing should work.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Hi - the makefile is not updated directly but it is generated. Adding @nicolasnoble to advise on how to get this functionality checked in, and adding @yang-g for reviewing the API.

I did generate the Makefile using "./tools/buildgen/generate_projects.sh". It's possible that I used it script incorrectly though. Let me see see what happened.

this is ok to test
It looks to me like the Makefile changes were properly generated from the build.yaml changes. We'll have to see the test output to be sure, but I think that part is OK.

BTW, I tried running the tests locally as specified by the contributing documentation, but it didn't seem to work.
gcasto@gcasto-2:~/grpc$ ./tools/run_tests/run_tests.py
languages with custom make options cannot be built simultaneously with other languages
I could run tests for a specific language using the "-l" flag, but I couldn't run the entire suite. Is this expected?

It looks like this change would only affect the C++ target, so you should only need to run the C++ tests to verify it.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

So, it looks like the tests are failing, but I don't think that this should be related to my change. This shouldn't even change the compilation on Window for example. Should I do something to re-run the tests?

LGTM

What's the next step here? It looks like I still need approval.

jenkins: test this please

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Are these flakes in the tests? These don't seem related to my change (it shouldn't even have touched the Windows).

@nicolasnoble @jtattermusch - Could you please look at the failures? They indeed seem unrelated.

@makdharma   no point for me too look at the tests when one of the most important suites "Basic Tests Linux" didn't finish running (it probably got stuck for issues associated with worker reboots, so you'll need to restart the tests).

Please rebase to get a fresh test run and then we can look at the results.

Looks like the tests are still failing.

Ping?

Could you add copyright header in: src/cpp/client/cronet_credentials.cc
and clang-format the code according to:
--- /local-code/src/cpp/client/cronet_credentials.cc	2016-10-17 17:05:47.590557067 +0000
+++ /tmp/tmp.b7466Z2NzX	2016-10-17 17:40:06.186644296 +0000
@@ -1,32 +1,30 @@
#include <grpc++/security/credentials.h>
-#include <grpc/grpc_cronet.h>
#include <grpc++/channel.h>
#include <grpc++/support/channel_arguments.h>
+#include <grpc/grpc_cronet.h>
#include "src/cpp/client/create_channel_internal.h"
namespace grpc {
class CronetChannelCredentialsImpl GRPC_FINAL : public ChannelCredentials {
public:

CronetChannelCredentialsImpl(void* engine)

 : engine_(engine) {}

CronetChannelCredentialsImpl(void* engine) : engine_(engine) {}
std::shared_ptrgrpc::Channel CreateChannel(
const string& target, const grpc::ChannelArguments& args) GRPC_OVERRIDE {
grpc_channel_args channel_args;
args.SetChannelArgs(&channel_args);
return CreateChannelInternal(

   "",

   grpc_cronet_secure_channel_create(

       engine_, target.c_str(), &channel_args, nullptr));

   "", grpc_cronet_secure_channel_create(engine_, target.c_str(),

                                         &channel_args, nullptr));

}
SecureChannelCredentials* AsSecureCredentials() GRPC_OVERRIDE {
return nullptr;
}

-private:

private:
void* engine_;
};

Better formatted:
--- /local-code/src/cpp/client/cronet_credentials.cc	2016-10-17 17:05:47.590557067 +0000
+++ /tmp/tmp.b7466Z2NzX	2016-10-17 17:40:06.186644296 +0000
@@ -1,32 +1,30 @@
 #include <grpc++/security/credentials.h>

-#include <grpc/grpc_cronet.h>
 #include <grpc++/channel.h>
 #include <grpc++/support/channel_arguments.h>
+#include <grpc/grpc_cronet.h>
 #include "src/cpp/client/create_channel_internal.h"

 namespace grpc {

 class CronetChannelCredentialsImpl GRPC_FINAL : public ChannelCredentials {
  public:
-  CronetChannelCredentialsImpl(void* engine)
-      : engine_(engine) {}
+  CronetChannelCredentialsImpl(void* engine) : engine_(engine) {}

   std::shared_ptr<grpc::Channel> CreateChannel(
       const string& target, const grpc::ChannelArguments& args) GRPC_OVERRIDE {
     grpc_channel_args channel_args;
     args.SetChannelArgs(&channel_args);
     return CreateChannelInternal(
-        "",
-        grpc_cronet_secure_channel_create(
-            engine_, target.c_str(), &channel_args, nullptr));
+        "", grpc_cronet_secure_channel_create(engine_, target.c_str(),
+                                              &channel_args, nullptr));
   }

   SecureChannelCredentials* AsSecureCredentials() GRPC_OVERRIDE {
     return nullptr;
   }

-private:
+ private:
   void* engine_;
 };

Still not sure if I understand what is going on with the tests. Any suggestions?

I think they are flaky tests. Merging.


POC for join reordering using simplify_up

This is a POC for join reordering using simplify_up. There are plenty of cases where this'll break and I haven't implemented this fully but for this specific example it shows that this kind of optimization works in principle.
So far, It only works if the merges are indeed nested and as soon as there is another expression in between than cannot be pushed further down (e.g. a column rename/assign wouldn't be uncommon). I haven't explored this direction yet.
I doubt we'll ever merge this but I was playing with it and wanted to share this
cc @hendrikmakait

It only works if the merges are indeed nested and as soon as there is another expression in between than cannot be pushed further down (e.g. a column rename/assign wouldn't be uncommon).

Just saying something for completeness (probably you're already thinking this) but in theory we'd get good at pushing what operations we could through a join (obviously not possible with all operations) so that we often get to the point where we have Join(Join(...), ...).  My guess is that various benchmark queries will start pointing out situations where we can push operations through and get to this point.

Yes, I thought so too. My sense is that even with this kind of optimization we could already catch a lot of stuff.
I could even see us implementing similar logic for stuff like "Is not a merge but a series of blockwise things that lead up to a merge".
I think it would be generally a good thing to know a little about the chain of things on either side. For instance, if there are already applied filters on either side this would be helpful to know in the cost estimation. We may end up with a global pass eventually... but for now I liked the simplicity to play with this a little.
My textbook/research knowledge for join order optimization is a little thin here. I honestly don't know if a "rearrange individual join tuples to get a local optimum" is a decent strategy or a horrible one ¯_(ツ)_/¯

When I looked at join reordering strategies earlier in this process I was surprised to learn that most systems like Spark/Presto that don't store their own data tend to have pretty generic join reordering strategies on by default.  They might not do a ton.  My guess is that the fancy optimizers tend to all be in databases that hold onto their own data and so store cardinality estimates (postgres, snowflake).  Maybe Spark+Delta achieves this though?

Yes, I thought so too. My sense is that even with this kind of optimization we could already catch a lot of stuff.
I could even see us implementing similar logic for stuff like "Is not a merge but a series of blockwise things that lead up to a merge".

This might be quite useful. I can see quite a few use cases where we drop the join keys as soon as we finished a join, which would inject a Projection between the Merges.

My textbook/research knowledge for join order optimization is a little thin here. I honestly don't know if a "rearrange individual join tuples to get a local optimum" is a decent strategy or a horrible one ¯_(ツ)_/¯

The risk of running into a local optimum is often mentioned as a downside of hill-climbing or iterative improvement for join ordering, which is AFAIR why it's not widely used as opposed to Selinger-style optimization. Then again, our cost model has very little to work with, which changes the game.


The HTML reporter is misleading. Here's a simple fix.

The HTML reporter shows how well each component is covered by percentage. But it doesn't take into account the fact that some components are much larger than others. At least not visually. For example, can you tell from a glance which component has the greatest number of untested branches? (Hint: it's not the one highlighted in yellow.)

Here's a simple fix. Instead of the raw numbers, show a dot for each uncovered item.

I've created a bookmarklet to test out the idea.
javascript:(function()%7Bvar%20cells%20%3D%20document.querySelectorAll('td.abs')%3B%20for(var%20i%3D0%3B%20i%3Ccells.length%3B%20i%2B%2B)%20%7B%20%20var%20tokens%20%3D%20cells%5Bi%5D.innerText.split(%2F%5C(%7C%5Cs%7C%5C)%2Fg)%3B%20var%20count%20%3D%20tokens%5B3%5D%20-%20tokens%5B1%5D%3B%20var%20markers%20%3D%20new%20Array(count).join('.')%3B%20cells%5Bi%5D.title%20%3D%20cells%5Bi%5D.innerText%3B%20cells%5Bi%5D.innerHTML%20%3D%20markers%3B%20%7D%7D)()

Here's the raw code.
var cells = document.querySelectorAll('td.abs');
for (var i = 0; i < cells.length; i++) {
	var tokens = cells[i].innerText.split(/\(|\s|\)/g);
	var count = tokens[3] - tokens[1];
	var markers = new Array(count).join('.');
	cells[i].title = cells[i].innerText;
	cells[i].innerHTML = markers;
}

Try it out. If you're interested I'm happy to submit a patch. Thanks for creating and sharing this very useful tool!

Great!
What do you think about improving this idea by not removing the raw numbers and making the dots more expressive? Maybe a progress bar or relative graph or something...

Sure! In my proof of concept I hid the numbers behind the title attribute so that you can see them by hovering over the dots. It might not be a bad idea to ask ux.stackexchange.com for suggestions on how to make the dots more expressive. They love answering questions like that and usually come up with one or two really good ideas.

To be clear, I'm fine with bringing back the numbers (and not hiding them behind the title attribute).

It seems that you want the percent related to the other items listed. In that case I would sum all the numerators and use that as the denominator to calculate the percent to reflect what you're looking for. So instead of the dots you'd have a percent there. The percent of all the lines would add up to 100%. It would also be sortable by that value. Does that achieve your goal?

My goal is to be able to see at a glance where most of the untested code is.

Using what I stated would work then. Let's say that you have 3 rows and the values in parens are (5/10), (10/20), (20/40). All of these would yield 50%. However you want the 20/40 listed first or highlighted as needs attention over the others.
So if you added up the numerators (5 + 10 + 20) you get 35. Dividing each of the numerators would give you 5/35, 10/35 and 20/35. You could then sort by that value and the percent would represent that total percent of lines/statements etc. that are uncovered.
Even simpler would be to just list the numerators in a column and that would also be sortable and give the same result. You might prefer the percent to show one file relative to another and all of the them.

I like the idea of the bars, maybe we can put the bar as the background to the numbers? I'd love to see some PR's for this :smile:

@guyellis I like this idea. Much better than the bars and gives a nice sortable extra column for this info.


Heroku

Any way to host on Heroku? Trying to get it done and share it but I cannot get it to launch

it is because heroku uses only production depencies

i will add heroku button in README

you can host just static files from gh-pages branch and you will have same result


Expose pod locality

Desired change
Expose the locality of the pod derived from the platform on which it is running (AWS, GCP, Minikube etc).
Example
For pods running on a service mesh, there is typically metadata that is exposed by the mesh that includes the details of the locality of the pod. For example, for a pod running on AWS with istio, the envoy sidecar will have the following values available at http://localhost:15000/config_dump?resource=&mask=&name_regex=:
"locality": {
"region": "us-east-2",
"zone": "us-east-2c"
}

Added the above enhancement in commits #https://github.com/ThoughtWorks-DPS/hello-restful/commit/f576487f5336cd218ebf85b006221976e4a080b2, https://github.com/ThoughtWorks-DPS/hello-restful/commit/ff90c07da170f8f8737b7f67e4054023b40012cd, https://github.com/ThoughtWorks-DPS/hello-restful/commit/60df7f19be0db7d2927d75e7e2155ccdca1c1858
New endpoint is now available at BASE_URL/v1/hello/server/locality and returns the following responses:

When server information is available:

{
  "region": "region (eg us-east-2)",
  "zone": "zone (eg us-east-2c)",
  "sub_zone": "sub_zone (eg rack-1)" # not applicable for kubernetes
}

When server information cannot be queried:

{
  "message": "Unable to query server information"
}

Locality information is obtained by querying the envoy sidecar server_info endpoint available at http://localhost:15000/server_info

Do we feel confident that continued use of the server construct is a good plan? e.g., probably a holdover from the notion that an app is running on a server. In this case we get back node info, which is what we want, and we expect it to be ephemeral in the sense that If I query the service repeated I fully expect I may get a different answer every time based on LB, and I may bet new answers based on l8s orchestration/scaling/etc. - But regardless, the model of is being the "server" is the one we want to persist?

The use of server seemed appropriate since Envoy uses the same terminology (as indicated by their naming of the endpoint that is queried for this information - see here). However, I do agree that this may be more of a hold-over than an appropriate construct for the reasons you mentioned.
One option I considered was to simply expose this information at the endpoint BASE_URL/v1/hello/locality since that's currently all that's being returned. However I figure it would be helpful to have some sort of umbrella path in case we decide to return more "server-like" (or I guess in this case "node-like") information in the future.
Another option is to simply change the path to be BASE_URL/v1/hello/node/locality. Thoughts?

I like Node.
Other thoughts: At the moment, the endpoint is dependent on Istio to provide the info. Therefore we are doing a query against a proxy. e.g., we are returning what the envoy sidecar to a given pod 'thinks' is the current node info. What if it is wrong? Hence, we could put it behind hello/envoy/locality and /envoy itself, if it evolves further, remains limited to envoy data.
Envoy could also be used independent of istio (just as general proxy, like where we might otherwise use nginx). You could argue that /istio/envoy/locality is more accurate, but that may be a bit pedantic.

Noted. If we want to be that specific then I suggest we go with /istio/envoy and change the response payload to include locality as a key instead (see example below):
{
  "locality": {
    "region": "region (eg us-east-2)",
    "zone": "zone (eg us-east-2c)",
    "sub_zone": "sub_zone (eg rack-1)"
  }
}


Bug: Drones mine minerals without storage/terminal (after room wipe)

Issue summary
Description of issue:

Steps to reproduce:

Error message:

// Console output:

// Offending line:

Suggested fix (optional):

Other information:

Overmind version: {found in package.json or by typing info() into console}

Commit hash: {optional, but helpful: include the commit hash (if known)}

should be fixed now in #134


Make Scala GMM faster

Here's your reminder @shivaram

@tomerk do you know if the diff I had for this is available in your keystone repo ?

Never mind - I found it. I'll make a PR for this today


Carrot is broken when importing into Codepen

Describe the bug
Title captures description
To Reproduce
Steps to reproduce the behavior:

Go to 'codepen.io'
Click on 'Open JS Settings' & paste CDN link
Copy and paste neuro-evolution example
Open console
See error

Screenshots

Desktop (please complete the following information):

OS: ChromeOS
Browser: chrome

Fixed with 5ad00afa9965f3be411974fae27216849d653e60


Move init containers to stable in v1.6

Since init containers concept was proved in beta version in 1.4 and 1.5 it can be moved to stable in 1.6.
upstream PR: https://github.com/kubernetes/kubernetes/pull/38382
trello: https://trello.com/c/Yr7TRKHr/578-5-node-promote-init-containers-to-ga

This change is

@hodovska If this PR isn't relevant until the 1.6 release, it's going to sit here for a while without being merged.

Thanks @hodovska for updating this. Looks pretty good.  One suggestion

@hodovska FYI, the kubernetes:release-1.6 branch is now available. Please change the base branch to that. Thx

@erictune  I rebased PR and made relevant changes, could you please review it again, since the structure changed in 1.6?

@hodovska I made some minor changes to make the docs more consistent w/ how we capitalize Container and Init Container when they are referenced as concepts instead of specific instances.

@erictune Ping me when you give your final LGTM. I will merge this PR then. Thx

@hodovska @erictune Is this ready to be merged?

@hodovska I merged in master and release-1.6 to bring this branch up to date. Cheers


[FLINK-27101][checkpointing][rest] Add restful API to trigger checkpoints

What is the purpose of the change
This pull request adds a restful API for one-time checkpointing triggering. This allows user to break incremental checkpoint chain by triggering a manual full checkpoint. Restful API delegates the scheduling to user.
Brief change log

The checkpoint trigger restful API is async, similar to savepoint restful API
The checkpoint trigger API takes a CheckpointRetentionPolicy and will only trigger checkpoint once
A new public triggerCheckpoint method taking a CheckpointProperty is added to CheckpointCoordinator

Verifying this change
This change added tests and can be verified as follows:

Added unit tests to validate CheckpointTriggerHandler and CheckpointTriggerStatusHandler restful handlers
[WIP] Added integration tests for ...
[WIP] Manually verified the changes by ...

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: yes
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? generated docs for restful API

Thanks a lot for the contribution @leletan . It looks mostly good to me, I've left a couple of comments. It would be great if someone else (maybe @zentol ) could also take a look at the REST API changes.
Also there seems to be a build failure.

If yes, how is the feature documented? [WIP]

Let's not forget about this :)

Thanks for the super fast response, @pnowojski !
Do we have a standard convention/process about restful API feature?

The only thing I found so far is this README. I am still a little bit confused after reading the README. Do we have an example for that?
Any restful API documentation other than above we need to add?

Also I am wondering if this change would need any further test coverages? If yes, where would be the best place I should start looking?

re documentation: You basically just run mvn package -Dgenerate-rest-docs -pl flink-docs -am -nsu -DskipTests locally.

@pnowojski @zentol Addressed the code comments (at least I thought I did) and generated the docs. Please take a look whenever you have time. Thanks!

API was modified in a compatible way, but the snapshot was not updated. To update the snapshot, re-run this test with -Dgenerate-rest-snapshot being set.
Run "mvn verify -Dgenerate-rest-snapshot -pl flink-runtime-web -nsu", or RuntimeRestAPIStabilityTest with the property being set.
Essentially there are 2 files we generate: the documentation (with my last comment) and a snapshot for comparing compatibility (we cant use the docs because we don't persist everything we need IIRC).

Hi folks, @pnowojski @stevenzwu @zentol I believe I addressed all comments except the pending naming of the old CheckpointType class name.
Personally I don't have any strong opinion about the class name so I just marked it as @Internal for now. I am happy to update it after we reach a consensus.
Meanwhile please let me know if everything else looks good to you.
Thanks!

Thanks again folks. All comments should be address, please let me know if there is anything else I need to do for this PR.

@leletan I think we probably should make the CheckpointType and SavepointType renaming as a separate PR. merge that one first then come back on this one. it gets difficult to review the diff when the two changes are mixed together. touching so many files.

@stevenzwu All your comments should be addressed. Please let me know if there is anything missing. Thanks!

@pnowojski Your comments and change requests should all be addressed. Please let me know if I miss anything. Thanks!

@leletan we shall come back to this PR after the internal class renaming is merged. Please create a jira and PR for that first.

Thanks, @pnowojski and @stevenzwu!
Combing the feedbacks and here is my plan:

fix the build
rebase all the changes so far into one commit.
do a follow up commit for the class renaming in this PR
Let me know if you have concern about above.

@flinkbot run azure

Hi folks, @pnowojski @stevenzwu @zentol Thanks for your review again. I believe I addressed all comments, except the pending naming of the old CheckpointType class name (will add in a later commit to make the code easier)
One big change is, I added one more CheckpointType as CONFIGURED, to represent using the existing internal CheckpointSnapshotType as configured by flink application to triggerCheckpoint, replacing previous legacy minicluster case represented by null.
Please let me know if there is anything else I am missing.

@zentol I see I have a lot of style issues and thanks for pointing them out. I am wondering if you have a doc / pointer for those style rules so I won't make those mistakes in the future.

@zentol Thanks for the detailed feedbacks, really appreciated them!
I should have addressed all the comments in this round. Please take another look when you have a chance.

@flinkbot run azure


feature req: syslog handler

lots of systems still rely heavily on syslog, it'd be really good for there to be a syslog aware handler. some features I'd like to see in a hypothetical handler:

automatically sends the correct log level
lets you specify the syslog facility and app name
defaults to a local socket connection, with a fallback to <IP_ADDRESS>, but allows specifying a remote server
understands not to break log output across multiple lines, defaults to escaping newline characters in output

sounds fine to me!

https://github.com/apex/log/pull/84

working on using logfmt for output formatting, but ran into an upstream issue which I'll need to resolve (https://github.com/go-logfmt/logfmt/issues/9).

What's the hold up on this PR? Coming to apex from logrus since it's dead but needing good syslog support.

@utdrmac just waiting on a review and merge from @tj, just figured their life got busy because of The World. feel free to use my branch in the mean time I suppose.


Create studenti.txt

Please add this domain of Università del Piemonte Orientale "Amedeo Avogadro", Italy.
It's the domain used for students services.
You can check here: https://www.studenti.uniupo.it
University main site: http://www.uniupo.it
Unfortunately, all pages are in italian ONLY, hope someone can understand. Thanks!

@ulisse75 Pull request merged. Thank you!


Add 400 Retry to Monitoring Write Point System Test

Fixes #2402.

@dhermes Can't do much about all the retrying but I think this will fix the test.

Thanks for the quick turnaround @waprin!

Can't do much about all the retrying but I think this will fix the test.

You can tweak the retry defaults like the initial delay and the number of retries.

@waprin This doesn't fix the issue reported in #2402.
I just checked out the stacktrace and it happens when the iterator is cast to a list: https://github.com/GoogleCloudPlatform/google-cloud-python/blob/af4f346e238e1a45ff5754335b9f8a4d98708e49/system_tests/monitoring.py#L212

@dhermes does it look right to you now?

LGTM pending Travis.
Can you

Ping me once Travis goes green (I'll merge for you)
File an issue to make the blunt instrument sharper (i.e. blunt thing == these error retries)

@dhermes travis green


Bot is not adding comment in the PR

I tried using the same configuration but it is not adding comments to the PR. I thought of some access issue with GITHUB_TOKEN but I tried using personal access token too, nothing worked out.
Is there anything from your side or am i doing something wrong ?

have you set OPEN_API_KEY in the variables?

have you set OPEN_API_KEY in the variables?

yes, i have added OPENAI_API_KEY in the env file and deployed on lambda, but when making a pull request, and the chatAPI.sendMessage function is being called in the lambda.index file, then aws lambda is timing out, not providing result.
it is working on local as it is taking the function then from the node modules

try to add up the timeout value for aws lambda


Placeholders in a path

Is your feature request related to a problem? Please describe.
If you want to project out a simple structure out of a large JSON you have two options:
a) Formalize the large JSON scheme, parse that, and post-process it
b) Get the parts you need with using paths
However, a) is expensive for the programmer, and b) is quite limited and computationally expensive if you want to get around that
Describe the solution you'd like
let vs = sonic_rs::get(line, sonic_rs::pointer!["aliases", "en", Index, "value"])
and
let o = sonic_rs::get(line, sonic_rs::pointer!["aliases", Key, 0, "value"])
Describe alternatives you've considered
for i in 0..MAX_ARRAY_SIZE {
  match sonic_rs::get(line, sonic_rs::pointer!["aliases", "en", i, "value"]) {
    Ok(r) => { vs.push_back(r) }
    Err(_) => { break }
  }
}

and
for lang in languages {
  match sonic_rs::get(line, sonic_rs::pointer!["aliases", lang, 0, "value"]) {
    Ok(r) => { o.insert(lang, r) }
    Err(_) => { continue }
  }
}

Additional context
Think about it as using a well-typed Glob for your JSON.
Notably, the workaround gets quadratically worse when you have more placeholders in your path.

Yes, pointer! has limitations when it comes to retrieving multiple keys from a large JSON.
If we want to perform quick and flexible searches on large JSON data, it is advisable to support the JSONPath RFC. While it is included in the roadmap, it may not be completed shortly.
There is an existing high-performance JSONPath library available at https://github.com/rsonquery/rsonpath that can be used for this purpose.


Delay in MessageProperties is using Integer when it should be using Long data type, not allowing max delay to be used

The method setDelay and getDelay in MessageProperties use an integer as its data type.
The integer data type will have a max value<PHONE_NUMBER>
According to rabbitmq-delayed-message-exchange plugin documentation, x-delay supports up to (2^32)-1 milliseconds which is<PHONE_NUMBER>
(In Erlang a timer can be set up to (2^32)-1 milliseconds in the future).
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange#performance-impact
The question is: Shouldn't setDelay and getDelay use Long as its data type?
Reference for setDelay and getDelay in here:
https://github.com/spring-projects/spring-amqp/blob/97644e95e014157ced925c2a8d8ec3cc689d425b/spring-amqp/src/main/java/org/springframework/amqp/core/MessageProperties.java#L442

Java doesn't have an unsigned integer.
It makes no sense to me to delay a message for 25 days, let alone 49 days.
If you really want to do that, use
msg.getMessageProperties().setHeader(MessageProperties.X_DELAY, 0xffffffffL);

Sounds good to me. Thank you Gary


[NEW]Abstract the NFT upsert

This PR is a step towards the abstraction of Superprofile.

Closing in view of #169
Thanks!


Batch mode cannot be executed from config file

Seems like when the batch input mode is specified from the config file, vina (as installed from conda, AutoDock Vina 58016d8-mod) does not recognize the batch option and tries to read the batch regular expression (input_dir/*.pdbqt) as a file, resulting in an error. I can always specify the batch option from the command line, so it is not a big deal, but still might be worth check in.
------ Command --------
vina --config configFile.txt
------ Config file --------
batch = ./tmp/*.pdbqt
scoring = ad4
maps = 1s63_tz
center_x = 11.148385089189023
center_y =<PHONE_NUMBER>4879297
center_z = 1.9764267131155862
size_x = 70.0
size_y = 70.0
size_z = 70.0
dir = .
cpu = 4
exhaustiveness = 3
max_evals = 0
num_modes = 2
min_rmsd = 2.0
verbosity = 2
----- Error ------
Scoring function : ad4
Exhaustiveness: 3
CPU: 4
Verbosity: 2
Reading AD4.2 maps ... done.
Error: could not open "./tmp/*.pdbqt" for reading.
----- Alternative ------
Remove batch line from config file
Command:  vina --batch ./tmp/.pdbqt --config configFile.txt

How about use absolute path instead of relative path for batch and dir argument in your config file.
It will work fine.
Best,
Taka


chore(main): release 1.27.1

:robot: I have created a release beep boop
1.27.1 (2024-10-30)
Bug Fixes

Simplify subject attribute matching (#1348) (55159b7)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.27.1
:sunflower:


Adding Backtracking algorithms in Python.

🚀 Feature
I would like to add the following backtracking algorithms to this project in Python language.

N-queens
Sudoku Solver
Rat in maze

Have you read the Contributing Guidelines on Pull Requests?

[x] Yes

Motivation
There are no backtracking algorithms added to the Python folder. I'll be working on this under WoC.
Pitch
These are some of the most famous backtracking problems and are often asked in interviews.

Make sure to have different PRs for different algorithms.

@HarshCasper  I want to contribute to the Backtracking Folder with

Subset Sum
Knight's Tour Problem
Hamiltonian Cycle
All the above problems will be used using Backtracking in Python. Please assign me the Issue

assigned @charlie219


[#752] Optimize and make optional asset conservation checking

In my configuration, with the new method, check.asset_conservation() takes less than 2s instead more than 155s.

Coverage decreased (-0.08%) to 64.77% when pulling e7daa07cc7203ce897b2acfefcac3f3e23ec8168 on conservation into 2ea1dd37de38db6514493d91724aef4309e9189f on develop.

Awesome

woo hoo!

woot !

Can you clarify on the "make optional asset conservation checking" ??
What is the conservation checking for ?

@mtbitcoin, it's a sanity check to make sure that the number of assets in balances and in escrow sum to the total number issued. If there were ever a mistake in the protocol that deleted on created an asset unintentionally, clients running the conservation check would halt with an error.

ok. Noted.
As a tradeoff, have you considered just running the sanity checks say after XX number of block (once a day, etc) ?
side note: I have found that with the conservation checks off, the mempool transactions shows up really quick and works well for checking the pending transactions. I've always had this issue (which wasn't an issue in ealier on).  So in hindsight, it looks like the issue might have been due to the sanity check and increase volume of assets registered instead

There's no best option. The optimal setting depends on the particular use case. Feel free to patch the code to run it only every, say, 100 blocks. I think the likelihood of the sanity check catching an error is pretty low.


Width send to child includes border and padding of parent container

Should we subtract these out?
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetWidth
Specifically an issue dailygraphics preview mode which draws a dashed border around the preview container.

Possible easy fix for this: document that you can't have border/padding on the container. If you need it, wrap the container in another div and apply it there.


[RFE] Indexing In Many to Many Mapping

Is your feature request related to a problem? Please describe.
In Atlasmap when we mapped collection to collection there is no option for copyTo index function which is required sometimes.
Describe the solution you'd like
This is the mapping I have done using atlasmap.

In above screen shot as you can see I have mapped name -> name field and value->value field.
JSON Request(source doc)
{
	"resources": [
		{
			"name": "IMSI",
			"value": "6267171"
		},
		{
			"name": "KiValue",
			"value": "6267171"
		},
		{
			"name": "MSISDN",
			"value": "6267171"
		}
	]
}

In JSON request I have collection of resources which have name value pair.
Expected transformed JSON.
{
	"resources": [
		{
			"resourceCharacteristics": [
				{
					"name": "IMSI",
					"value": "8976898641110022"
				},
				{
					"name": "KiValue",
					"value": "897dkfh86411jwe022"
				}
			]
		},
		{
			"resourceCharacteristics": [
				{
					"name": "MSISDN",
					"value": "53047860022"
				}
			]
		}
	]
}

In transformed JSON I want to place IMSI and KiValue name field in target doc resources collection at index 1 and MSISDN name field to target doc resources collection at index 2.
But if have done mapping like above then transformed JSON looks like this:
{
	"resources": [
		{
			"resourceCharacteristics": [
				{
					"name": "IMSI",
					"value": "8976898641110022"
				},
				{
					"name": "KiValue",
					"value": "897dkfh86411jwe022"
				},
				{
					"name": "resourceNumber",
					"value": "53047860022"
				}
			]
		}
	]
}

So that's why there should be an option for indexing in collection to collection mapping to cover such scenarios.

Is the combination of itemAt() and copyTo() the one you want?

Is the combination of itemAt() and copyTo() the one you want?

Yes @igarashitm

Cool - those are already there. closing


Apply same style across all Taipy GUI applications

Description
At this time, we have no mean to create a stylesheet that can be applied systematically to all Taipy GUI applications.
Code is mandatory to do that.
Solution Proposed
If a CSS file called taipy.css sits next to the Python script running Taipy GUI (<app>.py) that is being run, and there is no <app>.css file next to it, then taipy.css is loaded with all the application pages.
Impact of Solution
Legacy applications run in taipy.py will behave the same way.
However, other scripts sitting next to this one would now load the CSS file, which was not the case before.
Additional Context
No response
Acceptance Criteria

[ ] Ensure new code is unit tested, and check code coverage is at least 90%.
[ ] Create related issue in taipy-doc for documentation and Release Notes.
[ ] Check if a new demo could be provided based on this, or if legacy demos could be benefit from it.
[ ] Ensure any change is well documented.

Code of Conduct

[X] I have checked the existing issues.
[X] I am willing to work on this issue (optional)

Is this not the aim of the Stylekit?

Is this not the aim of the Stylekit?

Kind of. But how do you then apply the same Stylekit settings across apps?
And what if you don't want the Stylekit?

I am not sure this answers the question, but can't we leverage the taipy create command line?
We can ask the developer if he/she wants to use the default CSS. That could also be the default choice.
What do you think?


 Please use load_from_disk instead.
Steps to reproduce the bug

Save a dataset with save_to_disk
Try to load it with load_datasets

Expected behavior
I am able to load the dataset again with load_datasets which most packages uses over load_from_disk. I want to have a workaround that allows me to create the same indexing that push_to_hub creates for you before using save_to_disk - how can that be achieved?
Environment info
datasets 2.17.1, python 3.10

save_to_disk uses a special serialization that can only be read using load_from_disk.
Contrary to load_dataset, load_from_disk directly loads Arrow files and uses the dataset directory as cache.
On the other hand load_dataset does a conversion step to get Arrow files from the raw data files (could be in JSON, CSV, Parquet etc.) and caches them in the datasets cache directory (default is ~/.cache/huggingface/datasets). We haven't implemented any logic in load_dataset to support datasets saved with save_to_disk because they don't use the same cache.

@lhoestq, so is it correctly understood that if I run to_parquet() and then save_to_disk(), I can load it with load_dataset? If yes, then it would resolve this issue (and should probably be documented somewhere 😄)

Here is an example:
ds.to_parquet("my/local/dir/data.parquet")

# later
ds = load_dataset("my/local/dir")

and for bigger datasets:
num_shards = 1024  # set number of files to save (e.g. try to have files smaller than 5GB)
for shard_idx in num_shards:
    shard = ds.shard(index=shard_idx, num_shards=num_shards)
    shard.to_parquet(f"my/local/dir/{shard_idx:05d}.parquet")  # 00000.parquet to 01023.parquet

# later
ds = load_dataset("my/local/dir")

I hope this helps :)

Thanks for helping out! Does this approach work with s3fs? e.g. something like this:
import s3fs
s3 = s3fs.S3FileSystem(anon=True)
with s3.open('mybucket/new-file.parquet', 'w') as f:
    ds.to_parquet(f)

This is instead of save_to_disk to save to an S3 bucket.
Otherwise, I am not sure how to make this work when saving the dataset to an S3 bucket. Would dataset.set_format("arrow") work as a replacement?

load_dataset does't support S3 buckets unfortunately :/

load_dataset does't support S3 buckets unfortunately :/

I am aware but I have some code that downloads it to disk before using that method. The most important part is to store it in a format that load_dataset is compatible with.

Feel free to use Parquet then :)

I ended up with this. Not ideal to save to local disk, but it works and loads via load_datasets after downloading from S3 with another method.
with tempfile.TemporaryDirectory() as dir:
    dataset_nbytes = ds._estimate_nbytes()
    max_shard_size_local = convert_file_size_to_int(max_shard_size)
    num_shards = int(dataset_nbytes / max_shard_size_local) + 1

    for shard_idx in range(num_shards):
        shard = ds.shard(index=shard_idx, num_shards=num_shards)
        shard.to_parquet(f"{dir}/{shard_idx:05d}.parquet")

    fs.upload(
        lpath=dir,
        rpath=s3_path,
        recursive=True,
    )


implement componentlist validate command

https://github.com/ODU-CGA-CubeSat/cubesat-cli/blob/main/cubesat-cli.py#L36

closed as per https://github.com/ODU-CGA-CubeSat/cubesat-cli/commit/e13e2662658d7c391e783a4870ac8151eb4fdd29


Some branch names displayed differently from actual branch name

I have a branch called "5.9.6-hotfix" in my repo, but the commit graph shows it as "hotfix-5.9.6". Why?

I think this is due to the SVG framework i'm using. I'll be sure this is fixed before the next release.

I have confirmed that the branch name 5.9.6-hotfix does not wrap on v3.0.

Thanks!


Suppress clang 3.9 warnings

Equivalent to the change we made in OIIO on this same topic: https://github.com/OpenImageIO/oiio/pull/1529

LGTM


Disable Ipv6 canot start tso service

Our servers's ipv6 is disabled, how can i config it  to start tso service
config:
<?xml version="1.0" ?>
<yandex>
    <logger>
        <level>trace</level>
        <log>/var/log/byconity-server/tso.log</log>
        <errorlog>/var/log/byconity-server/tso.err.log</errorlog>
        <size>1000M</size>
        <count>10</count>
    </logger>
    <tso_service>
        <port>9910</port>
        <keeper>
            <port>2181</port>
        </keeper>
        <type>fdb</type>
        <fdb>
            <cluster_file>/etc/byconity-server/fdb.cluster</cluster_file>
        </fdb>
        <tso_window_ms>3000</tso_window_ms>
        <tso_get_leader_info_interval_ms>0</tso_get_leader_info_interval_ms>
        <tso_max_retry_count>3</tso_max_retry_count>
    </tso_service>
    <cnch_config>/etc/byconity-server/cnch_config.xml</cnch_config>
</yandex>

log>
Cannot set max size of core file to<PHONE_NUMBER>
Logging trace to /var/log/byconity-server/tso.log
Logging errors to /var/log/byconity-server/tso.err.log
Logging trace to console
2023.06.06 19:09:34.906459 [ 11249 ] {} <Information> SentryWriter: Sending crash reports is disabled
2023.06.06 19:09:34.917977 [ 11249 ] {} <Trace> Pipe: Pipe capacity is 1.00 MiB
2023.06.06 19:09:35.057279 [ 11249 ] {} <Information> : Starting ClickHouse <IP_ADDRESS> scm <IP_ADDRESS> with revision 54453, build id: 41CF6CA422E79ADE, PID 11249
Processing configuration file '/etc/byconity-server/cnch_config.xml'.
2023.06.06 19:09:35.058786 [ 11249 ] {} <Trace> Application: host_port: <IP_ADDRESS>:9910
2023.06.06 19:09:35.114799 [ 11249 ] {} <Information> Application: Added rpc service
E0606 19:09:35.120972 11249 ../contrib/incubator-brpc/src/brpc/server.cpp:1011] Fail to listen [::]:9910
2023.06.06 19:09:35.120996 [ 11249 ] {} <Error> Application: Failed to start TSO server on address: [::]:9910
2023.06.06 19:09:35.121992 [ 11249 ] {} <Error> Application: DB::Exception: Failed to start TSO server on address: [::]:9910 SQLSTATE: HY000
2023.06.06 19:09:35.122024 [ 11249 ] {} <Debug> Application: Uninitializing subsystem: Logging Subsystem
2023.06.06 19:09:35.122269 [ 11302 ] {} <Trace> BaseDaemon: Received signal -2
2023.06.06 19:09:35.122306 [ 11302 ] {} <Information> BaseDaemon: Stop SignalListener thread

Hi @huoarter , this seems like a bug, let we take a look

The address :: is a wild card interface for both ipv6 and ipv4, are you sure there is no other process occupied port 9910?

Hi @huoarter, the address :: is a wild card interface for both ipv6 and ipv4, are you sure there is no other process occupied port 9910?

Yes ,i am sure 9910 is not used. I change anther port the same problem occour

Hi @huoarter , please wait for us to fix this issue, may I ask how do you deployed ByConity, via packages or k8s?

I deploy ByConity via package.


Rebuild for omniorb

Checklist

[X] Used a personal fork of the feedstock to propose changes
[X] Bumped the build number (if the version is unchanged)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[X] Ensured the license file is being packaged.

Bump build number to recompile with new omniorb windows build. See https://github.com/conda-forge/omniorb-feedstock/pull/38
cpptango isn't compatible with omniorb 4.3 yet.
See https://gitlab.com/tango-controls/cppTango/-/issues/760
Pin omniorb to make sure we compile with 4.2 for now.

@conda-forge-admin, please rerender


⚠ Processors has degraded performance

In f41b4a9, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 52 ms

Resolved: Processors performance has improved in e1aae68.


Import unsafe processing instead of copy pasting it

See: https://api3workspace.slack.com/archives/C05S589E7B4/p1695199725392089?thread_ts=1695139260.280159&cid=C05S589E7B4

This issue should be migrated to the api3dao/commons repo

We need to create an issue "Export unsafe processing" at the commons repo but this issue should remain because commons exporting it is one thing and this repo importing it is another

Duplicate of https://github.com/api3dao/signed-api/issues/77


FLPATH-480:recommend option & return workflow type in workflowResponseDto

What this PR does / why we need it:
recommend option & return workflow type in workflowResponseDto
Which issue(s) this PR fixes:
Fixes #480
Change type

[ ] New feature
[x] Bug fix
[ ] Unit tests
[ ] Integration tests
[ ] CI
[ ] Documentation
[ ] Auto-generated SDK code

Impacted services

[ ] Workflow Service
[ ] Notification Service

Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.

/approve

/lgtm


[rsasynccpp] Add new port (Rstein.AsyncCpp)

New Port - Rstein.AsyncCpp library.
The RStein.AsyncCpp library is a set of types that should be familiar for anyone who knows the Task Parallel Library (TPL) for .NET (C#). In addition, this library contains simple DataFlow, threadless actors (agents), functional combinators for the Task class, useful async primitives (AsyncSemaphore, AsyncProducerConsumerCollection, CancellationToken, CancellationTokenSource, AsyncMutex, SynchronizationContext, SynchronizationContextScope ...).
Rstein.AsyncCpp

Which triplets are supported/not supported? Have you updated the CI baseline?
I have tested the library on  x86-windows and x64-windows. UWP triplets seem to be working as well.

Does your PR follow the maintainer guide?
I am not sure if the feature 'lib-cl-win-legacy-await' is acceptable, but I didn't find a better way.

Thanks for the new library!

Thanks!


SGX support in WSL

It seems SGX is not supported in WSL2.
Since there is SGX support both within Hyper-V, and since Jan in CBL-Mariner (https://github.com/microsoft/CBL-Mariner/releases/tag/1.0.20220122-1.0), is there any plan for adding the support to WSL2?

@shalabhjain the in-kernel driver for SGX support was mainlined in version 5.11. WSL is using 5.10, still. Since WSL kernel supports module loading/unloading you could try building an out-of-tree driver.


Allows assign_new/2 to take a map of values

Description
Thanks to @amclain and @thejohncotton for the inspiration.
This PR allows assign_new to take a map of values like assign.

Motivation and Context
Consistency in the API is essential, in line with the recent work of assign/2 taking a list or map. Building on the previous work allows assign_new/2 to work with either a keyword list or map.

Types of changes

[ ] Bug fix (a non-breaking change which fixes an issue)
[ ] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to
not work as expected)
[x] Improvement/refactoring (non-breaking change that doesn't add any feature
but make things better)

Checklist

[x] Check other PRs and make sure that the changes are not done yet.
[x] The PR title is no longer than 64 characters.

I did this on the driver instead of the scene. I will update it later.

I updated it and brought Scene and Driver into the same API.


Re-introduce channel-centric connectX api

I think it would be good to reintroduce the connect api removed in v0.5.0 in a different form on the Radio.Channel object. I imagine the following is how a large number of people would like to interact with the Radio api. (cc @jasonLaster, @davidmcclure)
var Service = Class.extend({
  constructor() {
    this.channel = Radio.channel(this.channelName);
    this.channel.connectRequests(this, 'requests');
    this.channel.connectCommands(this, 'commands');
    this.channel.connectEvents(this, 'events');
  },
  destroy() {
    this.channel.reset();
  }
});

var MyService = Service.extend({
  channelName: 'myChannel',

  requests: {
    'request1' : 'reply1',
    'request2' : 'reply2'
  },

  reply1() {},
  reply2() {},

  commands: {
    'command1' : 'comply1',
    'command2' : 'comply2'
  },

  comply1() {},
  comply2() {},

  // ...
});

I couldn't find an issue where this was removed, and don't remember the original reasoning. @jmeas ?

Closing due to inactivity. In the future, this could maybe be added to Radio. If that day comes, bindEntityEvents should be removed out of Marionette, as this library would provide that functionality.


Exclude vue and vue-template-compiler from vbuild

because it sometimes raises a vue-template-compiler version mismatches issue.

I have the same error

@throrin19 try installing vue and vue-template-compiler in your project

um... I'm going to exclude these two deps 😅

It looks vue-loader can only resolve vue-template-compiler which is in vbuild's node_modules
If we exclude vue-template-compiler then we need to exclude vue-loader and vue-style-loader 😱
I think removing vue-template-compiler and only install expected vue version (2.1.3) in your project could solve this for now.

I found the problem : To works we should install the latest version of vue-loader directly in the project

that's what I wanna prevent, no (or less) dev dependencies in your project

But, If we should update vue version or other component (vue-router, vuex, ...), we will have to wait for you to publish an update.

This is my solution to it https://github.com/egoist/vbuild/commit/cf007fb9a11a5299efebc9c604334510777af96b

And I think it was a problem with Yarn.
Whith this package.json :
"dependencies": {
    "vue": "2.1.5",
    "vue-material": "0.4.1",
    "vue-touch-ripple": "2.2.2"
  },
  "devDependencies": {
    "babel-core": "^6.20.0",
    "babel-eslint": "7.1.1",
    "babel-plugin-transform-runtime": "^6.15.0",
    "babel-preset-es2015": "^6.18.0",
    "babel-preset-stage-2": "^6.18.0",
    "node-sass": "4.0.0",
    "sass-loader": "4.0.2",
    "vbuild": "4.2.2",
    "vue-loader": "10.0.2",
    "vue-template-compiler": "2.1.5"
  }

If I run the installation with npm install I have no problem, the compilation works fine.
If I run the installation with yarn I have the problem between<EMAIL_ADDRESS>and<EMAIL_ADDRESS>After tests, the problem is the dependances resolutions if I install vbuild locally to the project. (I make that to simplify co-workers production envs). Any idea ?

Yep, my commit would fix this.

Ok :). I'll wait for the release of this fix

Update to 4.3.0 should be good!

It works fine thanks :)

vbuild v4.3.1 onwards exclude vue-loader and vue-template-compiler. Are we expected to include them as devDependencies in the project now?

@layanto yes


📝  doc: split the SSO doc so that the keycloak setup can be reused in

other SSO docs
Motivation
To allow the Keycloak setup to be reused in other sso docs
Description
Split the existing SSO doc into 2 parts. One for Keycloak, and one for SDK setup.
ping @rachael-oregan mind taking a look?

@rachael-oregan addressed your comment. I didn't add heading as if I do that, I will be hard to control the format from the other doc.
can you approve the PR if you are happy with it. Thanks.


fix: paradigm style selector covers audio button

Resolves #1063

Codecov Report

Merging #1073 (ce7279d) into main (8364095) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1073   +/-   ##
=======================================
  Coverage   78.31%   78.31%
=======================================
  Files         151      151
  Lines        5534     5534
  Branches      886      886
=======================================
  Hits         4334     4334
  Misses       1067     1067
  Partials      133      133

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 8364095...ce7279d. Read the comment docs.


Adjusted behavior to match docker-compose when both an image and a bu…

…ild stanza are present in the same service.
This addresses https://github.com/docker/libcompose/issues/311
Signed-off-by: Daniel Steen<EMAIL_ADDRESS>

LGTM 🐹

LGTM :smile:


Wound brackets missing (ex: Redemptor Dread)

I'm not sure if its because I used a "Custom Name" but the wound brackets do not show for the Redemptor Dread

Custom Name looks to blame. Please attach a .rosz file with just the buggy unit and I can confirm

PrettySribe_CustomName_Test.zip
Attached a rosz file for you

Thanks, that was helpful. I submitted a fix, once that's pulled in and live the problem will be resolved


Remove the measure func for image nodes with the default UI texture

Objective
ButtonBundle has an ImageNode component (renamed from UiImage) which wasn't a problem in 0.14 but in 0.15 requires pulls in the ContentSize and NodeImageSize which means that by default ButtonBundle nodes are given a measure func based on the size of the image belonging to TRANSPARENT_IMAGE_HANDLE, which is 1x1.
This doesn't make sense and the behaviour for default image nodes should either be to go to zero size or not add a measure func.
Solution
Check if an image has a TRANSPARENT_IMAGE_HANDLE and if it does remove its measure func.
Possibly a zero-sized measure would make more sense, but that would break existing code.
Testing
Used ButtonBundle in the 0.15 button example and the border doesn't render, after this change it does.

Is this just the fault of required components? I don't love hacking around that :/

Is this just the fault of required components? I don't love hacking around that :/

Yeah. I'm not very happy with any of these image node changes, I've just done whatever was required to get the new design for required components to work.


non-breaking hyphen ‑ in culture links

As you can see here

non-breaking hyphen is not used in culture links.

We are just rendering the string value of the culture, from the .NET framework. This can be solved with CSS.


Cassandra 2.2+ compatibility

There is reason to believe there are issues w/ Cassandra 2.2 compatibility:
[2015-07-27T12:22:54.712Z] ERROR: oae-cassandra/4296 on MacBook-Air.local: An error occurred executing a cassandra query
    HelenusInvalidRequestException: CQL2 has been removed in Cassandra 2.2. Please use CQL3 instead
        at onReturn (/Users/stephen/Documents/Development/oae/Hilary/node_modules/helenus/lib/connection.js:420:23)
        at client._reqs.(anonymous function) (/Users/stephen/Documents/Development/oae/Hilary/node_modules/helenus/node_modules/helenus-thrift/lib/thrift/connection.js:80:11)
        at Object.CassandraClient.recv_execute_cql_query (/Users/stephen/Documents/Development/oae/Hilary/node_modules/helenus/lib/cassandra/Cassandra.js:8283:12)
        at /Users/stephen/Documents/Development/oae/Hilary/node_modules/helenus/node_modules/helenus-thrift/lib/thrift/connection.js:83:37
        at Socket.<anonymous> (/Users/stephen/Documents/Development/oae/Hilary/node_modules/helenus/node_modules/helenus-thrift/lib/thrift/transport.js:74:11)
        at Socket.emit (events.js:95:17)
        at Socket.<anonymous> (_stream_readable.js:765:14)
        at Socket.emit (events.js:92:17)
        at emitReadable_ (_stream_readable.js:427:10)
        at emitReadable (_stream_readable.js:423:5)
    --
    query: SELECT "columnfamily_name" FROM "system"."schema_columnfamilies" WHERE "keyspace_name" = ? AND "columnfamily_name" = ?
    --
    parameters: [
      "oae",
      "TenantNetworkTenants"
    ]

cqlVersion was confirmed to be set to 3.0.0.

@mrvisser : Given that @sathomas 's instance worked correctly after clearing the database, is this still an issue?

It only worked after I cleared the database and downgraded cassandra to 2.1.7

@simong : Does this have any overlap with the work you're doing?


Lets Be Rational

Removed HTTP component
Removed test application
Updated ReadMe

@zsyed1 I think this is pretty good. It is simple and sticks to the basics. Adding the functionality you specify with TDD shouldn't be challenging. Let me know what you think about my comments. I definitely like it though. We can send it over to Dan and Joe shortly.

Yeah, I accidentally left that load method in there.
About the style changes, we can change them, or just leave them to the learner to fix up - kind of like the Supportive exercise. Merely using active-support wasn't enough. The reviewers made sure the code was fixed up as well.

One thing to keep in mind is they're no longer getting unit testing practice on Overlord, so we'll want this to be substantial enough to let them get good practice with TDD.

@djkotowski @paulghaddad I recommend forking this branch, make the changes you want, and resubmit - that will be a lot faster than PR dialogue. You can make the comments here, but I recommend Operate As Owner to move this along.

@zsyed1 Will close and resubmit with a PR for this repo and Level Up. Thanks for your hard work on this!


Issue with _X_AMZN_TRACE_ID and aws-xray-sdk in AWS Lambda

Thank you for creating such a wonderful library. I use it all the time.
However, there is one dissatisfaction when using this. That is, _X_AMZN_TRACE_ID is not set as an environment variable.
This is inconvenient when using aws-xray-sdk. The aws-xray-sdk determines that it is running on Lambda if the environment variable LAMBDA_TASK_ROOT exists, and goes to fetch _X_AMZN_TRACE_ID. At that time, if it cannot fetch _X_AMZN_TRACE_ID, an error occurs.
Do you have any good workarounds?

Hi @akadori, I'm glad you find this tool useful.
No, XRay trace ID ( _X_AMZN_TRACE_ID) is not set for the web apps. The web adapter and web app are separate processes. The adapter couldn't update the web app's environment variable on each invoke.
However, the web adapter sends the xray trace ID to the web app in a http header called x-amzn-trace-id. The web application has to grab its value from the http header and update environment variable. Usually you can find a middleware already exists for your web framework. For example, there is one for node.js. It is usually easy to write such a middle if it doesn't exit.
Harold

@bnusunny
Thank you for your response.
I understand well that it is impossible due to the process being divided. I also fully understand the workaround. I will set it up using middleware.


Osxpkg

2 Steps needed in order to run deepstream after installing:

mkdir -p /Library/Logs/deepstream
Start deepstream with deepstream start -c /usr/local/etc/deepstream/conf/config.yml

Note:
Deepstream dir is under /usr/local/etc/deepstream
Plugins reside under /usr/local/etc/deepstream/lib
Logs reside under /Library/Logs/deepstream

@AlexBHarley @jdmnd can we add this path to the default path set?
/usr/local/etc/deepstream/conf/

@yasserf Why bother hard coding it if we could just search for ./conf/config.yml relative to the binary?

Works now @jdmnd. We are good to go basically.

@jdmnd anything left that we need to do?


Add codechef oct21C challenge solutions

HI! I would like to add the problem solutions of the October 21 month-long challenge that has completed a few days before.

Hello @anuragnewbie, this repository focuses on algorithms, and we do not accept solutions of contests on this platform.
We thank you for your interest, and hope that you can find an issue that interests you, or create an issue in this repository that fits the purpose. Have a good day :)


Remove field “activities” (and add “groups”) to domains

“As the process 2015 will be released next week, we have removed activities and coordination groups.”
— Denis
The domain page example stopped working after this change.
This PR removes support for the field activities, and adds support for groups instead.

Yep, works for me.


Update to 2023.4.12142.20230526T152858Z-230200

strange: although it is a new AEMaaCS release 12142, the "marketing" version number was decreased from 5 to 4 - this will puzzle all version-based tooling like maven in a way, that this new version is not detected as new version.
so i'm tending to skip this release and wait for the next one, assuming this problem will be detected and fixed soon.

seems this is the official 2023.4 release, so let's release it anyway.


Configurable pojo @description

Hi I was using the pojo extraction and everything is working fine so far. Only one issue is as we are giving prompt at each entity in the pojo using @Description("giving the prompt here") . In this hard coded value is fine but i need to make it configurable like dynamically changing this value. Is there any way to do this as of now ? If yes please let me know

@zaheerbrakchan there is no way to do exactly that right now. Can you please give more details about your use case? Ideally with examples of POJOs. Thanks!


Hi what is the input format for function 'fit'?

Just like it.

If you are using a dataframe, try converting it to an array before fit() or maybe simply use x_train.values

If you are using a dataframe, try converting it to an array before fit() or maybe simply use x_train.values

Can you give an example?


The automated release is failing 🚨

:rotating_light: The automated release from the master branch failed. :rotating_light:
I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this 💪.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
 You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here is some links that can help you:

Usage documentation
Frequently Asked Questions
Support channels

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.

Cannot push to the Git repository.
semantic-release cannot push the version tag to the branch master on the remote Git repository with URL<EMAIL_ADDRESS>This can be caused by:

a misconfiguration of the repositoryUrl option
the repository being unavailable
or missing push permission for the user configured via the Git credentials on your CI environment

Good luck with your project ✨
Your semantic-release bot :package::rocket:

@CharlieC3 what should be the next step/action here?

@agraebe The semantic-release plugin determined there should be no new release as the commits made since last tag have all been chores. This is expected, but what's strange is despite this the plugin still created a GH issue as if it were trying to push something up. I think this may be a bug in the semantic-release/github plugin. I haven't seen this happen previously, and releases are working fine in other repos with a similar configuration like stacks-blockchain-api.
I'm going to close this issue because it seems like a false-positive caused by an infrequent bug. If it happens again I'll look into it deeper.


Ble exception during init..

I am using the Arduino IDE esp32 core and have been trying to get BLE/wifi/i2c working together successfully. I downloaded the latest Arduino esp32 core yesterday which I am assuming has the latest EsP32 IDF component binaries. Whilst I can get a simple example of WiFi and ble working together my main project gives an exception as soon as I init the BLE. From decoding the back stack trace this is the, trace I get. Anyone have any thoughts as to what might cause this?
0x4008bfe8: invoke_abort at /Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/esp32/./panic.c line 572
0x4008c0e7: abort at /Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/esp32/./panic.c line 572
0x40088f1f: xQueueCreateCountingSemaphore at /Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/freertos/./queue.c line 1995
0x400f27e9: osi_sem_new at /Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/bt/bluedroid/osi/semaphore.c line 31
0x4012dcdc: fixed_queue_new at /Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/bt/bluedroid/osi/fixed_queue.c line 56
0x40100c05: btm_ble_init at /Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/bt/bluedroid/stack/btm/btm_ble_gap.c line 3638
0x4013100b: btu_init_core at /Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/bt/bluedroid/stack/btu/btu_init.c line 102
0x4010bcc7: btu_task_start_up at /Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/bt/bluedroid/stack/btu/btu_task.c line 559
0x4010bd07: btu_task_thread_handler at /Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/bt/bluedroid/stack/btu/btu_task.c line 559
Hardware:
Board: Node esp32S
Core Installation/update date: 11/24/17
IDE name: Visual Micro(Visual Studio) built on top of Arduino 1.8.4
Flash Frequency: 80Mhz
Upload Speed: 921600

Looking through the code for freertos queue.c its would seem to me that the assert is cause by a null handle returned from a call to xQueueGenericCreate and in turn that would return null if the pvPortMalloc failed pxNewQueue = ( Queue_t * ) pvPortMalloc( sizeof( Queue_t ) + xQueueSizeInBytes );
If someone could confirm my logic then it appears that I still have not enough RAM available  in esp32 core
xHandle = xQueueGenericCreate( uxMaxCount, queueSEMAPHORE_QUEUE_ITEM_LENGTH, queueQUEUE_TYPE_COUNTING_SEMAPHORE );
	if( xHandle != NULL )

	{

		( ( Queue_t * ) xHandle )->uxMessagesWaiting = uxInitialCount;

		traceCREATE_COUNTING_SEMAPHORE();

	}

	else

	{

		traceCREATE_COUNTING_SEMAPHORE_FAILED();

	}

	configASSERT( xHandle );

	return xHandle;

Ok. Its a RAM issue. I uncommented the code to release memory in BLE_arduinio made by nkolban in BLEDEevice.cpp and it overcame this issue. It fails later but that's another issue I think. Closing this issue now. Will find out what the other issue is..
#ifndef CLASSIC_BT_ENABLED
esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT);  //FIXME waiting for response from esp-idf issue


:slotted() not working, when I add global component with define Async Component.

Version
3.0.4
Reproduction link
https://github.com/pgy108103/vue3_vite_issue_sample
Steps to reproduce
Please set isTransitionBug = false.
You will see that.
What is expected?
:slotted() can working, when I add global component with defineAsyncComponent.
What is actually happening?
Style of slot content not applied.

Duplicate of https://github.com/vuejs/vue-next/issues/2892


[ggj] feat: add and integrate ImportWriterVisitor

Includes the ability to distinguish between static and general imports.

Closing in favor of a clean one from HEAD.


add dryRun in log cleanup

Problem Statement
We can run vacuum() command in a dryRun mode on data in delta tables. We cannot do the same with logs. It can be useful to know which logs are gonna be deleted. For example, you can ask for logs to be deleted and can move them to another storage/cloud to bring them back if needed.
Proposed Solution
Add dryRun mode on logs
Technical Notes
I just changed the Checkpoints.doLogCleanp(): Unit method signature into Checkpoints.doLogCleanp(dryRun: Boolean): DataFrame exactly how the vacuum command does.
The default value for dryRun is false to be compatible with all the existing implementations.
Related Issues:
Closes: #504
Signed-off-by: Giuseppe Lorusso<EMAIL_ADDRESS>

@holydrinker Thank you for the contribution, However I am not sure how you plan to use this as the DeltaLog is not public API

@holydrinker i'm going to close this issue for now, since DeltaLog remains a private API. If it ever becomes public, feel free to re-open this ticket and we can reevaluate then.

@rahulsmahadev @scottsand-db sorry for the late reply.
I know that the API is not public, but it's possible to build a delta log to access the doLogCleanup API. It's something that I did often in the past, and I just want to enrich such API.
This is a use case. I'm gonna add it to PR body for clarity.
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.delta.DeltaLog

object Main {

  def main(args: Array[String]): Unit = {

    val spark = SparkSession.builder().master("local[*]").getOrCreate()

    import spark.implicits._

    val df = spark.sparkContext.parallelize(Seq(
      ("name", "surname")
    )).toDF()

    val path = "/my/path"

    df.write.format("delta").save(path)

    val deltaLog = DeltaLog.forTable(spark, path)

    deltaLog.doLogCleanup(dryRun = true)

  }

}

What do you think?


Update enums.dart

Also, return open status if the value is an empty string.

Forgot to mention that it's crashing right now without this change.

Hi,
I have merged the changes.
I probably won't publish a new package yet; you can pull the latest changes from master by specifying the git URL in pubspec.yaml.


html2pdf__page-break Doesnt seem to do anything

html2pdf__page-break creates too much blank as page-break for me : http://prntscr.com/nmel42


Error when using a athena database name having a dash '-'

I am trying to execute an ALTER TABLE command and and when dbname has a '-' in it. The query errors.
db_name = 'glue-athena'
wr.athena.query(query = sql, database = db_name)
Below is the exception:
<class 'awswrangler.exceptions.QueryFailed'>, QueryFailed("FAILED: ParseException line 1:8 missing EOF at '-' near 'glue'",)

Closing by inactivity...

@igorborgest I'm getting the same error when using the Athena web console, no Wrangler involved.
(clicking on 3 dots near table name -> Load partitions).

Hi @dror-g,
The reason for the error is because Athena doesn't support dash in the table names.
https://docs.aws.amazon.com/athena/latest/ug/glue-best-practices.html#schema-names
The only acceptable characters for database names, table names, and column names are lowercase letters, numbers, and the underscore character.
I am going to add it in our documentation as well


Improve function docstring for Sphinx

Building documentation with Sphinx of a project containing Pythran functions leads to rst warnings ("WARNING: Definition list ends without a blank line; unexpected unindent.") because there is no line between the supported protocols and the function docstring. For example:
Supported prototypes:
    - compute_increments_dim1(float64[][], int)
    - compute_increments_dim1(float64[][].T, int)
Compute the increments of var over the dim 1.

Blablabla...

One more '\n' would be useful:
Supported prototypes:
    - compute_increments_dim1(float64[][], int)
    - compute_increments_dim1(float64[][].T, int)

Compute the increments of var over the dim 1.

Blablabla...

It would be even better to put the first line of the docstring (which has a special meaning for Sphinx) before the supported prototypes...
Compute the increments of var over the dim 1.

Supported prototypes:
    - compute_increments_dim1(float64[][], int)
    - compute_increments_dim1(float64[][].T, int)

Blablabla...

PR are welcome, see https://github.com/serge-sans-paille/pythran/blob/master/pythran/toolchain.py#L132 and https://github.com/serge-sans-paille/pythran/blob/master/pythran/toolchain.py#L170 :-)

Fixed by @paugier in 1c64ee3c57f64b23611fe01d14db60ee45f2cf04


Rework getWorkflowRunId() when run-name is provided

Issue:
As discussed here, I figured out that the current function octokit.rest.checks.listForRef, which is based on repos/OWNER/REPO/commits/REF/check-runs, and used to retrieve the run id, when a run-name is provided, is not working.
Cause is that check_name is filled by Github with the jobs.<job_id> (or jobs.<job_id>.name) and not the run-name we are expecting.
Solution:
The default octokit.rest.actions.listWorkflowRuns currently used is also the proper one to filter based on the name.
So once we use the method, we only need to do an extra filter on the name attribute to match the proper run-name.
To limit the number of results, created parameter has also been set on the API call.
Since the two recent functions findWorkflowRunIdFromFirstRunOfSameWorkflowId and findWorklowRunIdFromRunName are merged back into getWorkflowRunId, I cleaned them.
Extra changes:

Add workflow-id as output
Add 2 new modes for workflow-logs:

output: Set remote workflow logs (as raw) in workflow-logs output<job-name> | yyyy-MM-ddTHH:mm:ss.SSSSSSSZ <message>
<job-name> | yyyy-MM-ddTHH:mm:ss.SSSSSSSZ <message>

json-output: Set remote workflow logs (as json object) in workflow-logs output{
  "<job-name>": [
    {
      "datetime": "yyyy-MM-ddTHH:mm:ss.SSSSSSSZ",
      "message": "<message>"
    },
    {
      "datetime": "yyyy-MM-ddTHH:mm:ss.SSSSSSSZ",
      "message": "<message>"
    }
  ]
}

README.md

Do some lint
Add an extra example (with corresponding remote workflow) when using run-name

action.yaml

Add outputs definition

Fix some typos (shoud, tirggered, Muse)

Here are the test results for the last commit 1fda9fc: https://github.com/LudovicTOURMAN/workflow-dispatch/actions/runs/7395335486

Hello @aurelien-baudet, will you be able to have a look at this PR? Thank you :blush:

Hello @aurelien-baudet, will you be able to have a look at this PR? Thank you 😊

bump

@LudovicTOURMAN Hi, looks like this action is abandoned from the Author. You seem like to know the topic a above discussion takes place. Can you fork the original one 'benc-uk/workflow-dispatch' (which looks also abandoned) towards your repo GH actions?
and upgrade it to Node20 ?

@LudovicTOURMAN Bump.

@LudovicTOURMAN Hi, looks like this action is abandoned from the Author. You seem like to know the topic as above discussion takes place. Can you fork the original one 'benc-uk/workflow-dispatch' (which looks also abandoned) towards your repo GH actions? and upgrade it to Node20 ?

Please make some small changes to make code more readable. I will merge once it's done.

Thanks for the feedback @aurelien-baudet. I've been able to rework the function to make it lighter and more readable.

Please make some small changes to make code more readable. I will merge once it's done.

Bump

Sorry, I have no more time and energy to maintain this repository. I even don't have computer anymore. Someone of you should for this repository and merge the different pull requests.
Tell me who creates the fork and I will archive this repository but indicate which repository follows up

@LudovicTOURMAN I wanted to know if you're planning to take over on this action.
If not, I propose to create a fork, update readme, integrate your developments and maintain it.
Tell me

@LudovicTOURMAN I wanted to know if you're planning to take over on this action. If not, I propose to create a fork, update readme, integrate your developments and maintain it. Tell me

Hello @fbiesse, we are already using some private fork within my company. So I'm not going to maintain another public one. Go ahead if you would like to pick all of those for the community (and thanks).
@aurelien-baudet, no worry. That was still nice you provided this composite. Thanks for the work you've done and have a nice "repo-tirement"

@LudovicTOURMAN Thank you, actually I have the same need for my company.
@aurelien-baudet Thank you too for this repo and all the work done on this one, I'll do my fork in the week.

@aurelien-baudet I created the fork with all PR merged ?
Can you please transfer the action to my repo (https://github.com/fbiesse/workflow-dispatch)
https://docs.github.com/en/actions/creating-actions/publishing-actions-in-github-marketplace#transferring-an-action-repository
Thank you again for all the work.

I tried to transfer repository but it fails with "fbiesse/workflow-dispatch already exists".
Maybe the best would be to create an organization instead of a single user to be able to maintain it by several people. So I could then transfer ownership to this organization and let you handle several maintainers and admins

@aurelien-baudet let’s do it. i just created @the-actions-org and invited you. we can add users from this thread and future maintainers once the repo is transferred.

There is an error "You don’t have the permission to create public repositories on the-actions-org".
I think I must be admin of this organization first before being able to transfer the repository

There is an error "You don’t have the permission to create public repositories on the-actions-org". I think I must be admin of this organization first before being able to transfer the repository

It looks like the transfer succeeded. I went ahead and changed the base permissions for org members to write. Let me know if you’re still seeing issues?

@fbiesse I created the org and took transfer of the repo as a means of expediting future actions and responses (since I still receive updates from this thread). I'm not particularly interested in maintaining it, as I created my own workaround (due to repo inactivity) and no longer use it. I added you to the-actions-org and made you a maintainer on this repo. @LudovicTOURMAN I gave you write permissions to this repo, which should allow you to go ahead and merge this PR.

@evanlindsey thank you, it will be definitely more convenient. The think I can do is to create a PR with the last things I did on my fork (it already have both PR merged and tested) and rename the username part in the Readme. I'll be back of vacation in 2 weeks, I'll do it when I'll be back.

@evanlindsey I'm back from vacations, but I couldn't accept the invitation to the new repo in time. Can you please resend me the invitation ? Thank you.

@fbiesse welcome back and no problem! it looks like you were able to accept the member invite for the-actions-org and I sent a new invite for the maintain role on this specific repo.

@evanlindsey perfect, thank you !


Move flapjack handler over

Currently the Flapjack handler is still in the deprecated repo: https://github.com/sensu/sensu-community-plugins/blob/master/extensions/handlers/flapjack.rb  I'm assuming it was not moved to favor the built in Sensu Flapjack handler, however per https://sensuapp.org/docs/latest/enterprise-built-in-handlers#flapjack built-in Flapjack appears to be an enterprise only feature.  Please bring the external Flapjack handler back into the fold.  Thanks.

So, with the closing of sensu/sensu-community-plugins this handler has floated off into the aether.  Is there any official support for Flapjack for non-Enterprise users?

+1

+1

We will find a better home for the community version of the flapjack handler. For now it's still available at https://github.com/sensu/sensu-community-plugins/blob/e58c1f3ce39c6c0ca271fadd470c04362e92b190/extensions/handlers/flapjack.rb

This plugin is now broken against Sensu 0.23: https://github.com/sensu/sensu/issues/1224.  It really needs a home.

So, extensions and plugins are two very different things. A poorly written handler plugin is far less capable of compromising a Sensu process than an extension (which run inside the Sensu process). The current issue with the Flapjack handler extension is a great example of this - because it is an extension it's causing the sensu-server process to die rather than just resulting in a logged error in the sensu-server.log file.
I think this is one of the reasons we've been hesitant to suggest that extensions should live in the new https://github.com/sensu-plugins org, but dragging our feet about making a decision obviously isn't helping anyone. We need to find a home for community extensions to facilitate ongoing maintenance and discussion.
I'm super hesitant about mixing extensions and plugins in the sensu-plugins org, because new users need to understand the clear distinction between plugins and extensions (this is also on the top of our list of ongoing documentation improvements, FWIW). Does it make sense to create YAGO (Yet Another GitHub Org) for sensu-extensions? Or would a new repo under the Sensu org suffice? Discuss!
/cc @CVTJNII @portertech

+1

Any updates, this handeler is still broken with the latest version of sensu (0.25.3).

Any updates regarding Flapjack handler? Latest working Sensu version 0.22

Disclaimer: This code is hacked together from portions of Flapjack, Sensu, and the original plugin. Attribution was given where possible.
https://github.com/brianczapiga/sensu-flapjack

Does anyone did some tests regarding new Flapjack handler?
Does the handler now work with new Sensu and with new Flapjack version (2.0.0), I see from the code that answer to this question is probably positive but I was wondering is there anyone out there who can give hands-on confirmation? Thx

The pipe handler that I hacked together works with 2.0.0 and the latest version of sensu. The latest flapjack 2.0.0 lacks some features that were available in 1.6.0, like being able to modify contacts using the UI (must be done via API)
I would recommend staying with 1.6.0.

Thanks for the quick answer.
I'm using Flapjack API anyhow, even on version 1.6.0, for contacts and notification rules creation...
Yeah I'm planning to stay with version 1.6.0 for sometime more but IMHO this version has one big drawback (solved in version 2.0.0) it doesn't have check deletion function, so basically you can't delete any existing checks, rather you can disable it which will cause for check to stay in the Redis (forever) and it would effectively only be hidden from the WebUI. These stale (disabled) check records will dramatically increase Flapjack API response time over time.

@brianczapiga one more question, why you didn't use subclass Sensu::Handler in your code?
require 'sensu-handler'
class Flapjack < Sensu::Handler
  <your code here>
end

I'm not sure, I think I had some gem dependency issue at the time and not being a ruby pro, I opted to work around the issue instead of correct it. It would definitely make sense to use the sensu handler gem.

I hacked this together today after running into a problem with the Flapjack extension after we upgraded to Sensu 0.25.x.
https://gist.github.com/eoly/66f36b824bee93b4105db1cacea62c37

I'm encountering an issue with this handler, probably something related to Bridge inheritance, do you guys now how could I resolve this one?
{"timestamp":"2016-08-12T17:37:20.643563+0200","level":"error","message":"unknown handler","handler_name":"flapjack"}

The Flapjack extension I posted is not a handler. So if you have any checks defined with the flapjack handler you will get that error. The bridge extension will stream all events to flapjack. No need to use a handler in your checks definitions. The bridge method is how Sensu enterprise handles the flapjack integration.

The flapjack.rb file should be written to /etc/sensu/extensions/flapjack.rb.
Then you should have the configuration in /etc/sensu/conf.d/extensions/flapjack.json. With contents similar to.
{
  "flapjack": {
    "host": "flapjack.example.com",
    "port": "6379",
    "db": "0"
  }
}

That totally makes sense now or makes sensu :), I have configuration files in place and everything else needed but I didn't know this part about bridge method, so big thanks for clarification.

I'm going to run some tests now, will post the update after that...

I've added some additional features and now we have flapjack extension that supports:

New sensu 0.25 (thanks to @eoly)
Activation/Deactivation through extension's configuration file "enabled": true|false
Added support for Flapjack v2.0 "flapjack_version": 1|2
Added support for nagios output format TEXT | PERFDATA (requires "output_type": "nagios" in check definition)

{
   "flapjack": {
      "host": "localhost",
      "port": 6379,
      "db": "0",
      "flapjack_version": 1,
      "enabled": true
   }
}

https://github.com/psyhomb/sensu-extension-flapjack/blob/master/flapjack.rb

Thank you @psyhomb :+1:

With sensu 1.2.1 I kept getting the below error:
{"timestamp":"2018-03-16T10:08:37.674235+0000","level":"error","message":"unknown handler","handler_name":"flapjack"}
{"timestamp":"2018-03-16T10:08:47.675897+0000","level":"error","message":"unknown handler","handler_name":"flapjack"}
so had to modify the extension with a small change to get it working for sensu 1.2.1
https://github.com/atul86244/flapjack/blob/master/flapjack.rb

@atul86244 modifications are already made please read the full thread
https://github.com/sensu-plugins/community/issues/5#issuecomment-239481722

@psyhomd got it, thanks.

I'd like to re-open this and work on transfering https://github.com/psyhomb/sensu-extension-flapjack to the https://github.com/sensu-extensions org so there is better visibility on this. @psyhomb if you can transfer the repo to me I can transfer it to the org. Then we can collaborate on making it a bit better for example I'd like to see it published as a gem. Of course we would invite you to continue maintaining it.


Is config.rank <= 0 ever true?

I can't see any case where the rank can be negative for Tensor multiplication as for 0 that would be equal to drop everything before.  Please correct me.

@def-roth yes the rank should never be negative. We should probably use NonZeroUsize.


Release Notes for 2.7.0

Description
Release Notes for 2.7.0
Issues Resolved
[List any issues this PR will resolve]
Check List

[x] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[x] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@anirudha pagination?

@anirudha pagination?

@Yury-Fridlyand  are there any pending PRs to be merged?

Didn't we add a GH workflow to auto generate the release notes...

Not sure, I manually generated. Simeone can confirm this.

@Yury-Fridlyand are there any pending PRs to be merged?

#1497


MH-12771 Document fields of External API 1.0.0

This PR attempts to improve the precision of the External API specification.
The main focus is on including all fields of all objects in the specification (rather than just in the examples).
Note that this PR should not change the External API 1.0.0 - it rather tries (based on the current state of branch develop) to describe it in more details. In case the specification added here deviates from the current implementation, that would be a bug in the specification.
Please also note that the specification also has more room for precision: So this is an attempt to improve the specification, not to make it perfect.

Hi @gregorydlogan Thanks for the comments! I've resolved most of them directly, but prefer to add separate pull requests for the following issues:

MH-12833 Ensure that the External API specification uses the name "External API" consistently

If I find time, I'll provide pull requests for

MH-12834 Central definition and documentation for filtering, sorting and pagination
MH-12835 Make glossary more complete and link Opencast terms to glossary

From my point of view, I've resolved all comments.
Any more things to do?

Nope, looks good to me!


Support for Windows XP and Server 2003

Use the toolset which compiles a binary suitable for Windows XP and Server 2003.
Rationale
We are in a transition to move an internal web application hosted in an Chrome instance to an Electron shell based application.
The original application environment runs under Windows XP, the new environment will be based on Windows 10.
I know that Electron requires at least Windows 7 but I hoped that at least building our application is supported under Windows XP / Server 2003.
This is not the case:
Packaging app for platform win32 x64 using electron v1.6.7
internal/child_process.js:315
    throw errnoException(err, 'spawn');
    ^

Error: spawn UNKNOWN
    at exports._errnoException (util.js:907:11)
    at ChildProcess.spawn (internal/child_process.js:315:11)
    at exports.spawn (child_process.js:365:9)
    at module.exports (C:\development\work\project\node_modules\electron-packager\node_modules\rcedit\lib\rcedit.js:47:15)
    at C:\development\work\project\node_modules\electron-packager\win32.js:70:30
    at C:\development\work\project\node_modules\electron-packager\common.js:343:7
    at C:\development\work\project\node_modules\electron-packager\node_modules\fs-extra\node_modules\graceful-fs\polyfills.js:287:18
    at FSReqWrap.oncomplete (fs.js:82:15)

npm ERR! Windows_NT 5.2.3790
npm ERR! argv "C:\\development\\tools\\nodejs\\node.exe" "C:\\development\\tools\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "pack:exe"
npm ERR! node v4.8.2
npm ERR! npm  v2.15.11
npm ERR! code ELIFECYCLE
npm ERR! Exit status 1

The error happens during spawning a new process for rcedit.exe - executed at CLI a message dialog pops up: 'rcedit.exe is not a valid Win32 application.'
Dependency Walker tells me that the function InitializeCriticalSectionEx is missing in kernel32.dll - it was introduced in Windows Vista.
Solution
Microsoft anticipated the need to create C++ application for Windows XP so they provided a possibility to create C++ programs for Windows XP: The Visual Studio project has to be configured to use a special Platform Toolset:
Microsoft provides an XP version of the Platform Toolset for every Visual Studio version since 2012:

Visual Studio 2012 (v110) and Visual Studio 2012 - Windows XP (v110_xp)

Visual Studio 2013 (v120) and Visual Studio 2013 - Windows XP (v120_xp)

Visual Studio 2015 (v140) and Visual Studio 2015 - Windows XP (v140_xp)

Visual Studio 2017 (v141) and Visual Studio 2017 - Windows XP (v141_xp)

There are some limitations:

Visual Studio 2015 requires an additional install option
Visual Studio 2012 requires Update 1 to support this.

I updated the rcedit.gyp to set the appropriate toolset version according to the detected Visual Studio version when generating the project files.
Also I tweaked the existing rcedit.vcxproj to compile the project with XP support.
I tested the compilation with Visual Studio 2013, Visual Studio 2015 and Visual Studio 2017 - all versions produced a binary which can be executed under Windows XP and Server 2003 (I tested with Server 2003).
All tests of https://github.com/electron/node-rcedit are green with the modified version of rcedit.exe.
Using this patched version of rcedit.exe would allow us to create our Electron shell based application under Windows XP based OSs.
This is just an attempt to make the build process work on older versions of Windows.
As I mentioned: we are in the process to migrate to a current version of Windows. This requires updates/changes to our development environment, our CI systems and our production systems. This will take some time - accepting this patch would relieve our pressure (at least a little bit).

@kevinsawicki @dmascord What is the state of this PR? Any chance of getting it reviewed and merged?

@kevinsawicki @dmascord Any chance of getting this PR reviewed?

Thanks for merging!


How to disconnect and reconnect to a different Github account?

I accidentally connected GistPad to the wrong Github account and I can't figure out how to remove the authentication so that I can connect to the correct account. I tried uninstalling and reinstalling, but the token must be stored elswhere as GistPad just reconnected to the wrong account.
Raising as a bug because I believe uninstalling Gistpad should remove the credentials, and therefore prompt for authentication when reinstalled.
It would be useful if there was an option to "logout" GistPad available from the command palette.

I managed to link GistPad to the correct account by doing the following:

Log into GitHub as the incorrectly added account
In GitHub go to "Settings > Applications > Authorised OAuth Apps" and revoke the authorisation for GistPad.
LOG OUT of the incorrectly added Github account
In VScode, uninstall GistPad and relaunch VScode.
In VScode, reinstall GistPad
Click on the notebook icon in VScode and authenticate GistPad against the correct GitHub account.


color settings in rmst_plot

Hello,
is it possible to specify colors for the rmst_plot ?

Hi there, you should be able to pass in color=... into the function. Is that not working for you?

I got this error
<ipython-input-7-37ca617b0f7d> in PlotFigure(df_noBev, df_Bev, title, pdfName)
     61
     62
---> 63     rmst_plot(kmf_nobev, t=time_limit, ax=ax3, color='blues')
     64     #rmst_plot(kmf_nobev, ax=ax3)
     65

/software/miniconda3/envs/lifelines/lib/python3.9/site-packages/lifelines/plotting.py in rmst_plot(model, model2, t, ax, text_position, **plot_kwargs)
    170     rmst = restricted_mean_survival_time(model, t=t)
    171     c = ax._get_lines.get_next_color()
--> 172     model.plot_survival_function(ax=ax, color=c, ci_show=False, **plot_kwargs)
    173
    174     if text_position is None:

TypeError: lifelines.fitters.kaplan_meier_fitter.KaplanMeierFitter.plot_survival_function() got multiple values for keyword argument 'color'

I fixed it with editing the source code a little but was not sure if I made a mistake in using the rms_plot function thats why I opened this issue
My fix in plotting.py, added color1 and color2, so it also works with 2 two models
def rmst_plot(model, model2=None, t=np.inf, ax=None, text_position=None,color1=None,color2=None, **plot_kwargs):
    """
    This functions plots the survival function of the model plus it's area-under-the-curve (AUC) up
    until the point ``t``. The AUC is known as the restricted mean survival time (RMST).

    To compare the difference between two models' survival curves, you can supply an
    additional model in ``model2``.

    Parameters
    -----------
    model: lifelines.UnivariateFitter
    model2: lifelines.UnivariateFitter, optional
        used to compute the delta RMST of two models
    t: float
        the upper bound of the expectation
    ax: axis
    text_position: tuple
        move the text position of the RMST.

    Examples
    ---------
    .. code:: python

        from lifelines.utils import restricted_mean_survival_time
        from lifelines.datasets import load_waltons
        from lifelines.plotting import rmst_plot

        df = load_waltons()
        ix = df['group'] == 'miR-137'
        T, E = df['T'], df['E']
        time_limit = 50

        kmf_exp = KaplanMeierFitter().fit(T[ix], E[ix], label='exp')
        kmf_con = KaplanMeierFitter().fit(T[~ix], E[~ix], label='control')

        ax = plt.subplot(311)
        rmst_plot(kmf_exp, t=time_limit, ax=ax)

        ax = plt.subplot(312)
        rmst_plot(kmf_con, t=time_limit, ax=ax)

        ax = plt.subplot(313)
        rmst_plot(kmf_exp, model2=kmf_con, t=time_limit, ax=ax)

    """
    from lifelines.utils import restricted_mean_survival_time
    from matplotlib import pyplot as plt

    if ax is None:
        ax = plt.gca()

    rmst = restricted_mean_survival_time(model, t=t)
    if color1==None:
        c = ax._get_lines.get_next_color()
    else:
        c=color1
    model.plot_survival_function(ax=ax, color=c, ci_show=False, **plot_kwargs)

    if text_position is None:
        text_position = (np.percentile(model.timeline, 10), 0.15)

    if model2 is not None:
        if color2==None:
            c2 = ax._get_lines.get_next_color()
        else:
            c2=color2

Hm, looks related to #1231. Can you try using the latest version of lifelines, v0.25.11? If you are using that, I think your solution is what should end up going into lifelines.

I will check the version, If it is the most recent I would fork and include the fix

I check the version, it is 0.25.11.
I forked, changed the plotting func and pushed, you can used it if you want.

Great! We'll incorporate it into the next release


Initially Supported Models

Issue to discuss the selection of the initially supported models. Potential starting points include:

Equivalent Circuit Models (ECM)
Equivalent Hydraulic Model (EHM)
Single Particle Model with Electrolyte (SPMe)

How much freedom are we giving the user in terms of models? It seems a bit restrictive to say that you can only use "our" models.... I presume we want a user to be able to provide their own model? (see also my comment on #8)

How much freedom are we giving the user in terms of models?

I think it might best to have tiered support for existing PyBaMM models. If we can provide examples & workflows (#10) for the above models (plus any others that might come out of this issue) initially, without removing functionality for other PyBaMM models that would be ideal. That would then allow users to continue with alternative models while we build official support.

I presume we want a user to be able to provide their own model?

Looking at your comment on #8, I think this is probably an direction we need to decide on early. To clarify before we get too far into it, we are discussing enabling support for user who want to define self.rhs in the PyBaMM model class, yeah? Probably best to create another issue for this..

The way we handle this in pbparam is that the user needs to provide a simulation that runs (simulation = model + parameters + discretisation + solver ...). Of course, we have PyBaMM models in mind but this approach also allows user-defined models as long as they can work within the PyBaMM Simulation class.