MvcServiceCollectionExtensions.AddMvc needs to return an Mvc specific collection

This would enable the pattern that SignalR-Server uses - https://github.com/aspnet/SignalR-Server/blob/dev/samples/SignalRSample.Web/Startup.cs#L13-L14
.AddMvc()
.SetupOptions(mvcOptions => {
   mvcOptions.AntiForgery...
});

@yishaigalatzer  and @danroth27
Not sure if we still want to do this? I think this is already fixed.
In MVC, we can do
services.AddMvc();
services.ConfigureMvcOptions(options =>
{
options.Filters.Add(typeof(PassThroughAttribute), order: 17);
});
In SignalR we can do
services.AddSignalR(options =>
{
options.Hubs.EnableDetailedErrors = true;
                // options.Hubs.RequireAuthentication();
            });

I don't see many differences here except AddSignalR requiring Action configureOptions. But, in MVC this is a part of the ConfigureMvcOptions method..

Might want to ping @davidfowl \ @HaoK  to see what design for ConfigureOptions we landed on. Would be helpful for us to be consistent across EF, SignalR and Mvc.

@rynowak
I'm closing this issue, but please add more details about the decision that you made..

Per response to the original issue, we recently added the following:
services.AddMvc().ConfigureMvc(o => { ... });


Maven Pact-Verification

I am new to using pact-jvm, and I think I have completed my consumer tests, and I'm wondering how to produce my pact file, and how to test it against my provider. I'm looking at the example in the ReadMe, but I feel I may be misunderstanding it. Can anyone give any insight or examples? I'm using maven.

Attached is my pom file, and my test code. When I ran mvn install on the pom file, it is a successful build and a target folder is created, but it doesn't produce a pact.

I can't see anything blatantly wrong, but your POM file should have the pact junit dependency as a test scope. Also, you are not providing the port of the mockProvider to your application (it will be a random one), I'm guessing that the test is failing because the mock provider did not receive any requests, and thus no pact files are being generated.

@uglyog thanks so much. I am demoing a new test, and I am getting a surefire-plugin error. Is there anything I should do about this (see attachment)?

@uglyog thanks I've tried using the pact-junit dependency with a test scope, but it always gives me build errors when I do so. I have updated my project, but I am still not getting a pact product produced, here is my updated pom and test files:

Any suggestions?

Please provide the build errors.

@uglyog Hi, so when I use junit with a scope of 'test', I get an errors that the dependent package does not exist and all my imports fail.
Also, here is my updated test class, but I am still not able to get a pact file produced despite a successful build.

Can you provide the dependent package and imports that are failing? mvn dependency:tree can be used to diagnose dependency issues. See https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html

So I changed the scope of pact-jvm-consumer-junit_2.11 and when I ran mvn dependency:tree, I did not receive any errors. It built successfully, but when I attempted to run mvn clean install I still received a build error of:

Here's the update in the pom file:

@uglyog I think I may have resolved the error with the scope. Now I am able to use the pact-jvm-consumer-junit_2.11 dependency with a test scope, but I am now receiving a maven-surefire-error that says "The forked VM terminated without saying properly goodbye. VM crash or System.exit calld ? ".
The entire stack trace is as follows:

I am working as part of a team, and we'd really love to use the PACT Framework, but we may need a bit more guidance to meet a deadline approaching soon. Is there anyway we could work out a time to speak to you over the phone, and work through some of our questions?

I have spotted the dependency problem. You are requiring pact-jvm-consumer-junit-2.11 and pact-jvm-consumer-2.11 versions 3.4.1, but pact-jvm-model_2.11 version 2.4.15. These are not compatible.
You need to remove the pact-jvm-model_2.11 from the dependencies, then the correct library pact-jvm-model version 3.4.1 will be pulled in (no _2.11 in the name).
The second stack trace is because the Groovy dependency is missing. I have no idea why it is not being included, but you may need to add it directly:
<dependency>
  <groupId>org.codehaus.groovy</groupId>
  <artifactId>groovy-all</artifactId>
  <version>2.4.10</version>
  <scope>test</scope>
</dependency>

If you want, we could organise a time to chat on the gitter channel (see the link on the main README), but please be mindful of timezone differences, I am based in Australia.

Thanks so much, I'll give that a try. Also, I'd be happy to work around the time difference in order to chat, what's the earliest in the morning (local Australian time) would work best for you?

@mcgriffa - You are passing a specific client IP and port where as the mockserver would be running on a different port as you have not specified in your PactProviderRuleMk2 initialization.
And don't forget to import
import au.com.dius.pact.consumer.MockServer;
public final PactProviderRuleMk2 mockProvider = new PactProviderRuleMk2("test_provider-1", "localhost", 8096, this);

And change runTest to take in a mockServer parameter.
 protected void runTest(MockServer mockServer) {
        try {
            Client newClient = new Client(mockServer.getUrl()).getAsMap('/greeting', '');
        }
        catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

I think this should resolve the issue assuming you have the function of getAsMap implemented in Client class as in the example on the pact-jvm repository. (https://github.com/DiUS/pact-jvm/blob/master/pact-jvm-consumer-junit/src/test/java/au/com/dius/pact/consumer/exampleclients/ConsumerClient.java#L31)

private String BASE_URL;
public Client(String givenUrl) {

	this.BASE_URL = givenUrl;
}

public String getBody() {

	String output = "";
	try {
		URL url = new URL(BASE_URL);
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		conn.setRequestMethod("GET");
		conn.setRequestProperty("Accept", "application/json");
		//System.out.println(conn.getInputStream());

		BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
		// if ((output = br.readLine()) != null) {
		output = br.readLine();
		// }
		// System.out.println(conn.getContentType());
		conn.disconnect();

	} catch (MalformedURLException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	}
	return output;

}

got it. But still you don't mention port explicitly in your PactProviderRuleMk2 rule, so sending in localhost:8080 would not be right as the mock server is running on a different port . does that make sense ?

Also your provider name on the provider rule and other places are not the same

Yes that makes sense. I saw some examples that had something like this:
``public PactProviderRuleMk2 mockProvider = new PactProviderRuleMk2("test_provider-1", this);
and in the runTest() it was something like:
``assertEquals(expectedResponse, new Client(mockProvider.getUrl).getBody());
But for some reason that resulted in some sort of URL error when I tried it, and I'm not sure if it's due to my Client class or because of the way I'm calling the mocProvider in the test class.

got it.
we don't any assertions, you can skip that to start with, try to print  this mockProvider.getPort() to get to know that you are pointing to the correct port.
And also correct the provider name in both these lines

@PactVerification("test_provider-1")
@Pact(provider="test_provider-1", consumer = "test-consumer-1")

just FYI
I did your style of providerrule
public PactProviderRuleMk2 mockProvider = new PactProviderRuleMk2("test_provider-1", this);
printed
logger.info(mockServer.getUrl());  --->  printed  http://<IP_ADDRESS>:32388
logger.info("http://localhost:" + mockProvider.getPort()); --> printed  http://localhost:null
I am not sure but mockProvider.getPort() responded with  null
But passing MockServer in runTest like I showed before, returns the correct port when I do getPort() and getUrl() on mockServer
protected void runTest(MockServer mockServer) {
        try {
            logger.info(mockServer.getUrl());
            logger.info("http://localhost:" + mockServer.getPort());
            Client newClient = new Client(mockServer.getUrl()).getAsMap('/greeting', '');
        }
        catch (Exception e) {
            throw new RuntimeException(e);
        }
    }```

hope some of it is helpful.

There are two options:
Extend your test class from ConsumerPactTestMk2 and then have a runtest method that takes a mock server, as @shashidesai mentioned. Example here: https://github.com/DiUS/pact-jvm/blob/master/pact-jvm-consumer-junit/src/test/java/au/com/dius/pact/consumer/examples/StatusServiceConsumerPactTest.java
Or
Use the PactProviderRuleMk2 which is a JUnit rule (as you have been doing). In this case you need to access the provider rule class in your test method to get to the port of the mock server. Example here: https://github.com/DiUS/pact-jvm/blob/master/pact-jvm-consumer-junit/src/test/java/au/com/dius/pact/consumer/examples/ExampleJavaConsumerPactRuleTest.java
Just be aware that the provider class will return a null for the URL or port if called outside of the test method.
The other option is to use a specific port.  Here is an example test that uses a specific port: https://github.com/DiUS/pact-jvm/blob/master/pact-jvm-consumer-junit/src/test/java/au/com/dius/pact/consumer/examples/ArticlesTest.java

I will be available to answer questions in the gitter channel 9am to 5pm and 7pm to 9pm AEST (which is +10) most week days. Just give me a heads up to get onto the gitter channel.

Thanks so much @uglyog and @shashidesai! I think your tips and hints kind of got me in the right direction.
I think I'm having bit of a dependency issue now. I'm getting that the class au.com.dius.pact.model.RequestMatching is not defined, and I know I have the au.com.dius.pact.model dependency taken care of. When I look inside of that package though, the RequestMatching class is not present, is there a different "model" package that I need to manually install and put into my pom file?

You maven is definitely not resolving transitive dependencies correctly. RequestMatching is in library pact-jvm-matchers_2.11.

@uglyog thanks . I'll be sure to resolve that dependency. My team and I are working behind a firewall, so most of the dependencies we've had to resolve manually.
We still will try to join the Gitter chat on Tuesday (your time) to chat with you, and ask some other questions. Thanks so much .

Hi!
Just in case you are still having trouble using jUnit Rules and Pact annotations, you should check your @Pact and @PactVerification annotated methods are "public" and not "protected" like in your screenshots ;)

Good pickup @vverrier! I didn't even notice that.


How i can convert geoJSON to different projection?

Is there any example?
I'm looking for something like
projection(fromProjection[, toProjection, geoJSON])

Is this for display on a Leaflet map? The you should use L.Proj.GeoJSON.
Otherwise, if you are looking to actually reprojecting the GeoJSON to another GeoJSON object with reprojected coordinates, please have a look at reproject


container behind proxy can't navigate using proxy as gateway

Hello.
I have installed proxy on the alpine linux lxc and it works correctly,
but any lxc behind the proxy within the virtual network can't get internet connection.
Any info ?

I have the same problem. I put a VPN here in the company and when I connect to it, none of my URLs work with the virtual network..
Ticket

If the proxy don't act also as gateway for the virtual network , you can't contact externals NS to find your IP domains.. in this case I think you need a local NS or don't route the wan traffic inside the VPN.

But in this case, wouldn't it be just releasing the virtual network inside nginx? or in the case iptables of the docker then?

I don't know your conf and I use proxmox containers

I'm using the Nginx Proxy Manager project, on a docker installed on Centos

I tried to put the upstream not hand, but it didn't work.
ins custom files
upstream www.site.com {
server		<IP_ADDRESS>:3001	fail_timeout=60;
}

And in the app I don't know how to put upstream to work. On the web platform


redhat: fix tty provision bug

This fixes #1245.

@nathanleclaire this fixes the bug.  there is some duplication as we need to use the RedHat provisioner in the SetHostname func.  For now, it works.  PTAL

LGTM

Would be good to get test(s) in for this somehow, not exactly sure how though.  Maybe a test specifically using amazon driver with a custom AMI.

Yeah good idea.  I will do that in a follow up (#1250).


Update zustand to 4.3.2, update types, update dev dependencies

Main change was updating zustand to 4.3.2 and align typing with it.
Also update other dev dependencies.

@cmlarsen could you please check review and merge this PR?

@cmlarsen could you also publish the new package version to npm registry?

done!

Yes, it is. Because as I see, all the files including .git folder were published to the npm without any cleanup.

@cmlarsen seems like instead of publishing the contents of the dist folder, you've published all the sources that are in the repository. Could you please publish the package one more time with the dist folder content only?

Lol. Yeah sorry. I was doing to many things at once.


following up on #589, adjust manifest

Adjust MANIFEST.in as suggested by @piskvorky
Remove test pacakge data from setup.py

@e-nalepa Please have a look in case we missed anything else

Thanks.
What's the workflow for testing locally now?

Same as before, "python setup.py develop; pytest smart_open".


Typo "cognitive services"→"Cognitive Services"

https://docs.microsoft.com/en-us/azure/cognitive-services/form-recognizer/quickstarts/label-tool?tabs=v2-1
#PingMSFTDocs

@hyoshioka0128 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Update README.md

current release version is 1.0.2 so the example will not work without this.

Agh.. Should find a better way to automatically update this..


Should we count the number of sp_io::next_key calls, similarly to reads and writes, for weight

Currently we count the number of read and writes for computing the weight of some code.
But sp_io::next_key also calls into the backend. Maybe we currently underestimate its cost because benchmark are using in memory backend AFAIK which is faster than rocksdb.
Maybe for the same reason we count reads and writes, we should count next_key calls.

I did a benchmark once, and if I recall correctly, if you do
benchmakr!{
  name { ... } { <Map<T>>::iter().count(); <Map<T>>::iter().collect::<Vec<_>>(); }
}

This only entails m reads, given that Map has m items. I think the benchmarking framework thinks that because once you iterate and get the count, same keys are being accessed, and we assume that the overlay will cache this. But if the overlay is not caching these keys, then it is a big oversimplification.

what if you do:
benchmakr!{
  name { ... } { <Map<T>>::iter().count(); }
}

I suspect it does count 0 reads. as if all weight of this code is inside the runtime

Overlay is not caching anything. The caching happens in front of the db.
I thought the benchmarking framework is just assuming that once we accessed one key, the next access is cached? Which should still be true.

Okay then what I said is a no-issue.

There is no caching for 'next_storage_key', it could be implemented though.
So I am using this issue to ask if we should implement this cache?
(it is caching interval of values and is pretty interesting but not as straightforward as existing cache: probably need to fuse those interval since usual usecase is multiple consecutive calls)

What do you want to cache?

result to calls to 'next_storage_key' (which means that fusing interval is not doable I am deleting it from previous comment)

From internal discussion it seems we should count for sp_io::next_key calls and estimate their cost correctly.

@cheme State cache support for next_key needs to be written indeed. It could  be implemented as a btree where each key references the next key. As soon as some key is invalidated, the cache would also update a preceding entry to maintain consistency.

that's an idea, I started resuming some work on parity-db this morning but did not really got things started.
Writing this cache is something I wanted to do for a while, so if no-one is currently working on it, I will start writing it this afternoon.

still relevant, and quite important IMHO


don't create .vscode subdirectory where I opened vscode

VSCode Version: Code 1.14.1 (2648980a697a4c8fb5777dcfb2ab110cec8a2f58, 2017-07-13T19:18:47.188Z)
OS Version: Windows_NT ia32 6.1.7601
Extensions:

Extension
Author (truncated)
Version

pascal
ale
0.8.2

python
don
0.6.7

LogFileHighlighter
emi
1.1.1

innosetup
idl
0.7.3

MagicPython
mag
1.0.10

Steps to Reproduce:

After last updates VS Code started to create .vscode folder every time I open it from command line, using following command:

code .

Check the directory with command

C:\\some\\path>dir /b
.vscode
...

I don't want this junk everywhere I work with Code. And there was no such behavior before.

Reproduces without extensions: No

I probably found the extension that causes this: Python. Will try to contact the author.

Caused by extension, please file the issue in the extension repo. Thanks


Fix RBAC after ResourceFlavor api addition

Signed-off-by: Carlos Eduardo Arango Gutierrez<EMAIL_ADDRESS>
What type of PR is this?
/kind bug
/kind cleanup

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Missed during https://github.com/kubernetes-sigs/kueue/pull/127

/assign @ahg-g

/lgtm
/approve


Please, insert information about Teams Admin Center and Planning feature, instead of suggesting Skype calculator

Dear all,
As my title already said, please, remove the info for Skype calculator, and promote the Planning features and rich capabilities inside the Teams Admin Center portal. It is a amazing feature to predict how much bandwidth Teams will consume, and it is totally integrated to 365 best practices.
Thanks!
Rodrigo A. Dias (FTC)
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 677e2ded-11ef-1bc1-6e41-d0826bbe20c4
Version Independent ID: 81a18ad4-22ed-e97d-949d-2e969a69c91b
Content: Network and migration planning for Office 365 - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/network-and-migration-planning.md
Service: o365-administration
GitHub Login: @kelleyvice-msft
Microsoft Alias: kvice

@Rodrigo30Horas Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/2834
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @Rodrigo30Horas Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Support for raspberrypi (4)

Hey =) As your container is the best solution in docker available, it would be really cool if you support raspberrypi with images too. =)

True. currently you get this
ubuntu@ubuntu:~$ docker run tiredofit/alpine:edge
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
standard_init_linux.go:219: exec user process caused: exec format error

True. currently you get this
ubuntu@ubuntu:~$ docker run tiredofit/alpine:edge
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
standard_init_linux.go:219: exec user process caused: exec format error

Try a re pull of tiredofit/db-backup:latest under arm. I have started multi platform support for some of my images.

Try a re pull of tiredofit/db-backup:latest under arm. I have started multi platform support for some of my images.


Bring K8s Spark to near parity with the DC/OS spark demo

@rgardler,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@suhaildawood can you review this PR please


STORM-2652: fix error in open method of JmsSpout

I open this PR since I was delighted to see that there is an existing JMS spout implementation, but encountered a bug when trying to use it. The bug caused an exception (described below) to be thrown when trying to set up (open) the spout, since the value of Config.TOPOLOGY_MESSAGE_TIMEOUT_SECS corresponds to a Long, and not to an Integer.
This is a minor change, hope it's ok :)
7317 [Thread-18-a-executor[2 2]] ERROR o.a.s.util - Async loop died!
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
	at org.apache.storm.jms.spout.JmsSpout.open(JmsSpout.java:175) ~[storm-jms-1.1.0.jar:1.1.0]
	at org.apache.storm.daemon.executor$fn__4976$fn__4991.invoke(executor.clj:600) ~[storm-core-1.1.0.jar:1.1.0]
	at org.apache.storm.util$async_loop$fn__557.invoke(util.clj:482) [storm-core-1.1.0.jar:1.1.0]
	at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
7320 [Thread-18-a-executor[2 2]] ERROR o.a.s.d.executor -
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
	at org.apache.storm.jms.spout.JmsSpout.open(JmsSpout.java:175) ~[storm-jms-1.1.0.jar:1.1.0]
	at org.apache.storm.daemon.executor$fn__4976$fn__4991.invoke(executor.clj:600) ~[storm-core-1.1.0.jar:1.1.0]
	at org.apache.storm.util$async_loop$fn__557.invoke(util.clj:482) [storm-core-1.1.0.jar:1.1.0]
	at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]

+1. The integration test failure looks unrelated, looks like it couldn't install Zookeeper for some reason.

@omerhadari Could you remove the wildcard imports? I'm +1 once that's done.
Also do you mind creating a corresponding JIRA ticket for this and updating the title of this pull request to be prefixed with the JIRA ID?

Done, and done
https://issues.apache.org/jira/browse/STORM-2652

This still fails due to stylecheck because of numerous error regarding lines I have not touched.
I do not mind fixing them, but I don't know if it is within the scope of this PR. What do you think?

@omerhadari I don't think you need to fix all violations for the module, but of course wouldn't complain if you did ;) If you do I think it should go in another PR though.
Check the pom.xml for storm-jms. It has a count of ignored violations If the build fails now it's because the diff here adds some new checkstyle violations. If you build storm-jms locally, you should get a checkstyle-violations.xml in storm-jms/target. I think it would be good to either fix the new violations (check out master and diff checkstyle-violations with yours), or just fix all violations for the two modified files. If you're up for fixing the violations for the two files, please reduce the number of ignored errors in pom.xml to match.

Well I have fixed all violations for the files I touched, but it still over many style violations in other files. I'd be more than happy to fix them in a separate PR, but for the scope of this one I pushed and changed my fixes.

I fixed all style issues reported in checkstyle-violations.xml regarding the files I touched, and it still failed. I check out master and ran mvn checkout:check, it failed there. Too - with even more errors.
I would be happy to improve the style of other classes in a separate PR. In the meantime, I fixed all style issues regarding JmsSpout and JmsSpoutTest and updated pom.xml to a working allowed violations value.

@omerhadari It is showing 232 violations for me now, and no violations in JmsSpout. I believe that running checkstyle:check will run checkstyle with the default configuration (and ruleset) rather than the one we have set in the pom, which is why the count is inconsistent. If you want to see how many errors there are, you can set the max violations to 0 and run mvn clean validate.

I see, Fixed that as well.
See if you think someone needs to take a look and verify that my style fixes are the correct ones :)

I tried looking into the failed integration test, and I believe it has nothing to do with the classes I touched (especially since it looks to have passed a few commits earlier, all of which contained minor documentation and naming changes).
Let me know if there is anything more I can improve within the scope of this PR before finalizing it.

I think the changes look good. Could you squash the commits down so this PR only contains 1 commit where the message matches the PR title?

Done

@omerhadari There are a few conflicts and a use of a Java 8 API when cherry picking this on to 1.x-branch. Would you mind opening another PR for this for 1.x?

No problem, I'll open a separate PR tomorrow evening.
Do let me know if this one needs any further work.

No, I think this is good. Thanks for the fixes :)

@omerhadari For some reason I can't set you as the assignee on the jira issue. Please assign the issue to yourself, that way it is easy to tell who provided the fix, and it won't show up when people search for unassigned issues.

I have no permissions to do that. I reopened the issue so that someone who can assigns it to me.
Will work on the 1.x PR ASAP. Thanks for the merge.

Sorry, I didn't realize you had to be given rights in order to be assigned an issue. @ptgoetz can you help out?

@omerhadari I assigned the Jira to you and added you to the Jira contributors.
@srdo I added you to the Jira committers/PMCs.

Thanks @vesense!

Thanks @vesense


http: use std::function for headermap iteration

The existing cast-to-void*-then-back method for passing in a context is type-unsafe and can make for hard-to-locate errors. By using a std::function instead of a function pointer, the caller can get compilation error instead of runtime errors, and doesn't have to do any sort of bundling dance with std::pair or a custom struct to pass multiple context items in.
Commit Message: Make HeaderMap::ConstIterateCb a std::function
Additional Description:
Remove the type-unsafe void* context parameter since it can be bundled, with type checking, into a std::function object instead.
Risk Level: low
Testing: ran unit and integration tests
Docs Changes: none
Release Notes: none

Coverage error is maybe legit?
/wait

Running the coverage again locally, but my guess is that this made the tested code less verbose so now the untested portion is a larger percentage by LOC 😿. Worst case I'll add some test cases.

Sorry do you mind fixing the remaining tidy issues? Some of them are pre-existing but should be pretty simple.
/wait


Slides for Cool Stars 21 Machine Learning Splinter Session

I am giving a talk at the Machine Learning splinter session at Cool Stars 21 in Toulouse tomorrow.  🥳
Here is a draft of the slides:
https://speakerdeck.com/gully/blase-an-interpretable-transfer-learning-approach-to-cool-star-echelle-spectroscopy
Any feedback is invited!

The ML Session went great! Woohoo!


add flag for manage floating ips with openstack

This PR for be able to manage floating ips on Openstack with Bucc

as we are using the bosh-deployment upstream
the file floating-ips.yml would be create for a PR at https://github.com/cloudfoundry/bosh-deployment/tree/master/openstack
so we can link it from bucc.

ok i will try to push it to them
i keep you informed ;)

done but need CLA  ...
https://github.com/cloudfoundry/bosh-deployment/pull/218

hello,
i'm back.
Bosh-deployment team tell me this is more a bucc improvement.
https://github.com/cloudfoundry/bosh-deployment/pull/218
so , if you think it usefull for your communauty to have this ops file, you can merge my pr  or close it if think is useless :)
ps : i  don't find how to manage bucc for use a external blobstore (for me : S3 compatible) . do i need to make a new ops file for this or i miss something ? :)

we are still discussing if we want to have the external_ip for bosh.
because it is not the recommended way.
in the meantime you can create a directory operators and place your ops file there

for explain my use case : i use external ip for expose concourse ui to users  (on a dev env) , as i have a security group on my openstack who only allow 443 port to be reach, i think i don't expose too much.  but maybe i'm wrong
the recommended way is , i think, to have a haproxy between users and concourse/bucc ?

the normal usecase would be to setup an lbaas in openstack
this is handled by the component neutron-lbaas

exposing concourse is actually a common request, but doing it properly requires a lot of certs and urls to be changed. So we are investigating solving it on the loadbalancer, so we can keep bucc simpel.

@ramonskie no, i don't have lbaas available on my openstack,  it's why i use directly  a ip for easely exposing concourse on a internal dev/recette environement . but , yes, on prod/preprod i would set a LB on front.

Should work nicely with https://github.com/starkandwayne/bucc/blob/develop/ops/flags/concourse-lb.yml

thanks ! :)


what will happen if metadata is different between Name Servers in one name server cluster?

Here is the situation.
there is a name server cluster including ns1 and ns2. broker cluster including b1, b2, b3.
if ns1 is diconnected with b3, and ns2 is disconnected with b2, which means metadata in ns1 only include b1, b2 and ns2 only have b1, b3.
now if producer connected to ns1, producer will only send msg to b1 and b2.
if consumer connected to ns2, then consumer will only consume msg from b1 and b3. which means all msgs send to b2 will not be consumed. is that correct?
if this is correct, what should we do to prevent it happen?

This will make the cluster in an inconsistent state. Publishing of messages would be not load-balanced and subscribers may temporarily ignore some messages on the node that is not present in its route table. Some other undefined behavior may also be possible. This is pretty bad because this breaks the design assumption that brokers connect and report to all name-server nodes.
To avoid this from happening, it's advisable to build a monitor tool to compare the routing table of each topic periodically. Once a name server node fails, add an alternative one and isolate it from the cluster.
It may also be viable to introduce the consensus algorithm to name server nodes to further improve resilience.

as I know, metadata in namesrv include kv config and topic route info that producers and consumers use for send and consume messages rely on.

how producers use topic route info when sending message:
https://github.com/apache/rocketmq/blob/e5a71bb95f6b8c1dcb4e44d5948469629da3833b/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java#L550
for consumers, you try to find it.

This will make the cluster in an inconsistent state. Publishing of messages would be not load-balanced and subscribers may temporarily ignore some messages on the node that is not present in its route table. Some other undefined behavior may also be possible. This is pretty bad because this breaks the design assumption that brokers connect and report to all name-server nodes.
To avoid this from happening, it's advisable to build a monitor tool to compare the routing table of each topic periodically. Once a name server node fails, add an alternative one and isolate it from the cluster.
It may also be viable to introduce the consensus algorithm to name server nodes to further improve resilience.

gotta, thanks for your explanation :)

as I know, metadata in namesrv include kv config and topic route info that producers and consumers use for send and consume messages rely on.
how producers use topic route info when sending message:
https://github.com/apache/rocketmq/blob/e5a71bb95f6b8c1dcb4e44d5948469629da3833b/client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java#L550
for consumers, you try to find it.

that's right, both consumer and producer will get the router info from name servers. However, just as my question described, if consumer and producer getting router info from different name server instances (in one name server cluster). which means consumer and producer may have different router info.


Additional features to compare to when sorting

Differentiate by more factors when sorting, default to unique id so sorting won't get confused

Out of date.


[apps] utilizing delegation email for gsuite app

to: @javuto
cc: @airbnb/streamalert-maintainers
size: small
resolves N/A
Background
During testing of the GSuite streamalert app, it was found that the proper permissions were not being used by the app, resulting in the following error:
HttpError: <HttpError 401 when requesting https://www.googleapis.com/admin/reports/v1/activity/users/all/applications/admin?alt=json returned "Access denied. You are not authorized to read activity records.">
Changes

The GSuite app now uses a service account email to perform domain-wide auth delegation.

This email address must be provided during app configuration and will be save the parameter store along with the keyfile's data.

Fixing bug where the incorrect last timestamp would be saved to the state.

The Google Admin SDK Reports API returns all logs in reverse chronological order (contrary to every other API I've seen or we support). Therefore, the first log in the list of logs returned will have the most recent date and the last log returned (after all pagination, etc) will be the oldest log.
The ideal fix for this would make sure ALL logs were retrieved before saving the timestamp, since this can now result in missed data if there are any errors. However, that's a significant refactor and we can limit the impact of this by setting a high AWS Lambda timeout and a low CloudWatch Scheduled Events interval.

Adding additional debug log statements

Other Changes

Adding a debug logger statement to the box app so it's more clear when requests are happening.

Testing

Unit tests passing (tests/scripts/unit_tests.sh)
Tested in scripted form locally.

Coverage increased (+0.01%) to 95.453% when pulling 429b1a80eaa6e9a5f4848ac65f1f8773e33c6573 on ryandeivert-gsuite-tweaks into f61dcd37eac454b7eb850f2b656bc3f14f88500e on master.

Coverage increased (+0.01%) to 95.453% when pulling 3c105fbc506561ad6545a7b6cb7587a4389322d8 on ryandeivert-gsuite-tweaks into f61dcd37eac454b7eb850f2b656bc3f14f88500e on master.


Fix Infer Installation Procedure

Similar to the tar command, append sudo to the ln command since it fails due to 'Permission Denied' errors on Linux

Thank you!


[BUG]

Version information

Laravel: v5.8
Voyager: v1.2
PHP: 7.2
Database: MySQL 8.0

Description

I uploaded my laravel with voyager to 000webhost, in my localhost i was able to view/download my file and image. After i post it to the server the image in avatar and uploaded is not showing.
I already configure my .env file with the APP_URI below website.
Steps To Reproduce
Steps to reproduce the behavior:

Go to https://lkcfesnotification.000webhostapp.com
Click on 'enter'
Default voyager user and pass will change later after solving this problem
Error was no avatar image even if i upload it

Expected behavior
It should able to view my image and download my uploaded file
Screenshots
If applicable, add screenshots to help explain your problem.
1)my content file

2)My uploaded image, file and avatar not viewing

3) my storage path

4) my .env File

5) My website detail

Additional context
This i my school project and i need to submit this next week monday pls do help thank in advance if anyone can help me

Please show the contents of your /public_html directory

this is my public_html

Your image is accessible with the following link:
http://lkcfesnotification.000webhostapp.com/storage_old/users/July2019/ZJuiL2kmeQrbudVOazVK.webp
But your voyager instance is generating this link:
http://lkcfesnotification.000webhostapp.comstorage/storage_old/users/July2019/LPuebc2SHyDUrhVvka2I.jpg
As you can see, the link is not generating correctly by the .comstorage/storage_old
My guess is that you config/filesystems.php is not correctly configured. Maybe try using the following code in the public disk configuration
'public' => [
    'driver' => 'local',
    'root' => storage_path('app/public'),
    'url' => env('APP_URL').'/storage_old',
    'visibility' => 'public',
],

@DaLooK  the file will show in my media but when i upload a new file the image broke again and when i download my file it says file not found below is the image

@Lucife9695 Can you show your config/filesystems.php file

The file is uploaded but they do not display

@DaLooK forget to include in description that when i upload to the server i chg the /public to /public_html just in case if any related

I see no reason for renaming the public directory like that, but it should be fine as long as you tell laravel about it by overriding public.path (googling that should give plenty of results)

@fletch3555 u mean change in app service provider and in index.php?

You should only have to set it once, but yes, the change should go in a serviceprovider

@fletch3555 i already added that in appservice provider it does not work. then i bind in the public_html  index.php this error come out

Well you haven't shared what you put in appserviceprovider, so I can't say for certain, but that error indicates you did something wrong.  /opt/awex-pages:/storage/........ (note the colon, :, after awex-pages)

public function register()
{
$this->app->bind('path.public', function() {
realpath(base_path().'/public_html');
});
}
I added then it work for me but then the image i uploaded is not showing up

OK IT WORK NOW !!!!!!!!!!!! i just  rename my storage and login to my page click fix it and then all file can upload now and view and download thx for help me


A terminal backend like dioxus

Does the current architecture allow for a different backend? like dioxus-tui

@jquesada2016 has done some exploration in this area (see leptos-tui There's not much overlap between the DOM and a TUI so it's mostly using Leptos reactivity to drive a TUI.

terminal backend triggered me to post https://github.com/pwnwriter/rustycli
which I discovered at https://www.reddit.com/r/rust/comments/15a2c7q/access_the_rust_playground_right_in_terminal/


Error when importing XP network packages on React

I tried to install the XP network using the commands present in the documentation for my react project
npm i --save xp.network @elrondnetwork/erdjs ethers @taquito/taquito @temple-wallet/dapp
Now when I import packages like import {     ChainFactoryConfigs,     ChainFactory,     Chain,     AppConfigs,     ChainParams } from "xp.network";
I am getting an error message like this
ERROR in<EMAIL_ADDRESS>30:0-36:107 export 'ErrorFragment' (reexported as 'ErrorFragment') was not found in '@ethersproject/abi' (possible exports: AbiCoder, ConstructorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, Indexed, Interface, LogDescription, ParamType, TransactionDescription, checkResultErrors, defaultAbiCoder)
also
ERROR in<EMAIL_ADDRESS>44:30-43 Module not found: Error: Can't resolve 'fs' in
I am using react script 5.0.1 with config overrides as well. Also I tried with react script 4.0.2 without config-overrides but it gave all sorts of error related to solana

Please make sure you have following configuration for your React App

config-overrides.js in root folder:

const webpack = require("webpack");

module.exports = function override(webpackConfig) {
  webpackConfig.resolve.fallback = {
    url: false,
    querystring: false,
    assert: require.resolve("assert"),
    crypto: require.resolve("crypto-browserify"),
    path: require.resolve("path"),
    fs: false,
    os: false,
    http: require.resolve("stream-http"),
    https: require.resolve("https-browserify"),
    buffer: require.resolve("buffer"),
    stream: require.resolve("stream-browserify"),
  };

  webpackConfig.ignoreWarnings = [/Failed to parse source map/];

  webpackConfig.plugins.push(
    new webpack.ProvidePlugin({
      process: "process/browser",
      Buffer: ["buffer", "Buffer"],
    })
  );

  return webpackConfig;
};

In package.json make sure you have following deps and scripts:

{
    "dependencies": {
    "https-browserify": "^1.0.0",
    "path": "^0.12.7",
    "react-app-rewire-babel-loader": "^0.1.1",
    "react-app-rewired": "^2.2.1",
    "react-scripts": "5.0.1",
    "stream-browserify": "^3.0.0",
    "stream-http": "^3.2.0"
  },

  "scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build --max_old_space_size=8192",
    "test": "react-app-rewired test",
    "eject": "react-app-rewired eject"
  }
}

Install packages and run start command.

I tested on https://github.com/imabhijith25/samplereactapp (with yarn) and it compiled without bugs

Thanks it worked!


Update product code to work with editor.

Primary points in this PR are:

Revert Roslyn dev version back to 2.3.0-bet4-*.
Do work to enable the Razor editor for 1.0.0 targeting projects (remove the RazorViewAttribute).
Change TagHelperDescriptorProviders to not add null to the list of descriptors.

We used to have 2.3.0-* which got lifted to 2.3.0 for the ones that were on NuGet.org resulting in the downgrade. Maybe the -beta4-* makes the difference.

So do we really have no warnings with the 2.3.0-beta4 packages? @pranavkm told me we did before

No warnings, sorry forgot to add that in the PR comments.


add support for LCD using ILI9341.

For details refer to https://github.com/microsoft/pxt-common-packages/pull/1081

Would be nice to back port support to common packages, eventually

@pelikhan Do you mean this?
https://github.com/microsoft/pxt-common-packages/pull/1081


Use default value when no override is provided in kv options

@xichen2020

Coverage decreased (-0.06%) to 84.188% when pulling 0220fa746545153b7571ed4a844dcb51f3c0ad8e on chao-kv-options into df6e3eab6ea039204816055fc98480a006dfac34 on master.

Coverage decreased (-0.0001%) to 84.25% when pulling 0220fa746545153b7571ed4a844dcb51f3c0ad8e on chao-kv-options into df6e3eab6ea039204816055fc98480a006dfac34 on master.


Adding option to visualize negative values in Table view

Resolving #4495
Currently, rows with negative values will not show background bars.
The PR adds a new option "Visualize Negative Values" which will show red tinted bars signifying negative values. This will make it useful for situations where negative values are also important (i.e. A/B testing result).
The direction of the bars for positive and negative values are the same since it'll be less cluttered and we can compare the magnitudes easily.
Passes run_tests.sh and npm run test
@michellethomas @williaster @GabeLoins @mistercrunch

Codecov Report

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

@@          Coverage Diff           @@
##           master   #4570   +/-   ##
======================================
  Coverage    71.2%   71.2%
======================================
  Files         187     187
  Lines       14785   14785
  Branches     1083    1083
======================================
  Hits        10527   10527
  Misses       4255    4255
  Partials        3       3

Impacted Files
Coverage Δ

...rset/assets/javascripts/explore/stores/visTypes.js
70.58% <ø> (ø)
:arrow_up:

...set/assets/javascripts/explore/stores/controls.jsx
38.16% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

@john-bodley @williaster Comparison with multiple columns. After playing around with it for a while I feel they both have pros and cons.

Color allows the alignment neater and easier to compare magnitudes
Direction makes it easy to see positive and negative values when both exist in a column, but pretty messy for positive only column.

Thoughts?

@tanvach thanks for exploring the options. Negating the negative values and encoding them with a color reminds be of https://square.github.io/cubism/. As you mentioned both approaches have their pros and cons, but I think I prefer the monotone option. @williaster what are your thoughts?

Maybe I'm just used to domain coloring  since I think negative number is just a positive number with 180 deg phase angle :)

@john-bodley @williaster Since I think the best viz type depends on context, I've simply added options: Right Align and Highlight Negative. By default these are on, meaning it will right align the bar charts and coloring negative numbers (to be backwards compatible with current viz style). By turning Right Align off you will get bars going left for negative and right for positive.

+1 you'll need some css3 kung fu to make that happen :)

@tanvach thanks for exploring these options! I agree that exposing the controls to the user is ideal given the tradeoffs. a couple more thoughts:

I think the label "Highlight negative" and "Right align" don't quite make it obvious what these do. What do you think about "Align by +/- "Color by +/-" (@john-bodley might have thoughts too)
I don't think that backwards compatibility is important here. actually I think it's strange that the bars were right-aligned to start, so I would suggest the behavior be either: align everything left, or align by +/-
would it be possible to make the red a little more obvious? it's not super differentiable from grey to me

thoughts?

@williaster I've made red channel = 150 and it does look better. Here's aligning to the left. Actually I remember we used to have left aligned bars a few versions before. If we're doing this I'll just make these options default to off.

For the option labels, took out 'by' and looks better

I agree with @williaster regarding not having to preserve backwards compatibility and that left aligned bars make the most sense.

thanks @tanvach! @john-bodley and I think this looks good but think coloring should probably be on by default as it's possibly confusing for + and - to appear the same if you don't know it's a setting. will merge after that 🚀
sorry for the back and forth, thanks again for adding this!

@williaster @john-bodley I've pushed the change to make coloring turned on as default. Thanks for reviewing the PR!


"idx" problem in MPNN

❓ Questions & Help
In the exapmle code of qm9_nn_conv.py, why should we use "idx" to index our edge_attr.
Can we remove **idx = data.edge_index[0] * data.num_nodes + data.edge_index[1]** and edge_attr[idx] = data.edge_attr? Or can we just use edge_attr = data.edge_attr  since we can directly call edge_attr with a number, like edge_attr[0] or any integer number to call the edge attr.

Here is the codes used for data transformation below.
`class Complete(object):
def call(self, data):
device = data.edge_index.device
    row = torch.arange(data.num_nodes, dtype=torch.long, device=device)
    col = torch.arange(data.num_nodes, dtype=torch.long, device=device)

    row = row.view(-1, 1).repeat(1, data.num_nodes).view(-1)
    col = col.repeat(data.num_nodes)
    edge_index = torch.stack([row, col], dim=0)

    edge_attr = None
    if data.edge_attr is not None:
        **idx = data.edge_index[0] * data.num_nodes + data.edge_index[1]**
        size = list(data.edge_attr.size())
        size[0] = data.num_nodes * data.num_nodes
        edge_attr = data.edge_attr.new_zeros(size)
        **edge_attr[idx] = data.edge_attr**

    edge_index, edge_attr = remove_self_loops(edge_index, edge_attr)
    data.edge_attr = edge_attr
    data.edge_index = edge_index

    return data

`

idx contains the indices of where elements of data.edge_attr should be placed in a flattened dense adjacency matrix of shape [num_nodes * num_nodes]. This is needed because here, we operate on a full graph (each node connected to every other node), while we want to maintain the correct edge features for the initial nodes.

idx contains the indices of where elements of data.edge_attr should be placed in a flattened dense adjacency matrix of shape [num_nodes * num_nodes]. This is needed because here, we operate on a full graph (each node connected to every other node), while we want to maintain the correct edge features for the initial nodes.

idx contains the indices of where elements of data.edge_attr should be placed in a flattened dense adjacency matrix of shape [num_nodes * num_nodes]. This is needed because here, we operate on a full graph (each node connected to every other node), while we want to maintain the correct edge features for the initial nodes.

Thanks for your reply. I am still little confused about the meaning of using idx in edge_attr[idx].
Suppose we have one molecular graph with 39 nodes, each node has 1*186 feature. Let us print the idx 、data.edge_index, data.edge_attr  and we can found the the shape of idx is 2601 ,  [2, 2601] for data.edge_index and [2601, 40] for data.edge_attr.
So my question goes that why should we need edge_attr[idx] while we already have data.edge_index for fully-connected adjacent matrix? What functions can we trace the whole computation process of the use of idx?
Codes are as follows:
print("Num of nodes", data.x.shape)   #output : Num of nodes torch.Size([39, 186])
if data.edge_attr is not None:
        idx = data.edge_index[0] * data.num_nodes + data.edge_index[1]
        print("idx", idx.shape, idx)              # output : idx torch.Size([2601]) tensor([   0,    1,    2,  ..., 2598, 2599, 2600])
        size = list(data.edge_attr.size())
        size[0] = data.num_nodes * data.num_nodes
        edge_attr = data.edge_attr.new_zeros(size)
        print("edge_index",edge_index.shape)   #outpu: edge_index  torch.Size([2, 2601])
        print("edge_attr",edge_attr.shape)   #output:  edge_attr  torch.Size([2601, 40])
        edge_attr[idx] = data.edge_attr  !!! notice where should be changed here
        print("edge_attr[idx]", edge_attr[idx].shape) #output : edge_attr[idx]  torch.Size([2601, 40])

edge_index, edge_attr = remove_self_loops(edge_index, edge_attr)
data.edge_attr = edge_attr
data.edge_index = edge_index
return data

where should be wrong if I wrote these code in the following way?
Codes are as follows:
print("Num of nodes", data.x.shape)   #output : Num of nodes torch.Size([39, 186])
if data.edge_attr is not None:
        size = list(data.edge_attr.size())
        size[0] = data.num_nodes * data.num_nodes
        edge_attr = data.edge_attr.new_zeros(size)
        print("edge_index",edge_index.shape)   #outpu: edge_index  torch.Size([2, 2601])
        print("edge_attr",edge_attr.shape)   #output:  edge_attr  torch.Size([2601, 40])
        **edge_attr= data.edge_attr**   !!! notice the change here

edge_index, edge_attr = remove_self_loops(edge_index, edge_attr)
data.edge_attr = edge_attr
data.edge_index = edge_index

return data

idx contains the indices of where elements of data.edge_attr should be placed in a flattened dense adjacency matrix of shape [num_nodes * num_nodes]. This is needed because here, we operate on a full graph (each node connected to every other node), while we want to maintain the correct edge features for the initial nodes.

Thanks for your reply. I am still little confused about the meaning of using idx in edge_attr[idx].
Suppose we have one molecular graph with 39 nodes, each node has 1*186 feature. Let us print the idx 、data.edge_index, data.edge_attr  and we can found the the shape of idx is 2601 ,  [2, 2601] for data.edge_index and [2601, 40] for data.edge_attr.
So my question goes that why should we need edge_attr[idx] while we already have data.edge_index for fully-connected adjacent matrix? What functions can we trace the whole computation process of the use of idx?
Codes are as follows:
print("Num of nodes", data.x.shape)   #output : Num of nodes torch.Size([39, 186])
if data.edge_attr is not None:
        idx = data.edge_index[0] * data.num_nodes + data.edge_index[1]
        print("idx", idx.shape, idx)              # output : idx torch.Size([2601]) tensor([   0,    1,    2,  ..., 2598, 2599, 2600])
        size = list(data.edge_attr.size())
        size[0] = data.num_nodes * data.num_nodes
        edge_attr = data.edge_attr.new_zeros(size)
        print("edge_index",edge_index.shape)   #outpu: edge_index  torch.Size([2, 2601])
        print("edge_attr",edge_attr.shape)   #output:  edge_attr  torch.Size([2601, 40])
        edge_attr[idx] = data.edge_attr  !!! notice where should be changed here
        print("edge_attr[idx]", edge_attr[idx].shape) #output : edge_attr[idx]  torch.Size([2601, 40])

edge_index, edge_attr = remove_self_loops(edge_index, edge_attr)
data.edge_attr = edge_attr
data.edge_index = edge_index
return data

where should be wrong if I wrote these code in the following way?
Codes are as follows:
print("Num of nodes", data.x.shape)   #output : Num of nodes torch.Size([39, 186])
if data.edge_attr is not None:
        size = list(data.edge_attr.size())
        size[0] = data.num_nodes * data.num_nodes
        edge_attr = data.edge_attr.new_zeros(size)
        print("edge_index",edge_index.shape)   #outpu: edge_index  torch.Size([2, 2601])
        print("edge_attr",edge_attr.shape)   #output:  edge_attr  torch.Size([2601, 40])
        **edge_attr= data.edge_attr**   !!! notice the change here

edge_index, edge_attr = remove_self_loops(edge_index, edge_attr)
data.edge_attr = edge_attr
data.edge_index = edge_index

return data

The above computations converts a sparsely-connected graph into a fully-connected graph. Say, for example, you have the following graph:
edge_index = [[0, 1], [1, 2]]
edge_attr = [1, 2]

Now, to convert it into a fully connected, there are some edges missing, namely (0, 0), (0, 2), (1, 0), (1, 1), (2, 0), (2, 1), (2, 2)
resulting in the following edge_index:
edge_index = [[0, 0, 0, 1, 1, 1, 2, 2, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2]]

These changes in the edge_index needs to also be reflected in edge_attr. We want to maintain the edge attributes of the original graph, and want to add new zero attributes for the newly introduced edges:
edge_attr = [0, 1, 0, 0, 0, 2, 0, 0, 0]

This is exactly where idx comes into play, since it holds the position/indices of the original edges in the fully-connected graph. Namely, idx = [1, 5].

The above computations converts a sparsely-connected graph into a fully-connected graph. Say, for example, you have the following graph:
edge_index = [[0, 1], [1, 2]]
edge_attr = [1, 2]

Now, to convert it into a fully connected, there are some edges missing, namely (0, 0), (0, 2), (1, 0), (1, 1), (2, 0), (2, 1), (2, 2)
resulting in the following edge_index:
edge_index = [[0, 0, 0, 1, 1, 1, 2, 2, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2]]

These changes in the edge_index needs to also be reflected in edge_attr. We want to maintain the edge attributes of the original graph, and want to add new zero attributes for the newly introduced edges:
edge_attr = [0, 1, 0, 0, 0, 2, 0, 0, 0]

This is exactly where idx comes into play, since it holds the position/indices of the original edges in the fully-connected graph. Namely, idx = [1, 5].

The above computations converts a sparsely-connected graph into a fully-connected graph. Say, for example, you have the following graph:
edge_index = [[0, 1], [1, 2]]
edge_attr = [1, 2]

Now, to convert it into a fully connected graph, there are some edges missing, namely (0, 0), (0, 2), (1, 0), (1, 1), (2, 0), (2, 1), (2, 2), resulting in the following edge_index:
edge_index = [[0, 0, 0, 1, 1, 1, 2, 2, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2]]

These changes in the edge_index needs to also be reflected in edge_attr. We want to maintain the edge attributes of the original graph, and want to add new zero attributes for the newly introduced edges:
edge_attr = [0, 1, 0, 0, 0, 2, 0, 0, 0]

This is exactly where idx comes into play, since it holds the position/indices of the original edges in the fully-connected graph. Namely, idx = [1, 5].

Got it, thanks you so much Matthias.  Now I am so happy that I finally know the meaning of idx with your help.

The above computations converts a sparsely-connected graph into a fully-connected graph. Say, for example, you have the following graph:
edge_index = [[0, 1], [1, 2]]
edge_attr = [1, 2]

Now, to convert it into a fully connected graph, there are some edges missing, namely (0, 0), (0, 2), (1, 0), (1, 1), (2, 0), (2, 1), (2, 2), resulting in the following edge_index:
edge_index = [[0, 0, 0, 1, 1, 1, 2, 2, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2]]

These changes in the edge_index needs to also be reflected in edge_attr. We want to maintain the edge attributes of the original graph, and want to add new zero attributes for the newly introduced edges:
edge_attr = [0, 1, 0, 0, 0, 2, 0, 0, 0]

This is exactly where idx comes into play, since it holds the position/indices of the original edges in the fully-connected graph. Namely, idx = [1, 5].

Got it, thanks you so much Matthias.  Now I am so happy that I finally know the meaning of idx with your help.


Kubernetes UDP support for Service

@colemickens made the following change.  This is to track back porting into 1.6x.  Once this is available, update Dan Lepow for documentation.
https://github.com/kubernetes/kubernetes/pull/45523.

This will most likely ship in 1.6.5 in approximately 2 weeks.  I will update if I get a specific release time.

So this means there would be support for load-balancing UDP traffic?
Is there currently any way to expose UDP port to public IP address?

FYI this has been merged and should be in 1.6.5.  https://github.com/kubernetes/kubernetes/pull/46174

Awesome. Thanks @jdumars for all the help.

The change was successfully back-ported and included in 1.6.5. This issue can be closed.


sample_prior_predictive for CLV models

Is this a workflow that you use @ColtAllen?
This gets inherited from the ModelBuilder (and shows in the docs) but isn't actually implemented, right?
import pandas as pd
from pymc_marketing import clv

data_url = "https://raw.githubusercontent.com/pymc-labs/pymc-marketing/main/data/clv_quickstart.csv"
data = pd.read_csv(data_url)
data["customer_id"] = data.index

beta_geo_model = clv.BetaGeoModel(data=data)
try:
    beta_geo_model.sample_prior_predictive()
except TypeError:
    ...

I'm actually working on a PR right now that involves plotting prior predictives. This can't be done with the ModelBuilder methods due to the X-Y convention.

Yup, understand that limitation. I plan to rework that in the near future


pull request for e2e test at 11/15/2016 20:45:09

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Segmentation fault when starting server with CUDA support

Prerequisites
clone the repo update submodules and buils, then try to start the server liek:
CUDA_VISIBLE_DEVICES=0 python3 -m llama_cpp.server --model /home/ec2-user/SageMaker/quant_models/gpt4-x-vicuna-13B.ggmlv3.q4_0.bin --n_gpu_layers 43
Expected Behavior
server start, no errors.
Error:
ggml_init_cublas: found 1 CUDA devices:
Device 0: NVIDIA A10G
llama.cpp: loading model from /home/ec2-user/SageMaker/quant_models/gpt4-x-vicuna-13B.ggmlv3.q4_0.bin
llama_model_load_internal: format     = ggjt v3 (latest)
llama_model_load_internal: n_vocab    = 32001
llama_model_load_internal: n_ctx      = 512
llama_model_load_internal: n_embd     = 5120
llama_model_load_internal: n_mult     = 256
llama_model_load_internal: n_head     = 40
llama_model_load_internal: n_layer    = 40
llama_model_load_internal: n_rot      = 128
llama_model_load_internal: ftype      = 2 (mostly Q4_0)
llama_model_load_internal: n_ff       = 13824
llama_model_load_internal: n_parts    = 1
llama_model_load_internal: model size = 13B
llama_model_load_internal: ggml ctx size =    0.09 MB
llama_model_load_internal: using CUDA for GPU acceleration
llama_model_load_internal: mem required  = 9031.71 MB (+ 1608.00 MB per state)
llama_model_load_internal: offloading 0 repeating layers to GPU
llama_model_load_internal: offloaded 0/43 layers to GPU
llama_model_load_internal: total VRAM used: 43 MB
Segmentation fault
And I want to know how to solve the segmentation fault error?
Thanks!!!

You're going to need to provide a lot more details as per the issue template.
e.g. Linux or Windows? Version of CUDA? Version of llama-cpp-python? Output of nvidia-smi.

run code on Linux platform and The output of Nvidia smi is shown in the following figure:

mvcc --version is

While this may not be the cause of your segmentation fault, your nvidia-smi reports CUDA version 12.0. nvcc --version reports version 11.8.
Try removing all your CUDA installs and nvidia driver and install 12.1 with the latest nvidia 5.30 driver. Then recompile the package.
If you're still getting the segmentation fault, I'd try to install the latest llama.cpp, as a segmentation fault is more likely to be caused by the llama.cpp library than Python.

Closing. Please reopen if the problem is reproducible with the latest llama-cpp-python which includes an updated llama.cpp


Update cdn-troubleshoot-compression.md to change max size to 3 MB

Updating line 111 to be consistent with other documentation.  Confirmed with Verizon CDN TAM.

@sbdoroff : Thanks for your contribution! The author(s) have been notified to review your proposed change. @sohamnc

#sign-off

@mdgattuso: I'm sorry - only the author of this article, @sohamnc, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


A reader is not removed when it is physically disconnected

When a reader is disconnected it is not removed from the UI and also continues to be reported to the client apps. When the reader reconnected, it does not work.
This affects only Beta and Dev Chrome OS channels, the Stable channel works fine.
Steps to reproduce
-Install and launch the Smart Card Conenctor app.
-Connect a reader to a USB port, it is recognized and shown in the app UI correctly. Insert/remove a smart card, the reader icon changes accordingly.
-Disconnect the reader, it remains shown in the UI and continues to be reported to the client apps.
-Connect the reader back, the reader is still shown, but the icon does not change when a smart card inserted/removed.
-The only way to clear the condition is to re-install the Smart Card Connector app or reboot the Chromebook.
-This was reproduced with two different Smart card readers.
-If a second smart card reader is connected after the first one disconnected, the second one is is not shown as if the app just hung.
Environment details:
Chromebook Pixel, model C0A.
The Smart Card Connector app (id "khpfeaanjngmcnplbdlpegiifgpfgdco", version <IP_ADDRESS>)
Stable channel: Chrome OS 74.0.3729.125
Beta channel: Chrome OS 75.0.3770.24
Dev channel: Chrome OS 75.0.3770.19
USB Smart card readers tested:
"Gemalto PC Twin Reader" "vendorId": 0x000008E6, "productId": 0x00003437
"Alcor Micro AU9560" "vendorId": 0x0000058F, "productId": 0x00009540
smart-card-connector-log-bad-dev-channel-chrome-75.0.3770.19.txt
smart-card-connector-log-good-stable-channel-chrome-74.0.3279.125.txt
smart-card-connector-log-bad-beta-channel-chrome-75.0.3770.24.txt

I am experiencing the same issue on an Acer Chromebook 14 (model CB3-431), which is also on the Beta channel with Chrome OS 75.0.3770.24. I tried again with Linux support disabled in the settings, but the problem persists.

This was fixed on the Chrome side - the partial fix went into 75.0.3770.73, and a more complete one - into 76.0.3809.82.


Automatically create ServiceMonitor for built-in exporter

To export HAProxy stats to Prometheus user can apply the following annotations to an ingress object.
monitoring.appscode.com/agent: Prometheus

monitoring.appscode.com/prometheus.Namespace: <Kube NS where service monitors will be created>
monitoring.appscode.com/prometheus.Labels: <map[string]string used to select Prometheus instance>
monitoring.appscode.com/prometheus.Interval: <scrape interval>

Voyager operator will automatically create ServiceMonitor TPR objects based on these annotations. That means if you also use Prometheus operator, your HAProxy stats will start showing up in Prometheus and  Grafana Dashboard without further manual action.

What's the best way to set up a ServiceMonitor for an ingress.appscode.com resource now that we have #13 in 1.5.6?

@julianvmodesto, the short answer is that you have to write your Prometheus Job config by hand if you want to use the /metrics endpoints exposed as part of operator. CoreOs's prometheus operator expects the exporter to be running in the same pod as the HAProxy. Otherwise, the config generated by prom operator applied incorrect labels. So, you can't use ServiceMonitor to scrape metrics for HAProxy from the operator endpoints.
Originally, I was hoping that prom operator could be extended to support out-of-pod exporters. But it seems that prom operator project does not like that idea on philosophical grounds (https://github.com/coreos/prometheus-operator/issues/387) . If you are writing Prometheus config by hand, you can easily support these types of out-of-pod exporter scenarios, as I pointed out in that ticket.
Now, we are brainstorming what should be the road ahead on this, including writing our own prom operator. I would to like to know what you or any other Voyager users think on this topic?

Ahh got it!
What's the primary benefit of an out-of-pod haproxy exporter that we'd like to preserve?
In the meantime, I'll give it a shot handwriting the scrape config with a custom ServiceMonitor.

The benefits of out-of-pod exporters as I see today are:

Exporter can be added / updated without restarting production workload.
The same exporter can be used to expose metrics for workloads of same kind (multiple postgres DB in same/diff namespace, etc.). This is particularly useful for smaller cluster.

For our use case, we're completely okay with an in-pod exporter and losing these benefits, although it makes sense why these benefits are important for different use cases.
We're also using CoreOS's Prometheus Operator, so it would be great if we could generate a compatible ServiceMonitor resource, whether we go w/ the in-pod haproxy exporter or the out-of-pod haproxy exporter. Haven't gotten to setting up an empty serviceMonitorSelector and hand-written Prometheus config in a ConfigMap yet -- seems a bit tricky.

Supporting side-car exporters opens up a whole new can of worms regarding update s.
Also, I wonder should we have such tight support for one specific monitoring system. What if some other monitoring system comes out tomorrow and that needs to be supported.
For us the issue of of out-of-pod exporter is particularly important with our DB statefulsets. I think it is unreasonable to say that you need to restart you DB so that exporters can be added/updated, where there is no technical reason for that.

@julianvmodesto , after some internal discuss we have decided to implement this feature in next release using side-card exporters.


Why setting 'params.requires_grad=False' for target_network?

https://github.com/SSL92/hyperIQA/blob/3c4fe1366f1cc851efc64015f293aaf7fc7eaa0c/HyerIQASolver.py#L50-L56
Hi, thanks for releasing your code. I find that you set requires_grad=False for target_networks. This is a little confusing.  Since the parameter of target network are generated by hyperNet, would setting requires_grad to False block loss of targetnet backpropogating to parameters of hyperNet and make the parameters of hypernet do not update?

I just tested model_target.parameters() and turned out it is empty.


Add Aggregation.LastValue and AggregationData.LastValueData to support Gauge

Part of https://github.com/census-instrumentation/opencensus-java/issues/1047.
Add Aggregation.LastValue and AggregationData.LastValueData to support Gauge, according to the design doc and OpenCensus-specs.
Might be easier to review by each commit. I'll post a follow-up PR to support LastValue/LastValueData for zpage and exporters.
/cc @bogdandrutu

Codecov Report

Merging #1055 into master will increase coverage by 0.13%.
The diff coverage is 94.91%.

@@             Coverage Diff              @@
##             master    #1055      +/-   ##
============================================
+ Coverage     81.84%   81.98%   +0.13%
  Complexity     1139     1139
============================================
  Files           181      181
  Lines          5322     5379      +57
  Branches        499      500       +1
============================================
+ Hits           4356     4410      +54
- Misses          836      838       +2
- Partials        130      131       +1

Impacted Files
Coverage Δ
Complexity Δ

...xporter/stats/signalfx/SignalFxSessionAdaptor.java
96.22% <ø> (ø)
14 <0> (ø)
:arrow_down:

...porter/stats/prometheus/PrometheusExportUtils.java
98.41% <ø> (ø)
10 <0> (ø)
:arrow_down:

...rter/stats/stackdriver/StackdriverExportUtils.java
94.16% <ø> (ø)
23 <0> (ø)
:arrow_down:

.../opencensus/contrib/zpages/StatszZPageHandler.java
93% <ø> (ø)
45 <0> (ø)
:arrow_down:

...pi/src/main/java/io/opencensus/stats/ViewData.java
100% <100%> (ø)
7 <0> (ø)
:arrow_down:

.../io/opencensus/implcore/stats/MutableViewData.java
98.15% <100%> (+0.1%)
16 <0> (ø)
:arrow_down:

...src/main/java/io/opencensus/stats/Aggregation.java
100% <100%> (ø)
1 <0> (ø)
:arrow_down:

...main/java/io/opencensus/stats/AggregationData.java
91.66% <84.61%> (-3.99%)
1 <0> (ø)

.../opencensus/implcore/stats/MutableAggregation.java
98.07% <90.9%> (-0.85%)
1 <0> (ø)

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 35bf957...f3c4536. Read the comment docs.

Please hold this until next week when I come back from vacation. We need to chat a bit about this.

I see - just saw the equivalent PR for Go is blocked too.

Per our meeting today we're probably going to make major changes to our stats data model. Closing this PR for now.

Reopen this PR - I saw Go merged the equivalent PR (https://github.com/census-instrumentation/opencensus-go/pull/526), are we re-considering adding LastValue and LastValueData?

I think we discussed that we will ask users to use the same version for exporter/impl/api and we have an issue for that, correct?

Yes, I think we discussed keeping the versions compatible when it's easy but allowing incompatibility in cases where it allows the implementation to support new functionality from the API.  I don't think there is an issue yet for the documentation change.

Sure, I want to know how can we move forward with this.

Just did a quick search, none of the gRPC code is using the match method or any of the Aggregations. @bogdandrutu  do you think cloud bigtable or cloud spanner will be affected by making an incompatible change to Aggregation?

I don't think it is used because it is part of the exporter API. If it is used by any it will be in tests so we can just mention this in the release notes.

Sounds good, in this case I would propose just add LastValue and remove Mean and MeanData from match(). This should only affect our library and tests.

Thanks for review!


ruff: last fixes

What does this PR do?
Fixes #1484
Adds the last docstring in tests. After this all ruff is taken care of.

Before submitting

[ ] Was this discussed/agreed via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.

Did you have fun?
Make sure you had fun coding 🙃

ruff: last fixes

unless we introduce a new check :D

ruff: last fixes

unless we introduce a new check :D

Please no :]


Upload csv with replace option - error

Make sure these boxes are checked before submitting your issue - thank you!

[ None] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[ yes] I have reproduced the issue with at least the latest released version of superset.
[ yes] I have checked the issue tracker for the same issue and I haven't found one similar.

Superset version
.28
tested with the latest also
Expected results
when I use upload csv with replace option for one of the existing tables, I expect the table is dropped first and created again.
Actual results
I see this error instead
'Table name training already exists. Please pick another'
Steps to reproduce

upload a csv as a table
upload the same csv and same table name with replace option

I have the save problem whether the table is fail,replace or append.

I have the save problem whether the table exists is fail,replace or append.

Data can enter the table, but the prompt is misleading.

We are getting this prompt message wrong because of integrity error where in it is trying to insert table related information into metadata tables.


/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create

Request type

[x] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[ ] Correction or update

Details
in Examples->Classical inheritance with Object.create()->line 22 :"if You dont set Object.prototype.
constructor..." must be "if You dont set Rectangle.prototype.constructor..."

Fixed; thanks for reporting!


Time issue after appending row

Hello,
I'm having an issue after the new row appending using the Ajax record. when the row is appended and I call the "time ago" it suddenly changes the time to "2 minutes ago" instead of "0 seconds ago". I'm testing on Demo server.
The same thing is working fine when I'm using on Localhost (xampp)

This is my code
$(comment_HTML).insertAfter(parent);
// Load Timeago
$("body time.timeago").timeago();


Error when trying to Buy to Close a futures trade

Details:
Sell to Open -1 ES
Buy to Close 1 ES
v5.00

Hi, when setting up a futures trade you need to prefix the symbol with a forward slash. So, an ES contract should be originally bought as /ES.

Thanks, working!


Stabilize packages for 3.1

CC @mmitche @dougbu
I'll merge this once we got the all-clear for 3.1-preview3

Should merge after #18770


Typescript @types

Would you please publish a types file for Typescript?

You could contribute to the project by making one yourself, @rendaw

Great idea, but I doubt that I would be able to do that anytime soon.

I started writing a definition File over there. It's currently a mess because all methods are exposed, so it would be great if some Box2d expert can tell me which methods are private.

@zOadT This is great, thanks for your hard work! Are you interested to add it to planck.js project, so that we can maintain and upgrade it with the project?

Of course! Just give me some time to get it ready over the next weeks.

I released v0.2.1 which includes TS definitions developed by @zOadT. Props to him for the amazing job that he did!


Add Password Strength Validation to Signup Form

Description
The current signup form does not enforce strong password policies, potentially compromising account security. Password strength is a crucial aspect of online security, as weak passwords can be easily guessed or cracked by malicious actors, leading to unauthorized access to user accounts. To ensure robust security, the password field should enforce the following requirements:
-At least 8 characters long
-Contains at least one uppercase letter
-Contains at least one lowercase letter
-Contains at least one number
-Contains at least one special character
Implement a validation function that checks for the above requirements and displays an appropriate error message if the password does not meet the criteria. This enhancement will improve account security by ensuring users create strong passwords, thereby protecting their personal information and enhancing the overall security posture of the platform.
@Muskansahuincredible, please assign me this issue. As an GSSoc Contributor I am eager to contribute to enhancing the security of our platform by implementing strong password validation in the signup form.
Screenshots
No response
Additional information
No response
What browser are you seeing this bug on?
Chrome
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I have read the Code Of Conduct
[X] The changes don't break the code

@Muskansahuincredible thank you for assigning me this issue.I am glad to contribute to this project.Can you please  label level to this issue.

Please assign me this issue.

please assign this issue to me

@Muskansahuincredible  I wanted to inform you that I have created the pull request for this issue. Please review it and let me know if you have any questions or need further changes. Here’s the link to the PR: [https://github.com/Muskansahuincredible/StudyNotion-An-Online-Education-Platform/pull/113#issue-2323334586] . Thank you for your patience.

Thank you @Muskansahuincredible. I am glad to contribute to this project.


consume cloud provider PR

Towards https://github.com/giantswarm/roadmap/issues/3463
Consume https://github.com/giantswarm/cloud-provider-cloud-director-app/pull/91
This must wait on ☝
/run cluster-test-suites

/run cluster-test-suites

Skipping ci as the tests passed and I just changed to use the released version of cloud-provider-cloud-director.


Add annotation to allow use of service ClusterIP for NGINX upstream.

This change adds a new annotation ingress.kubernetes.io/service-upstream that when set to true, uses a service's Cluster IP and port as the single upstream server, rather than the full list of service endpoints. This may address #257.
There are now no NGINX configuration reloads necessary when a service's pods come and go.
This helps with things like zero-downtime deployments and other issues arising from NGINX configuration reloads for upstream server changes.

@aledbf I see there is a good amount of activity around NGINX ingress and configuration reloads for upstream changes (https://github.com/kubernetes/contrib/issues/1140), hopefully this change is worth exploring. I'm not sure when ingress development started but now kube-proxy is not really used and everything is done via iptables, so performance shouldn't be an issue. I'm not sure how frequently iptables is updated (versus the endpoints in the ingress controller) so that might also be relevant.

Coverage decreased (-0.2%) to 44.104% when pulling 70753b978007721290dc8dc3739a655cb72025d6 on chrismoos:service_upstream into 82e75ee0bfa598ace1e3da501ae2904d6013b4ed on kubernetes:master.

@chrismoos kube-proxy is executed every ~100ms.
This change removes 2 things: sticky sessions and retries in case of errors.
https://github.com/kubernetes/ingress/blob/master/controllers/nginx/rootfs/etc/nginx/template/nginx.tmpl#L459
https://github.com/kubernetes/ingress/blob/master/controllers/nginx/rootfs/etc/nginx/template/nginx.tmpl#L246

@chrismoos I really don't like this because introduces another variable (kube-proxy).
If you are willing to provide support in the long term for this feature I'm ok to merge this.

@aledbf I'll document the annotation with a warning that sticky sessions will not work. As for the retries -- I believe it will still exhibit the same retry logic (but instead against only 1 upstream, which will just cause another random pod to be selected via iptables), see: https://forum.nginx.org/read.php?2,152071,152136#msg-152136
I'm personally not too worried about adding kube-proxy into the mix as that's exactly what's used in the case of a lot of external load balancers (which use nodePort), but I'll let you guys decide as you've definitely got more experience than me.
I don't mind providing support on this one.

@aledbf Updated documentation with warning about sticky sessions.

@chrismoos one small change. Add a mention that in case of errors, no retries will be made because there is only one server in the nginx upstream.

Coverage decreased (-0.2%) to 44.026% when pulling 525570eb3f6f63ed04614865b108b7db75c4dd06 on chrismoos:service_upstream into bfd60ac7c980b1c452327e259faa89c115b9a46d on kubernetes:master.

@aledbf Done. Documentation has been updated w/ those issues pointed out.

Coverage decreased (-0.2%) to 44.04% when pulling 666bcca495738ffa0c530b94afe174ea52c97495 on chrismoos:service_upstream into bc6e5840b69d845692974995dc5d5bf153cf24ac on kubernetes:master.

/lgtm

@chrismoos thanks!

When I use the annotation I still see all the Pod IPs as endpoints. Shouldn't I see the Service's ClusterIp?


add shotgun toolkit support for tk-nuke, tk-houdini and tk-katana engine

Some parent_variables are missing to properly bootstrap tank using rez and could easily be overwritten by a package.
Fore more information:
PYTHON_PATH: https://github.com/shotgunsoftware/tk-multi-launchapp/blob/master/app.py#L578
NUKE_PATH: https://github.com/shotgunsoftware/tk-nuke/blob/master/python/startup/bootstrap.py#L31
HIERO_PLUGIN_PATH: https://github.com/shotgunsoftware/tk-nuke/blob/master/python/startup/bootstrap.py#L27
HOUDINI_PATH: https://github.com/shotgunsoftware/tk-houdini/blob/master/python/tk_houdini/bootstrap.py#L37
KATANA_RESOURCES: https://github.com/robblau/tk-katana/blob/master/python/startup/bootstrap.py#L25

Hey Renaud,
I agree with Brett that this should be configured rather than hard coded.
Would you see a problem simply adding a rezconfig.py to src/support/shotgun_toolkit/? You can use this by setting the REZ_CONFIG_FILE env var (see https://github.com/nerdvegas/rez/wiki/Configuring-Rez#overview).

Merging for now, but note that these hardcoded paths should be removed.


DRBD configuration is not correct

I see two issues regarding the DRBD configuration as shown in step: "6. [A] Configure drbd"
Issue #1:
The script file names are wrong and testing a standby of a cluster node will only stop all cluster resource but
cluster resources would not be restarted on the other node.

handlers {
fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";

For DRBD version 9 the correct script names are:

handlers {
    fence-peer "/usr/lib/drbd/crm-fence-peer.9.sh";
    unfence-peer "/usr/lib/drbd/crm-unfence-peer.9.sh";

More details: https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/

Issue #2:
The resource-level fencing for DRBD is not enabled as the fencing policy option "resource-and-stonith"
is missing which is required when a DRBD replication link becomes interrupted.
As a SUSE Linux Enterprise High Availability Extension cluster is used with a STONITH device, the value "resource-and-stonith" is used.
More details:
https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-pacemaker-fencing-cib

https://documentation.suse.com/sle-ha/15-SP3/html/SLE-HA-all/cha-ha-drbd.html#sec-ha-drbd-fencing

Manual page drbd.conf(5)
resource-and-stonith
If a node becomes a disconnected primary, it freezes all its IO operations and calls its fence-peer handler.
The fence-peer handler is supposed to reach the peer over alternative communication
paths and call 'drbdadm outdate res' there. In case it cannot reach the peer it should stonith the peer. IO is resumed as soon as the situation is
resolved. In case your handler fails, you can resume IO with the resume-io command.

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

ID: a3ab1317-c090-0830-4fcd-8fe6c9e2bdb1
Version Independent ID: 9701e355-e742-6e2c-e6a7-3b131f257228
Content: High availability for NFS on Azure VMs on SLES - Azure Virtual Machines
Content Source: articles/virtual-machines/workloads/sap/high-availability-guide-suse-nfs.md
Service: virtual-machines-sap
GitHub Login: @rdeltcheva
Microsoft Alias: radeltch

@andreas-mach
Thanks for your feedback! We will investigate and update as appropriate.

@andreas-mach
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.
@rdeltcheva
Can you please check and add your comments on this doc update request as applicable.

Thanks for the feedback - it was addressed.


update retry logic to match error

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Original format everything
[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&
Sender
notified by
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&
02/07/24,
04:43:44 PM
On Wed, Feb 7, 2024 at 4:42 PM hickeydh-aws @.***>
wrote:

By submitting this pull request, I confirm that you can use, modify, copy,
and redistribute this contribution, under the terms of your choice.
You can view, comment on, or merge this pull request online at:
https://github.com/aws-samples/aws-secure-environment-accelerator/pull/1208
Commit Summary

7927779
https://github.com/aws-samples/aws-secure-environment-accelerator/pull/1208/commits/7927779a4b1f38df409fde6a06f3a9d0f97e8881
update retry logic to match error

File Changes
(3 files
https://github.com/aws-samples/aws-secure-environment-accelerator/pull/1208/files
)

M
reference-artifacts/Add-ons/opensiem/lambdas/common/src/backoff.ts
https://github.com/aws-samples/aws-secure-environment-accelerator/pull/1208/files#diff-9361cb1c6feb99b8eedaa17db007f326dffd566ae097dbb35944d11c93d4af2c
(1)
M src/lib/common/src/aws/backoff.ts
https://github.com/aws-samples/aws-secure-environment-accelerator/pull/1208/files#diff-e7ab3dd95c9f925147292f25de4caf0ceb63869e2a7112a84e7a3893373ffddc
(1)
M src/lib/custom-resources/cdk-cfn-utils/cdk/index.ts
https://github.com/aws-samples/aws-secure-environment-accelerator/pull/1208/files#diff-9c8c3eea7fc1e6d0e10b340ce672defc075eebc557c962135ad2fb6a0cf3b30a
(1)

Patch Links:

https://github.com/aws-samples/aws-secure-environment-accelerator/pull/1208.patch
https://github.com/aws-samples/aws-secure-environment-accelerator/pull/1208.diff
—
Reply to this email directly, view it on GitHub
https://github.com/aws-samples/aws-secure-environment-accelerator/pull/1208,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFAEQROOZ5KXYPF7VL4T5VDYSPYN7AVCNFSM6AAAAABC6SGS3OVHI2DSMVQWIX3LMV43ASLTON2WKOZSGEZDGOJVGAZDQMY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Sample/frame created_at & Dataset/Sample/Frame last_updated_at

What changes are proposed in this pull request?
Add created_at field to all samples and frames. It's set to "now" when added to the dataset, and reset back to None if removed from the dataset.
Add last_updated_at field to all samples and frames. It's set to now when added to the dataset, , and reset back to None if removed from the dataset.
Add last_updated_at to Dataset document which is updated whenever the document is saved.
Add Dataset.last_updated_at property which is equal to this pseudocode:
max(DatasetDocument.last_updated_at, max(sample.last_updated_at for sample in dataset.samples))

TODO

[ ] Ensure generated views syncing back to base dataset updates last_updated_at. Resolve in-code TODO surrounding video dataset merge.

[x] Patches view
[ ] Frames view
[ ] Clips view
[ ] Frame patches
[ ] Clip frames
[ ] Clip frame patches

[x] When a frame is updated independently of a sample, make sure sample update time is separately updated.
[ ] Migration plan
[x] Check SaveContext
[ ] Test for merge_python
[x] Test for view and sampleview
[ ] Complete audit of public mutator functions to ensure all base mutators are covered
[ ] Fix existing broken unit tests

CreatedAt Notes

Locations to add created_at were identified using as a template adding dataset id to sample and frames docs
Samples get a creation time only when they're added to a dataset. We could set created_at if the sample gets created outside of the dataset first, but it's easier to do it this way and there's not likely to be a meaningful distinction between when a sample was created and when added to dataset.
In a long add_samples() call, each batch of samples will get the same created_at time.
Merge for existing samples was a little tricky but if we first addField but then add it to delete_fields when we create the whenMatched pipeline, we'll make sure that it will be added on insert but ignored on merge.

Frames Notes

All frames are saved when you call frames.save(). This means all of their last_updated_at times are set to now, even if there was no edits made to that frame.
Previously no update would be made ever to the sample when an update was made to sample.frames. Now we are calling self._dataset._update_last_updated_at([self._sample_id]). This will be another call to mongo so we should definitely not be updating frames in a loop (shouldn't be doing that anyways!).
A side effect of this is that deferred doesn't exactly work (used for SaveContext I think?) because the ops that are gathered are for the frame collection but there's currently no way to return ops for the sample collection.

Readonly Notes

Writes to these fields through set_field, __setattr__, set_values(), clear_sample_field, etc., are prohibited.
I attempted to achieve this by creating a readonly flag for the Field, akin to the is_virtual property in virtual fields PR.

Performance Notes

We will add a new default index to the sample collection on the last_updated_at field.

Makes getting maximum sample last_updated_at time O(1).
A concern is on making additional overhead for each value write due to this default index (others would be by users' choice, as the other default filepath index would be rarely or never updated).
There is a marginal increase in time taken. For example with cifar10 dataset (10k samples), I set all values 10 times and repeated 5 times, taking the minimum. Without the index, the writes take 5.39s. With the index, the writes take 5.74s. So about a 6% increase in write time for this specific case.
timeit.Timer('ds.set_values("foo", [random.randint(0, 100000)] * 10000)', setup=setup).repeat(5, 10)

Adding the last_updated_at time has a performance impact on writes. Using the above test outside this branch, the minimal value is 4.41s. Compared to the 5.74s indexed form above, this is a 28% increase in write time.
There will also be an additional write to the sample every time a frame is updated, but this cost will be amortized if many frames are updated at once.

How is this patch tested? If it is not, please explain why.

Added tests for each case in both image and video, and ran manually. Created_at is set on creation but not again. Distinct cases below:

add_samples()
clone()
add_collection(new_ids=True)
merge_samples()  # both existing and new samples
fo.Dataset.from_dir()

Then tested that any manner of modifying the field throws an error.
Updating a sample in any of myriad of ways updates its last_updated_at time, and dataset.last_updated_at is equal.
Updating Dataset metadata updates its last_updated_at time.
If you want to test manually, following along with the test cases is best rather than pasting full here.

Release Notes
Is this a user-facing change that should be mentioned in the release notes?

[ ] No. You can skip the rest of this section.
[x] Yes. Give a description of this change to be included in the release
notes for FiftyOne users.

Add created_at default DateTimeField to samples and frames, which contains the time the sample was added to the dataset.
What areas of FiftyOne does this PR affect?

[ ] App: FiftyOne application changes
[ ] Build: Build and test infrastructure changes
[x] Core: Core fiftyone Python library changes
[ ] Documentation: FiftyOne documentation changes
[ ] Other

superseded by https://github.com/voxel51/fiftyone/pull/4597


Automated tests

this certainly doesn't cover the entire codebase, but I thought this may be a good start that can gradually be built upon

@kvz I have added a script to be run as npm run test:watch thank you 🙂


⚠ GitLab Server has degraded performance

In 9894b1e, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 11162 ms

Resolved: GitLab Server performance has improved in e546b69.


How to change Lua's require path in case of changing a outDir path in tsconfig?

I've changed an outDir path in .tsconfig but my require( ... ) path are stay the same in generated Lua code as it was before changing outDir.
How do I synchronize these two path?

Depends how your require paths are added to your code. If they are regular TS imports that are resolved normally, the path should point to the lua files present in the outDir. If you are using noResolve paths you are essentially avoiding the TSTL path logic and it's your own responsibility to make sure the paths are correct.


prerender for web components.

Hi,
I have a web component develop with lit-element called <hello-world>. the thing is, I try to prerender following the documentation from readme, this mean:

The quickest way to run your own prerender server:
$ npm install prerender
server.js
const prerender = require('prerender');
const server = prerender();
server.start();
test it:
curl http://localhost:3000/render?url=https://www.example.com/

the html below, belongs to the web component:
// ... lit-element class
...

Hello World

      <button @click=${this._onClick} part="button" class="btn">
        Click Count: ${this.count}
      </button>

        <slot></slot>

...

With the component built and be used in a web app; when I locally serve prerender referencing the web app url, the DOM has not the web component content, only the web component tag:
...
<hello-world>
</hello-world>
...

So, there is a way to prerender the content generated by the web component?

Also very interested in this.

Seconded.  I have also filled out a support request are a new project requires the use of web components and so we were using prerender as a tool to allow SEO to crawl.
https://poc-prerender.vercel.app/ is the site. As you can see on inspect, the ShadowDOM is loaded and renders in the browser.
When I view the RAW-HTML in prerender.io dashboard, I can see that it is loaded the web-components app.js file and vendors file because it is mounting some global styles in the head which is a function only from my web-component. This is viewable in the source of the page. All my custom element tags are visible in the source. But the page itself is just empty page.

I have contacted support a few days ago but yet to hear anything, please can I get a response either way Request number (34194).
Thanks

Is there any progress on this ticket? I am experiencing the same issue with prerender


FatalThrowableError in CacheableService.php line 127:

Hello, I am running into issue with running a repository that has dependencies on laravel-cacheable. Below is the version:
PHP: 7.1.33
laravel/framework: v5.3.31
suitmedia/laravel-cacheable: 1.3.0

Below is the command I run to setup the environment:
$ cp .env.sample .env
$ composer install
$ php artisan key:generate
$ php artisan cache:clear
$ php artisan config:cache
$ php artisan migrate
$ php artisan vendor:publish --provider="Suitmedia\Cacheable\ServiceProvider"

Below is my config/cacheable.php
<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Custom Tags
    |--------------------------------------------------------------------------
    |
    | Define all of Eloquent Models which should add custom cache tags
    | automatically to the cached objects.
    |
    */

    'customTags' => \Suitmedia\Cacheable\Tests\Models\User::class,

    /*
    |--------------------------------------------------------------------------
    | Default Cache Duration
    |--------------------------------------------------------------------------
    |
    | Define the default cache duration here.
    | Setting the cache duration to '0' will make the cache lasts forever.
    |
    */

    'duration' => 1,

    /*
    |--------------------------------------------------------------------------
    | Methods which shouldn't be cached
    |--------------------------------------------------------------------------
    |
    | Define a collection of method names which you don't wish
    | to be cached.
    |
    */

    'except' => [
        'cacheDuration',
        'cacheExcept',
        'cacheKey',
        'cacheTags',
        'create',
        'delete',
        'restore',
        'update',
        'updateOrCreate',
    ],
];

I am getting error as below:
Type error: Argument 1 passed to Suitmedia\Cacheable\CacheableService::taggedCache() must be an instance of Illuminate\Cache\TaggableStore, instance of Illuminate\Cache\FileStore given, called in /shared/httpd/project/vendor/suitmedia/laravel-cacheable/src/CacheableService.php on line 94

I believed this is caused by the cache file does not exists. However, as it is a newly setup environment, I believe it should create the cache file instead.

Hi @gaara4896 the error occurred because you were using cache driver which doesn't support tags. In order to make the package works, you need to change the cache driver in your .env into one of these: apc, memcached, or redis.

Hi, I am closing this issue due to inactivity. Feel free to open a new issue if you still got any problem. Cheers.


Package thumbnail generator into transcoder Docker image

For generating thumbnails after transcoding, video-thumbnail-generator needs to be baked into Docker image in a way that would allow convenient invocation by transcoder.

I pushed my updates here, the generator is available at this path: /app/video-thumbnail-generator/generator
To test run these commands inside the container

cd /app/video-thumbnail-generator
wget http://download.opencontent.netflix.com.s3.amazonaws.com/SolLevante/working_assets/SolLevante_Animatics_ver1_H264.mov
./generator SolLevante_Animatics_ver1_H264.mov 20 150 150 4 SolLevante-thumbs.png

From outside the container run this to copy the output locally to inspect:
docker cp [container_id]:/app/video-thumbnail-generator/SolLevante-thumbs.png SolLevante-thumbs.png