Bitswap broadcasts

This is a big one. It's two commits, which can be reviewed independently.
The first commit

Splits the current TCP API into two parts:

An HTTP API for RPCs, which are always request-response type things
A TCP PubSub mechanism. This is the existing thing minus RPC functionality. No more requests via the raw TCP connection.

Adds gzip compression to the TCP API, which is now version 3
Adds a backpressure mechanism to the TCP API. I observed the IPFS node running out of memory when there were multiple TCP clients connected and a lot of stuff was happening.
Slightly changes some semantics around the PubSub APIs internal to the plugin. This is due to a deadlock that could happened with unresponsive clients. The notification methods are now nonblocking, which removes this problem.

These are all somewhat connected: The gzipping and backpressure should improve performance. But because we now potentially drop messages to slow clients, the "channel" to the client becomes unreliable, and thus unfit for RPC-like things, which need to reliably deliver a response. For that reason, and to massively simplify things, we now have the RPC API via HTTP.
There are new prometheus metrics that track how much bandwidth is saved by compression. On my home setup this weighs in at up to 50%, which is nice.
For the future, I plan to add a mechanism to the pubsub API that lets clients know if they missed messages due to backpressure, and to expose a counter for this via prometheus.
The second commit
This one implements Bitswap discovery probing, i.e., sending Bitswap WANT and CANCEL messages to all of the peers we are connected to.
There are three methods for this:

Broadcast Bitswap WANT/CANCEL, which respectively broadcast a WANT or CANCEL message for a given list of CIDs to all connected peers. These are pretty lightweight, but have unpredictable timings because sending can take some time.
Broadcast Bitswap WANT + CANCEL, which combines the other two into one. The plugin takes care of waiting between WANT and CANCEL per peer, for a given amount of seconds.

It's impossible to do something like "send a WANT to each peer followed by a CANCEL 30 seconds later" with the first two methods, due to the unpredictable timing of sending a broadcast. The third method fixes this by keeping track of the timings within the plugin.
With all three of these, the only parameters are a list of CIDs, and the wait time for the third method. The plugin performs the broadcast by spawning a number of goroutines and going through available Bitswap senders. Finding the right balance between number of goroutines spawned (= more concurrency, shorter runtime) without generating so much traffic that other parts break, is difficult:

Generating to much load on the monitoring node will cause QUIC connections to be culled -> We lose connections and the broadcast becomes basically useless.
Sending too many large requests to peers generates an enormous amount of response traffic, which then has to be forwarded through the TCP pubsub mechanism. This used to lead to the node running out of memory because it buffered all those messages. Backpressure fixes the memory problem, and gzipping should help make it possible to still deliver all the messages.

Correctness
I have updated the Rust client to work with the new HTTP/TCP API mechanisms, which works. I've also implemented a probing tool for the Bitswap broadcast implementation, which also works.

Looking forward to the results of this infrastructure!
Regarding the backpressure, did you encounter any performance problems with your clients? After all, you/we control what's connected to the plugin in our setup. It's nice and doesn't hurt, for sure, but it seems like you put a lot of effort into it, so just wondering.


Error with SockJs on production build

Bug Report
Describe the bug
When running build, there are two issues:

The src paths generated in the html file can't be found (but I can fix it manually inserting a ./ before each path.
When opening the html file in the browser, I got an error as the screen bellow shows.

To Reproduce

Run build
Fix paths on index.html
Open in the browser
See error

Environment

OS: Windows 10
Node/npm version: Node 10.15.1/yarn 1.13.0

Additional context/Screenshots

For some reason built site still includes react-dev-utils/webpackHotDevClient causing SockJS to run and generate errors. This happens to me with v0.13.7


Remove uglify-js from require

Currently fails if one installs latest from npm since it tries to require uglify-js and it's not listed as a dependency.

thanks

silly me...


DISTX-432 Fix Zookeeper issue during DE HA master node repair.

DE HA templates started supporting DH master node repair.
Zookeeper expects a new folder with -2 suffix, but it does not exist because the auto-create setting is false.
Tested this manually in a cluster.

Closing this in favor of https://github.com/hortonworks/cloudbreak/pull/7955. It is the same issue, with a nicer fix.


A unified platform for anti-censorship.

<IP_ADDRESS>:1087: bind: address already in use
V2Ray 4.19.1 (Let's Fly) Custom
A unified platform for anti-censorship.
Failed to start v2ray.com/core/app/proxyman/inbound: failed to listen TCP on 1087 > v2ray.com/core/transport/internet: failed to listen on address: <IP_ADDRESS>:1087 > listen tcp
连不上 是不是版本低呀 没外网 也没法更新

Port 1087 busy, try different

Run this code:
sudo kill $(sudo lsof -t -i:1087)


Bump Java JDBC version to 0.1.1

As it bumps OT version it will be done atomically in https://github.com/opentracing-contrib/java-spring-cloud/pull/212/files#diff-600376dffeb79835ede4a0b285078036R80

thanks for the PR @backjo!


Security Operations Center

Security Operations Dashboard no longer exists, but is documented on this and many other pages.
[Enter feedback here]

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

ID: 52cf9eaa-c236-18f7-1a55-9707b953859c
Version Independent ID: 59ee1886-914c-1d7d-ab5c-241efe9e2724
Content: Microsoft Defender Security Center Security operations dashboard
Content Source: microsoft-365/security/defender-endpoint/security-operations-dashboard.md
Product: m365-security
Technology: mde
GitHub Login: @mjcaparas
Microsoft Alias: macapara

@mjcaparas Please help us in resolving this issue. Thanks

Content removed.


[GO] Flight query hides internal error messages

Describe the bug, including details regarding any error messages, version, and platform.
Background
We have found that there is a difference between libraires when running the same query. The Go library in this example seems to hide or prevent an internal error from showing up. While the Python library throws an exception with the error (which is what we expect).
Happy to provide the token I am using to aid in reproducing with the code used below.
Expected result
An error message from the client:
External error: Panic: internal error: entered unreachable code. gRPC client debug context: UNKNOWN:Error received from peer ipv4:<IP_ADDRESS>:443 {created_time:"2024-06-13T09:01:48.010211097-06:00", grpc_status:13, grpc_message:"Join Error (panic)\ncaused by\nExternal error: Panic: internal error: entered unreachable code"}. Client context: OK

Actual result
No rows or errors are returned making it seem like the query was correct, but no data was found.
Go code example
package main

import (
	"context"
	"crypto/tls"
	"encoding/json"
	"fmt"

	"github.com/apache/arrow/go/v17/arrow/flight"
	"github.com/apache/arrow/go/v17/arrow/ipc"
	"github.com/apache/arrow/go/v17/arrow/memory"
	"google.golang.org/grpc"
	"google.golang.org/grpc/credentials"
	"google.golang.org/grpc/metadata"
)

var (
	token    = ""
	host     = "us-east-1-1.aws.cloud2.influxdata.com"
	port     = "443"
	database = "test"
	language = "sql"
	query    = `
SELECT array_to_string(array_agg(instance),',')
FROM (
	SELECT DISTINCT instance
	FROM repro
	WHERE time >= now() - INTERVAL '1 hours'
)`
)

func main() {
	ticketJSON, err := json.Marshal(map[string]interface{}{
		"database":   database,
		"sql_query":  query,
		"query_type": language,
	})
	if err != nil {
		panic(fmt.Errorf("unable to serialize ticket data to JSON: %w", err))
	}
	ticket := &flight.Ticket{Ticket: ticketJSON}

	opts := []grpc.DialOption{
		grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),
	}
	client, err := flight.NewClientWithMiddleware(fmt.Sprintf("%s:%s", host, port), nil, nil, opts...)
	if err != nil {
		panic(fmt.Errorf("unable to create flight client: %w", err))
	}

	ctx := metadata.AppendToOutgoingContext(context.Background(), "authorization", "Bearer "+token)
	stream, err := client.DoGet(ctx, ticket)
	if err != nil {
		panic(fmt.Errorf("failed calling client: %w", err))
	}

	reader, err := flight.NewRecordReader(stream, ipc.WithAllocator(memory.DefaultAllocator))
	if err != nil {
		panic(fmt.Errorf("unable to get flight reader: %w", err))
	}

	for reader.Next() {
		fmt.Println(reader.Record())
	}
	reader.Release()

	fmt.Println("Query executed successfully!")
}

outputs:
❯ go run .
Query executed successfully!

Python code example
#!/usr/bin/env python3

import json

from pyarrow.flight import FlightClient, Ticket, FlightCallOptions

token=""
host="us-east-1-1.aws.cloud2.influxdata.com"
port=443
database="test"
language = "sql"
query = """
SELECT array_to_string(array_agg(instance),',')
FROM (
    SELECT DISTINCT instance
    FROM repro
    WHERE time >= now() - INTERVAL '1 hours'
)
"""

flight_client = FlightClient(f"grpc+tls://{host}:{port}")

opts = {
    "headers": [(b"authorization", f"Bearer {token}".encode('utf-8'))],
    "timeout": 300
}
options = FlightCallOptions(**opts)

ticket_data = {
    "database": database,
    "sql_query": query,
    "query_type": language
}
ticket = Ticket(json.dumps(ticket_data).encode('utf-8'))

flight_reader = flight_client.do_get(ticket, options)
flight_reader.read_all()

outputs:
❯ ./query.py
Traceback (most recent call last):
  File "/home/powersj/influxdb-client-tools/python/v3/./query.py", line 37, in <module>
    flight_reader.read_all()
  File "pyarrow/_flight.pyx", line 1075, in pyarrow._flight.FlightStreamReader.read_all
  File "pyarrow/_flight.pyx", line 1078, in pyarrow._flight.FlightStreamReader.read_all
  File "pyarrow/_flight.pyx", line 55, in pyarrow._flight.check_flight_status
pyarrow._flight.FlightInternalError: Flight returned internal error, with message: Join Error (panic)
caused by
External error: Panic: internal error: entered unreachable code. gRPC client debug context: UNKNOWN:Error received from peer ipv4:<IP_ADDRESS>:443 {created_time:"2024-06-13T09:25:46.298673099-06:00", grpc_status:13, grpc_message:"Join Error (panic)\ncaused by\nExternal error: Panic: internal error: entered unreachable code"}. Client context: OK

Component(s)
Go

I can't quite check it right now but I believe reader has an Err that needs to be explicitly polled

I can't quite check it right now but I believe reader has an Err that needs to be explicitly polled

You are correct. Reader does have a Err, however it appears to be nil as well. I have updated the code example to check that for non-nil.

Ah the way it works IIRC is that you have to check it after reader.Next() returns false.

Ah the way it works IIRC is that you have to check it after reader.Next() returns false.

That was it! Thank you very much!
❯ go run .
panic: unable to read flight data: rpc error: code = Internal desc = Join Error (panic)
caused by
External error: Panic: internal error: entered unreachable code

goroutine 1 [running]:
main.main()
	/home/powersj/influxdb-client-tools/go/query/main.go:68 +0x676
exit status 2


Azure Functions Issues after upgrading to Spring Boot 2.2.0.RELEASE

I have an application using Spring Cloud Function with the following dependencies.

Spring Boot Parent 2.1.3.RELEASE
Spring Cloud Dependencies Greenwich.SR1

I upgraded to the following dependencies.

Spring Boot Parent 2.2.0.RELEASE
Spring Cloud Dependencies Greenwich.SR1

Now I receive the following error:
[11/9/2019 8:26:53 PM] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'functionCatalog' defined in class path resource [org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.function.context.FunctionRegistry]: Factory method 'functionCatalog' threw exception; nested exception is java.lang.IllegalStateException: No bean class specified on bean definition
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:645) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:625) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878) ~[spring-context-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.2.0.RELEASE.jar:2.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.cloud.function.adapter.azure.AzureSpringFunctionInitializer.initialize(AzureSpringFunctionInitializer.java:149) [spring-cloud-function-adapter-azure-2.0.2.RELEASE.jar:2.0.2.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.cloud.function.adapter.azure.AzureSpringBootRequestHandler.handleRequest(AzureSpringBootRequestHandler.java:52) [spring-cloud-function-adapter-azure-2.0.2.RELEASE.jar:2.0.2.RELEASE]
[11/9/2019 8:26:53 PM] 	at com.jbhunt.security.batch.cas.cleanup.configuration.CasCleanupHandler.execute(CasCleanupHandler.java:13) [batch_security_cas_nonprod_data_cleanup-LOCAL-SNAPSHOT.jar:LOCAL-SNAPSHOT]
[11/9/2019 8:26:53 PM] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at com.microsoft.azure.functions.worker.broker.JavaMethodInvokeInfo.invoke(JavaMethodInvokeInfo.java:22) [azure-functions-java-worker.jar:1.5.2-SNAPSHOT]
[11/9/2019 8:26:53 PM] 	at com.microsoft.azure.functions.worker.broker.JavaMethodExecutor.execute(JavaMethodExecutor.java:54) [azure-functions-java-worker.jar:1.5.2-SNAPSHOT]
[11/9/2019 8:26:53 PM] 	at com.microsoft.azure.functions.worker.broker.JavaFunctionBroker.invokeMethod(JavaFunctionBroker.java:53) [azure-functions-java-worker.jar:1.5.2-SNAPSHOT]
[11/9/2019 8:26:53 PM] 	at com.microsoft.azure.functions.worker.handler.InvocationRequestHandler.execute(InvocationRequestHandler.java:33) [azure-functions-java-worker.jar:1.5.2-SNAPSHOT]
[11/9/2019 8:26:53 PM] 	at com.microsoft.azure.functions.worker.handler.InvocationRequestHandler.execute(InvocationRequestHandler.java:10) [azure-functions-java-worker.jar:1.5.2-SNAPSHOT]
[11/9/2019 8:26:53 PM] 	at com.microsoft.azure.functions.worker.handler.MessageHandler.handle(MessageHandler.java:45) [azure-functions-java-worker.jar:1.5.2-SNAPSHOT]
[11/9/2019 8:26:53 PM] 	at com.microsoft.azure.functions.worker.JavaWorkerClient$StreamingMessagePeer.lambda$onNext$0(JavaWorkerClient.java:92) [azure-functions-java-worker.jar:1.5.2-SNAPSHOT]
[11/9/2019 8:26:53 PM] 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.function.context.FunctionRegistry]: Factory method 'functionCatalog' threw exception; nested exception is java.lang.IllegalStateException: No bean class specified on bean definition
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:640) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	... 34 common frames omitted
[11/9/2019 8:26:53 PM] Caused by: java.lang.IllegalStateException: No bean class specified on bean definition
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.AbstractBeanDefinition.getBeanClass(AbstractBeanDefinition.java:423) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.cloud.function.context.config.FunctionContextUtils.findType(FunctionContextUtils.java:70) ~[spring-cloud-function-context-2.0.2.RELEASE.jar:2.0.2.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.cloud.function.context.config.ContextFunctionCatalogAutoConfiguration$ContextFunctionRegistry.findType(ContextFunctionCatalogAutoConfiguration.java:582) ~[spring-cloud-function-context-2.0.2.RELEASE.jar:2.0.2.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.cloud.function.context.config.ContextFunctionCatalogAutoConfiguration$ContextFunctionRegistry.wrap(ContextFunctionCatalogAutoConfiguration.java:455) ~[spring-cloud-function-context-2.0.2.RELEASE.jar:2.0.2.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.cloud.function.context.config.ContextFunctionCatalogAutoConfiguration$ContextFunctionRegistry.lambda$merge$6(ContextFunctionCatalogAutoConfiguration.java:433) ~[spring-cloud-function-context-2.0.2.RELEASE.jar:2.0.2.RELEASE]
[11/9/2019 8:26:53 PM] 	at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at org.springframework.cloud.function.context.config.ContextFunctionCatalogAutoConfiguration$ContextFunctionRegistry.merge(ContextFunctionCatalogAutoConfiguration.java:433) ~[spring-cloud-function-context-2.0.2.RELEASE.jar:2.0.2.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.cloud.function.context.config.ContextFunctionCatalogAutoConfiguration.functionCatalog(ContextFunctionCatalogAutoConfiguration.java:110) ~[spring-cloud-function-context-2.0.2.RELEASE.jar:2.0.2.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.cloud.function.context.config.ContextFunctionCatalogAutoConfiguration$$EnhancerBySpringCGLIB$$4d392568.CGLIB$functionCatalog$1(<generated>) ~[spring-cloud-function-context-2.0.2.RELEASE.jar:2.0.2.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.cloud.function.context.config.ContextFunctionCatalogAutoConfiguration$$EnhancerBySpringCGLIB$$4d392568$$FastClassBySpringCGLIB$$4a1a52d6.invoke(<generated>) ~[spring-cloud-function-context-2.0.2.RELEASE.jar:2.0.2.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363) ~[spring-context-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	at org.springframework.cloud.function.context.config.ContextFunctionCatalogAutoConfiguration$$EnhancerBySpringCGLIB$$4d392568.functionCatalog(<generated>) ~[spring-cloud-function-context-2.0.2.RELEASE.jar:2.0.2.RELEASE]
[11/9/2019 8:26:53 PM] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_232]
[11/9/2019 8:26:53 PM] 	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.2.0.RELEASE.jar:5.2.0.RELEASE]
[11/9/2019 8:26:53 PM] 	... 35 common frames omitted

No other changes was made to the application outside of the version update.  Let me know if anyone has any ideas.  I am going to use the older version for now.

You specified the same dependencies, so I don' know what you really upgraded from. But just as an FYI, Greenwich cloud BOM is not compatible with boot 2.2. To use boot 2.2 you need to upgrade to Hoxton which is at RC1

Sorry I must have copy pasted the dependencies too fast.  I have updated my first comment.  I also wasn’t aware that Greenwich was not compatible with Spring Boot 2.2.0.  I’ll try with Hoxton when I get the chance and see if I have more success.

Ok I attempted to use Spring Cloud Hoxton RC1 and I'm not receiving the following error:
Stack: java.lang.IllegalStateException: Failed to discover main class. An attempt was made to discover main class as 'MAIN_CLASS' environment variable, system property as well as entry in META-INF/MANIFEST.MF (in that order).
[11/10/2019 10:07:52 PM] 	at org.springframework.cloud.function.context.AbstractSpringFunctionAdapterInitializer.getStartClass(AbstractSpringFunctionAdapterInitializer.java:288)
[11/10/2019 10:07:52 PM] 	at org.springframework.cloud.function.context.AbstractSpringFunctionAdapterInitializer.<init>(AbstractSpringFunctionAdapterInitializer.java:100)
[11/10/2019 10:07:52 PM] 	at org.springframework.cloud.function.adapter.azure.AzureSpringBootRequestHandler.<init>(AzureSpringBootRequestHandler.java:44)
[11/10/2019 10:07:52 PM] 	at com.jbhunt.security.batch.cas.cleanup.configuration.CasCleanupHandler.<init>(CasCleanupHandler.java:9)
[11/10/2019 10:07:52 PM] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[11/10/2019 10:07:52 PM] 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[11/10/2019 10:07:52 PM] 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[11/10/2019 10:07:52 PM] 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[11/10/2019 10:07:52 PM] 	at java.lang.Class.newInstance(Class.java:442)
[11/10/2019 10:07:52 PM] 	at com.microsoft.azure.functions.worker.broker.JavaMethodExecutor.lambda$execute$1(JavaMethodExecutor.java:54)
[11/10/2019 10:07:52 PM] 	at com.microsoft.azure.functions.worker.broker.JavaMethodInvokeInfo.invoke(JavaMethodInvokeInfo.java:20)
[11/10/2019 10:07:52 PM] 	at com.microsoft.azure.functions.worker.broker.JavaMethodExecutor.execute(JavaMethodExecutor.java:54)
[11/10/2019 10:07:52 PM] 	at com.microsoft.azure.functions.worker.broker.JavaFunctionBroker.invokeMethod(JavaFunctionBroker.java:53)
[11/10/2019 10:07:52 PM] 	at com.microsoft.azure.functions.worker.handler.InvocationRequestHandler.execute(InvocationRequestHandler.java:33)
[11/10/2019 10:07:52 PM] 	at com.microsoft.azure.functions.worker.handler.InvocationRequestHandler.execute(InvocationRequestHandler.java:10)
[11/10/2019 10:07:52 PM] 	at com.microsoft.azure.functions.worker.handler.MessageHandler.handle(MessageHandler.java:45)
[11/10/2019 10:07:52 PM] 	at com.microsoft.azure.functions.worker.JavaWorkerClient$StreamingMessagePeer.lambda$onNext$0(JavaWorkerClient.java:92)
[11/10/2019 10:07:52 PM] 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[11/10/2019 10:07:52 PM] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[11/10/2019 10:07:52 PM] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[11/10/2019 10:07:52 PM] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[11/10/2019 10:07:52 PM] 	at java.lang.Thread.run(Thread.java:748)
[11/10/2019 10:07:52 PM] Caused by: java.lang.IllegalArgumentException: Failed to locate main class
[11/10/2019 10:07:52 PM] 	at org.springframework.util.Assert.notNull(Assert.java:198)
[11/10/2019 10:07:52 PM] 	at org.springframework.cloud.function.context.AbstractSpringFunctionAdapterInitializer.getStartClass(AbstractSpringFunctionAdapterInitializer.java:284)
[11/10/2019 10:07:52 PM] 	... 21 more
[11/10/2019 10:07:52 PM] .

Looking into AbstractSpringFunctionAdapterInitializer, it appears to be looking for the value Start-Class inside the MANIFEST.MF.  Opening up the manifest in the created Jar file, I see that field so I'm not sure why its stating that error.  However when I specify the property MAIN_CLASS, it works fine.  I've tried this both locally and deployed on Azure directly.

@miller79 I had the same issue, however when adding Start-Class to the manifest file, the issue was resolved.

@aropop I looked into the compiled jar and it already contained the Start-Class in the manifest file (I’m guessing this comes from the spring boot plugin).  I’m not sure why it wouldn’t pick that one up vs placing it there manually.

@miller79 I had the same error, however after I (with maven jar plugin) added the Start-Class property, the error was resolved. You could try to debug AbstractSpringFunctionAdapterInitializer.getStartClass your function to see why it is failing.

@aropop Yes I went down that path at first.  It's pretty confusing why it won't find that variable.  I am deploying from the jar directly and opening the jar file, the Start-Class is in the manifest so its very confusing why it doesn't work.  I can provide screen shots and examples if you would like to see it.

Guys, while it may not affect s-c-functions as much, keep in mind that Greenwich BOM is generally dependent on boot 2.1.x. Hoxton BOM is based on boot 2.2.x

I am going to close this as it was already established that boot 2.2.0 is not compatible with spring-cloud BOM below Hoxton.

I am going to close this as it was already established that boot 2.2.0 is not compatible with spring-cloud BOM below Hoxton.

Should we open another issue related to the specific Hoxton issue since there were two separate issues in this thread?

Yes, feel free to open a separate Hoxton related issue providing as much details as possible. You can reference this issue as well


Port Shell as s-c-s processor

From @sabbyanandan on November 14, 2015 0:14
As a developer, I'd like to port shell module from XD to s-c-s repo, so I can use it as processor application to build streaming pipeline.
Acceptance:

shell as processor application is available in spring-cloud-stream-app-starters repo
both maven and docker artifacts are available for use
unit tests and docs included

Copied from original issue: spring-cloud/spring-cloud-stream-modules#85

This issue was moved to spring-cloud-stream-app-starters/app-starters-release#17


Discussion around Future Direction of Plates (Original Title: Plates abandoned?)

There haven't been any activity or response to the issues specially v4.0 in a while I wonder if this has been abandoned..
I really love this it's straightforward and does what you need without any new language however recently i started using the v4.0 branch since I remember it started development a couple years ago and thought it's not so unstable now but I was surprised nothing changed..
I get v3.0 is stable and works but did the development stop?

It's not necessarily abandoned, just haven't had a chance to finish up everything for v4. I think the main that halted progress was better IDE support. I started using PHPStorm full time as my editor and worked with mag 1/2 and realized how nice it is to have proper IDE support in your templates. The current solution with V4 is very dynamic and is good in some places, but not needed in all areas.
But that's basically the main thing preventing me from releasing v4 right now.

The current solution with V4 is very dynamic and is good in some places, but not needed in all areas.

Which files would be the targets of this "more static" conversion idea? Trying to understand work quantity.

I think if IDE support to prevent releasing V4, with sementic version support can do on 4.0.*
For a small project i do use twig because V4 isn't out and v3 is oudated.

I think for starters, I shouldn't be using an internal DI Container to configure everything. The Engine should just have an extensions field and access to engine methods should be done directly $engine->getExtension(Extension::class) so that we can easily type hint with psalm and phpstorm that it's returning a specific extension.
And I don't love in hindsight how the RenderTemplate interface requires that we pass in the RenderTemplate as a parameter to support recursive template rendering. I'm not entirely sure how we get around that, but it doesn't feel amazing to me.
Also, I do wonder if maybe a bottom up approach is the best way to go considering that most modern Frontend apps are component based and work top down (react/vue for example). Magento also does a top down approach with rendering with their blocks system. So this feels like it might be something worth exploring to see if it's possible to implement with plates.
When I use twig, i realize that I wish it was easier to compose blocks like functions. After using a lot of react, i do miss the composability of components, so I think there might be some areas to prototype for plates 4.

laravel/blade has component system

So, I think I may have had a bit of a breakthrough with use PHP Templating.
I just added a new branch called component-poc with some documentation on the concept: https://github.com/thephpleague/plates/tree/components-poc/component-poc
Would love some feedback from anyone interested.

So, I think I may have had a bit of a breakthrough with use PHP Templating.
I just added a new branch called component-poc with some documentation on the concept: https://github.com/thephpleague/plates/tree/components-poc/component-poc
Would love some feedback from anyone interested.

Agreed: component systems are great, in general.
But looking at the new code:

appearance feels "dirty" - although, similar to React, modern web components frameworks like https://github.com/Polymer/lit-html are also designed as a class, that implements a render method https://lit-html.polymer-project.org/guide/writing-templates and I'm already using it without much issue :thinking:

hard to tell (for me) what a real world app refactor would end up looking like in this model, would be interesting to test

... (maybe more thoughts later)

What would be the next step here for further exploration?

Totally agree on the dirty comment, but the more I used it, the less it bothered me and started to feel a bit natural. Overall the experience feels nicer when you have full support from IDE.
I think I’m going to try and build a bit of a bigger app that supports theming/customization to give this paradigm a go, and then we’ll see from there.

I'd be interested in what would https://wphierarchy.com look like in such a component model.

So, I'd imagine, the way to dynamic components/templating would be to use a service to resolve the actual callable based on previous configuration.
So, for example, looking at Author Archive hierarchy, it goes to author-{nicename}.php, author-{id}.php and then author.php.
To implement this with a component model, I think it would look like:
<?php

namespace Templates\Pages;

final class ArchivePage
{
  public function __construct(AuthorArchive $archive) {}

  public function __invoke(TemplateContext $context) {
  ?>  <div>
        <?=p($context->componentFactory->createAuthorArchivePage($this->archive))?>
      </div> <?php
  }
}

// somewhere else, you'd register custom component classes
$componentFactory->registerAuthorArchiveComponentById('id', $someClassName);
$componentFactory->registerAuthorArchiveComponentByNicename('nicename', $someClassName);

And if you were building a framework, you could probably automatically generate the registration based off of certain conventions of the files/classes defined in certain directories.

Been doing a lot of thinking,
I'm considering just abandoning version 4 of plates, I don't think it really offers anything over the current version of plates except for more indirection. It's too flexible IMO.
I'm thinking of just releasing the new component system for plates as a minor release in the v3 release branch.


new class({params}) doesn't set nested fields or arrays

The following works fine:
var client = new user({
            username: username,
            score: 5,
        });
        client.set({
            'profile.trainer': trainerId,
            'profile.firstName': first,
            'profile.lastName': last
        });
        client.push('emails', {address: email, verified: false});

But this does not:
var client = new user({
            username: username,
            score: 5,
            'profile.trainer': trainerId,
            'profile.firstName': first,
            'profile.lastName': last,
            'emails.0.address': email,
            'emails.0.verified': false
});

Neither the array nor the nested fields work (only single-depth fields seem to work), but they're fine if I put them in their own set and push functions.

You can't use such syntax in a document constructor, however you can use the set method:
Change this:
var client = new user({
  'username': username,
  'score': 5,
  'profile.trainer': trainerId,
  'profile.firstName': first,
  'profile.lastName': last,
  'emails.0.address': email,
  'emails.0.verified': false
});

to this:
var client = new user();
client.set({
  'username': username,
  'score': 5,
  'profile.trainer': trainerId,
  'profile.firstName': first,
  'profile.lastName': last,
  'emails.0.address': email,
  'emails.0.verified': false
});

and it should work well

Cool, thanks.

@jagi Looks like your code above doesn't work either. Not sure if this is expected behavior or not.
So for example in the first situation:
var client = new user();
client.set({
  'emails.0.address': email,
  'emails.0.verified': false
});

Then client.email will still be empty.
However, this code below will work:
var client = new user();
client.set({
  'emails.0': {
    'address': email,
    'verified': false,
  }
});

It will result in emails array with length 1.

@minfawang are you sure that emails field's default value is set to empty array [] in the class schema? If not then it will not create array for you.

@jagi Yes. In the scheme I set the default value for the array ( a function that returns an empty array). And using the first way to set value I got an array with length 0 rather than null or undefined.

Here is the test schema definition that I use:
Cls = Astro.Class({
  name: 'Cls',
  fields: {
    array: {
      type: 'array',
      default() { return [] },
      nested: {
        name: 'Object',
        fields: {
          field0: 'string',
          field1: 'number',
        }
      }
    },
  }
});

Below is a screenshot from the console.

That's because the 0 index does not exist and Astronomy does not create one for you. You have explicitly create new array elements.

@jagi Yeah I understand the reason why the first way results in an empty array, but just want to make sure this is the expected behavior, because this results is different from the explanation of your snippet above.
Probably the snippet just skips some details :)


Performance consideration when using cotton

Hi @wrabit
First and foremost, I absolutely love the idea behind this project. This is just fascinating and I have been looking for something like this for a very long time.
I was trying this and my first concern was what kind of performance hit this would cause for a project.
We wrote a small test case and while it was not running in production, we did see an order of magnitude difference in {% include "..." %} vs using the component.
Do you or anyone has done any performance testing? Or are there any tricks we can use to improve the performance.
Regards
Amit

@amitjindal thanks for the support for the idea.
It's on my list to make some sections in readme + docs about performance and caching.
Make sure you have set a cache in Django, if you haven't already?
There is a render test, render_load_test.py which renders the test 10k times, I have just expanded it to cover a simple {% include %} test and the results I have are (running it a few times yields varying results, sometimes native coming out first) so there should be little in it:
Include, native vs cotton:
Native {% include %}: 0.34908294677734375 seconds
Cotton for include:: 0.31215786933898926 seconds
-------
Block + Extends, native vs cotton:
Native {% block %} and {% extends %}: 1.4457731246948242 seconds
Compiled Cotton Template: 1.448674201965332 seconds

The tests are not advanced so there may be some case that I am not considering here.

@wrabit I tried the test you mentioned and it indeed gives this output. I tried a little different version of that and here's the output.
I realise that this is probably not a realistic scenario but anyway documenting this here if its ever of concern.
Changes in your test case:
1. In example_project added these files:
templates/simple_cotton.html
{% for d in data %}<c-test>{{ d }}</c-test>{% endfor %}

templates/simple_native.html
{% for d in data %}
{{ d }}
{% endfor %}

templates/cotton/test.html

{{ slot }}

2. In render_load_test.py added:
def benchmark_template_rendering_alt(template_name, iterations=10000):
    data = list(range(1, iterations))
    start_time = time.time()
    render_to_string(template_name, context={'data': data})
    end_time = time.time()
    return end_time - start_time, render_to_string(template_name)

simple_native = benchmark_template_rendering_alt("simple_native.html")
simple_cotton = benchmark_template_rendering_alt("simple_cotton.html")

print(f"Native Django Template: {simple_native} seconds")
print(f"Cotton Template: {simple_cotton} seconds")

3. Ran: python render_load_test.py, output was:
Native Django Template: (0.07367181777954102, '') seconds
Cotton Template: (0.5469141006469727, '') seconds

We probably won't have as many renders but this is what we were originally testing and got slow runs.
Any change we can do to improve this?
Again thanks for this wonderful initiative.
-Amit

@amitjindal Thanks for the report! I had a similar discovery yesterday and currently working through a refactor to reduce the number of roundtrips we have to make to the cache. I'll report back here to let you know when something is ready.

@amitjindal  Feel free to checkout the PR'd branch caching_in_cotton_component. On my machine at least, it's about halved the time. Reducing the number of iterations does bring it substantially down and lower than the native django version in your render tests.

@wrabit Bravo!!
This is amazing outcome. I am getting seriously good results.
Native Django Template: 0.08887982368469238 seconds
Cotton Template: 0.12306785583496094 seconds
Whenever you can release this.
I am marking this issue closed.
👏 👏 👏
Thanks
Amit

@amitjindal Thanks for confirmation 👍 it's not quite ready for release yet as I need to implement a way to dynamically manage the cache during development. We could simply turn it off when DEBUG = True but it would be preferable to give devs a realistic experience of performance even during building.
I'll ping you when I have something.

Already done? Amazing.
Thank you so so much for this. Really appreciate it. 😄


Update with-sqs-create-package.md

"a AWS Lambda" --> "an AWS Lambda"
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thank you for pointing out the typo. My plan is to remove the whole sentence, as it does not add any clarity to this section.


⚠ Jenkins Plugins Artifactory has degraded performance

In 15bac55, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1261 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 3822042 after 12 minutes.


Change url forum

hello i want to change url /from what can i do..

config/routing.php
     'prefix' => 'forum',


Refactor Container components

[x] move all API calls to container
[x] deprecate the dedicated *Container.js file and move container in index.js

After discussions:

keep the component withDataContainer
slowly refactor other components
PR closed in the meanwhile because it is getting very outdated.

Its gonna take more time to rebase it than replace a few containers. A couple of things that can be used.

The HOC container implementation
Its usage without ContainerComponent

the UI have evolved now, IMO the issue with the containers was solved


Report graded count instead of grading status

Pull Request Test Coverage Report for Build 2956

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.05%) to 94.202%

Totals

Change from base Build 2955:
-0.05%

Covered Lines:
1056

Relevant Lines:
1121

💛  - Coveralls


about language

How to change the language

em,What are the uses of these files?

Pretty sure they're the locale files included with Electron. Electron supports locale lookups and you can add translation files so that the app can use different languages. Unfortunately, no one has done any of the work to take advantage of those features.


feat(ios): Add support for load localisation via custom file

Changelog:

Added support for load localisation via passing custom file name

:tada: This PR is included in version 0.11.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


windows compilation error (issue with rabit)

my code base: https://github.com/dmlc/xgboost/commit/457ff82e33d880275f9c66a971044deaecdfb4b4
OS: Windows 7 64 Bit
Compiler: gcc (mingw64)
make clean
git submodule update
cp make/mingw64.mk config.mk
make -j4

that ends with:
a - build/tree/updater_sync.o
build/c_api/c_api.o:c_api.cc:(.text.startup+0x1d): undefined reference to `RabitLinkTag'
collect2.exe: error: ld returned 1 exit status
make: *** [lib/libxgboost.dll] Error 1
make: *** Waiting for unfinished jobs....
build/c_api/c_api.o:c_api.cc:(.text.startup+0x1d): undefined reference to `RabitLinkTag'
collect2.exe: error: ld returned 1 exit status
make: *** [xgboost] Error 1

works after doing: git clone --recursive https://github.com/dmlc/xgboost
how can I update my local repo to make it work there?


Fix kafka integrate test

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Bug Fix

Merge with master seems like flap.

CI somehow gets confused when force pushing along with pr creation at the same time.

Fixed overall kafka tests: #6354
Thank you for the attempt.


Define conventions for logging

/kind feature
Describe the solution you'd like
as per comment

I've been using skewer-style (css-style) for the logging keys. We should pick a style and stick with it. Do you mind changing this to skewer-case for consistency and then opening an issue so we can evaluate what people want, probably at the CAPI meeting?

also relevant comment and reply

for values i've been using skewer-style (css-style) variables, so this should bar `docker-machine unless you think we should standardize on camel case?
I think ideally we should stick with the proper type naming to avoid confusion, so I would suggest DockerMachine. That way it is clear that we are referencing a resource of type DockerMachine rather than something else.

I would also add that some recommendations about which logger to choose and usage of log levels could be really useful...

As I mentioned in the PR comments, I believe we should standardize to match the type naming to avoid user confusion. Anywhere they see DockerMachine, Cluster, etc it is clear that we are talking about a resource of that type rather than one of the many other overloaded uses of the words.

Was the consensus on this to follow the object capitalization?

I'm not sure there was consensus. But now would be a good time for an update:
From my perspective, skewer style looks the best, but if CAPI and CAPA have followed the object capitalization then let's do that.
The thing that's important to me is to log errors at the Reconciler level and not have too many Info logs. If we need debugging we can use .V(1) levels. I'm using https://github.com/kubernetes-sigs/controller-runtime/blob/master/TMP-LOGGING.md as my guide line.

In my ideal world we only use .Info, .V(1).Info and .Error methods on the logger and nothing else.

Thanks for the update. I think we should go for the object capitalization. Brief look through k/k shows all logs follow object capitalization except for pod, where it is inconsistently cased through the repository.

/kind documentation

sounds great to me, thank you for poking through k/k

On the log levels front, k/k has the following conventions (found here https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/logging.md, and linked from docs.k8s.io):
The following conventions for the klog levels to use.
klog is globally preferred to
log for better runtime control.

klog.Errorf() - Always an error

klog.Warningf() - Something unexpected, but probably not an error

klog.Infof() has multiple levels:

klog.V(0) - Generally useful for this to ALWAYS be visible to an operator

Programmer errors
Logging extra info about a panic
CLI argument handling

klog.V(1) - A reasonable default log level if you don't want verbosity.

Information about config (listening on X, watching Y)
Errors that repeat frequently that relate to conditions that can be corrected (pod detected as unhealthy)

klog.V(2) - Useful steady state information about the service and important log messages that may correlate to significant changes in the system.  This is the recommended default log level for most systems.

Logging HTTP requests and their exit code
System state changing (killing pod)
Controller state change events (starting pods)
Scheduler log messages

klog.V(3) - Extended information about changes

More info about system state changes

klog.V(4) - Debug level verbosity

Logging in particularly thorny parts of code where you may want to come back later and check it

klog.V(5) - Trace level verbosity

Context to understand the steps leading up to errors and warnings
More information for troubleshooting reported issues

As per the comments, the practical default level is V(2). Developers and QE
environments may wish to run at V(3) or V(4). If you wish to change the log
level, you can pass in -v=X where X is the desired maximum level to log.

k/k logging is not the convention in controller-runtime based projects. The reason I have this issue opened is that the provider logs are generally not useful (overly verbose) and I want to see if we can make them more useful. As a developer, I know what I want to see when someone comes to us with a bug. I want a stack trace.
The controller-runtime sets a logging convention of favoring logging as a dependency (no global klog calls) and recommends using v(0) for everything and v(1) for debugging. It recommends only Info and Error calls to the logging interface and never anything other than v(1).
I think errors should only be logged at the reconciler level with a stack trace. We should not tell the user there was an error when that case is actually expected. We should handle the errors properly.
I will propose that we always log errors at the top level, the majority of logs move to .v(1), except for the functions that are only executed on the first successful reconciliation loop. No (or very few) logs should execute in every loop of the reconciler.

Project is to be archived - closing issue.
ref: https://github.com/kubernetes/org/issues/2888


Short solution needed: "How to delete docker container" (docker)

Please help us write most modern and shortest code solution for this issue:
How to delete docker container (technology: docker)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

How to delete docker container


Merge dev-osvr-hdk2 into master solving conflicts btw new drivers

Automatic merge failed due to new drivers having been added in the same places in both branches.
New OSVR insertions have been placed before the external driver ones.

dev-osvr will not be merged to Master as it looks like right now.
The lack of direct access to the raw IMU data and the bad state of the firmware reporting a incorrect quaternion, with bad sensor fusion makes this not suitable for use.
https://github.com/OSVR/OSVR-General/issues/11 is the place to complain to get this fixed.

Ok, thanks for the info. To me was more a matter of keeping the branches in sync so they don't shift even more apart. What would then be the proper approach? A merge in the reverse direction?

Yeah, just merge master into this branch.


Task: Make MIT License

A MIT license is required to let people now how to treat this software.
The body of the license will be copy from this page.

The MIT License is now created by commit  08338bc.


Step Height attribute >= 2 causes player to stop moving when crouched.

This only occurs when there is a block gap underneath the player. One vital issue with this is being unable to bridge over chasms.
I apologize for otherwise limited information, I would test further if I knew how to.

Step height is managed by Forge.  Any bugs with it have to be reproduced as a minimal reproduction case (with just forge installed) and reported to them.  I can't manipulate the functionality of it on my end.

I suspect that it somehow interferes with how the crouching system determines whether it is safe to walk off the block. It may be related that step height allows you to crouch walk off a block if there is a block below greater than or equal to the step height value.

Step height should no longer permit that behavior as long as your forge version is "new enough"
https://github.com/MinecraftForge/MinecraftForge/pull/8927
https://github.com/MinecraftForge/MinecraftForge/pull/9012

Using forge version 40.1.69, do you happen to know what version I should upgrade to?

Yep, the first release with it is 40.1.77

I know it probably isn't the place to say it, but I absolutely love this mod and I was waiting so excited for the deadly module to come back to 1.18.2. Thank you for all the work you've put into this mod for the community. <3


Print nice error message when harness run in non-admin mode

Today, when you run the harness in non-admin mode it fails with a remoting exception.
Expected: nice message telling people to run it in admin mode

Closing prior to archive.

Closing prior to archive.


Allow SSL parameters for Net::HTTP to be configured

Castanet::ServiceTicketuses Net::HTTP for communication with the CAS server. When using SSL, it may be necessary (particularly in a testing environment) to specify an alternate CA. Allow this to be configured in somehow.

How about this API:
class Client
  include Castanet::Client

  # keys in the hash map one-to-one to OpenSSL::SSL::SSLContext attributes
  def ssl_context
    { :ca_file => "...",
      ...
    }
  end

  def do_something
    # at this point, the client can propagate SSL context configuration to Net::HTTP instances
    ticket = service_ticket(ticket, service)
  end
end

That looks reasonable to me. We would need to allow the SSL context parameters to be specified in an Aker configuration somehow and then propagated; that seems possible with this setup.

I like this API more:
class Client
  include Castanet::Client

  # builds an SSL context object; I don't care what it is, but it must be
  # usable by Net::HTTP
  def ssl_context
  end
end

As far as I can tell, the SSL context should be opaque to castanet -- it shouldn't ever have to know its format or that Net::HTTP expects an OpenSSL::SSL::SSLContext instance.  Castanet just needs to know "this is an SSL context and this is how I tell Net::HTTP` instances about it".
Unfortunately, this is complicated by the fact that the SSL extensions in net/https don't expose an #ssl_context= accessor -- Net::HTTP requires that you go through its SSL context accessors to set up an SSL context.  I'm not sure why -- as far as I can tell, allowing it to be directly set won't break anything.
Maybe I can monkeypatch that accessor in.

As far as I can tell, the SSL context should be opaque to castanet -- it shouldn't ever have to know its format or that Net::HTTP expects an OpenSSL::SSL::SSLContext instance. Castanet just needs to know "this is an SSL context and this is how I tell Net::HTTP instances about it".

I don't agree with this. The fact that Castanet uses Net::HTTP is an implementation detail of Castanet. If Castanet starts using Typhoeus tomorrow, applications that use Castanet shouldn't have to change. It's reasonable to allow for configuration in a way that's easy to implement on top of Net::HTTP (as in your original suggestion), but if possible I'd avoid exposing an API which cements the use of Net::HTTP for ever and ever.

I can see people trying to build OpenSSL::SSL::SSLContext instances from it and going "wtf does this not work?", but not sure how much of a problem that will be.

Also, I don't think this will be a problem. I don't think that people will have a prior expectation that they should produce an OpenSSL::SSL::SSLContext; they'll do whatever the documentation says to do.

bq. I don't agree with this. The fact that Castanet uses Net::HTTP is an implementation detail of Castanet. If Castanet starts using Typhoeus tomorrow, applications that use Castanet shouldn't have to change. It's reasonable to allow for configuration in a way that's easy to implement on top of Net::HTTP (as in your original suggestion), but if possible I'd avoid exposing an API which cements the use of Net::HTTP for ever and ever.
Good point.  I wanted to avoid coding dependencies on Net::HTTP in Castanet, but that's really Castanet's responsibility, isn't it?
I'll go with the first API.


Provide additional documentation (details) on security implications when actuator endpoints are enabled

Review and provide additional details on security implications of exposed actuator endpoint that gives access to Environment variables

Hi @olegz, I would happy to contribute to the updating of the document.
I have prepared the following paragraph for the relevant part. if it is convenient, I can create a PR.
NOTE: While enabling the POST method for /actuator/env endpoint can provide flexibility and convenience in managing your application environment variables, it's critical to ensure that the endpoint is secured and monitored to prevent potential security risks. Add a spring-boot-starter-security dependency to configure access control for the actuator’s endpoint.

A PR would be great!


[BUG] ConvNeXt implementation inconsistent with the official code

The problem comes from this line. The torch.var_mean by default computes unbiased var. However, in the official code the var is a biased one. As a result, when initialized from the official weights, timm gives slightly different predictions from the official version.

@liaohaofu thanks, fixed ..

Hi @rwightman thanks for your wonderful work in timm, and incorporating ConvNeXt!
We noticed the results for ConvNeXts listed in the latest evaluation of models (e.g., https://github.com/rwightman/pytorch-image-models/blob/master/results/results-imagenet.csv) is not consistent with our original results in github and paper. It's off by 0.2-0.3% for clean ImageNet top-1. I guess this is possibly due to the discrepancy described in this issue.
If it's indeed due to this, and given you have promptly fixed, is it possible to do a reevaluation of ConvNeXts when you get time? Thanks!

@liuzhuang13 it's not this issue, the accuracy differences related to this issue were insignificant, no different than using a different version of PyTorch, cudDNN or Pillow than the original weights.
You'll note only the 384 models differ, that is because you evaluate those models with a non-aspect ratio perserving crop. I do not believe in doing imagenet eval with a squashed crop so I got as close as possible to your results by doing a full (1.0) crop that is aspect preserving.

@rwightman Thanks for the explanation! Makes sense to me


Update index.rst

Rewriting the overview M3 page to align it more to the company website, and to propose a new general structure of the product pages.

Hi @lornajane I have now fixed the link, and included the official name of Aiven for M3.


MODEL_NORMAL_MATRIX fragment shader crash/hang

Tested versions

Not sure where this starts, but it exists in 4.3.stable; I'm also currently limited on time

System information
Windows 10 - Godot 4.3 - Vulkan 1.3.278 - Forward+ - NVIDIA RTX 3080
Issue description
Using MODEL_NORMAL_MATRIX in a spatial shader's fragment code crashes the godot editor
However, this does not always crash it. Sometimes it just hangs for a while.
Steps to reproduce
Write some code involving MODEL_NORMAL_MATRIX in the fragment portion of a spatial gdshader
Example:
void fragment() {
    float viewDot = dot(NORMAL, CAMERA_DIRECTION_WORLD * MODEL_NORMAL_MATRIX);
}

This has nothing to do with even using it, simply including that in the fragment shader is enough.
mat3 mNor = MODEL_NORMAL_MATRIX

log.txt I abruptly remembered that pastebin exists, so as a paste for anyone who prefers that
Minimal reproduction project (MRP)
project.zip

Also worth noting that even in the event that it doesn't crash, the shader doesn't load, and it also doesn't say that there's any error with the shader.

Confirmed. My specs: Windows 10.0.19045 - Vulkan (Mobile) - dedicated NVIDIA GeForce GTX 1660 Ti with Max-Q Design (NVIDIA; <IP_ADDRESS>12) - AMD Ryzen 7 3750H with Radeon Vega Mobile Gfx (8 Threads)
No crash in 4.3 Compatibility.
Crash/hang confirmed in 4.3 Mobile.
Crash/hang confirmed in 4.3 Forward+
On 4.2.2.stable.mono Mobile, I get a very long console output but no hang or crash. I think this is the start of the log:
model_normal_matrix_output_log_42.txt
On 4.1.3.stable.mono, I get a very long console output but no hang or crash.

I think this is a duplicate of https://github.com/godotengine/godot/issues/85586 combined with another issue. We have long had on again off again issues with especially long error prints causing freezes/crashes on windows. I suspect that is what is going on here

I suspect that is what is going on here

It is.

Closing as #85586 was fixed.


New Item Suggestions

If you're looking for suggestions on some new items to make, here are some for your consideration. I've been thoroughly enjoying Mechanization thus far and I love playing with it, you've done an excellent job!
1.) Tracking Beacon - This would be a two-part item; the Tracker itself and the Beacon (or Beacons). The Beacon would be a small item that could easily be placed onto and removed from nearly any block. The Tracker could then be held in your off-hand and would then act like a Compass (with the Beacon essentially creating a temporary "SetWorldSpawn" effect) and help lead you to the location of the Beacon. This can help if you're caving or exploring far from your Spawn Point/Bed and you wish to find your way back to your Nether Portal (or find your way back to a Cave system after leaving). The Tracker could then be upgraded to track multiple beacons at once (which you could cycle through by Left-Clicking).
2.) Mob Caller - This is an item that would effectively "call" all mobs in the area to it, allowing you to then kill and farm them with the Mob Grinder. The Mob Grinder is great for farming drops, and you could theoretically use the Spawner Mover and Creative Mode to have whatever kind of Spawner you want. But when playing survival mode, you could use the Mob Caller instead to draw all the mobs in the area to a single location, rather than hunting for them (this would be especially useful in the Nether and you want to farm Wither Skulls). You could also switch the Mob Caller from "Hostile" to "Passive" and it would instead call all Passive Mobs (like Sheep, Cows, etc) to it; again, eliminating the need to hunt them down and lead them back to a single location one by one. An Upgrade could either attract the hostile mobs, allow for functionality in other dimensions (Nether, End, etc), or simply extend the range.
3.) Biome Finder / Map Maker - This would be immensely useful in Vanilla Minecraft if you were able to find a way to implement it. It is a Machine that would allow you to plug in/type in/search for the name of any Biome (like a Mooshroom Island), and the Machine would produce a Map to it (much in the same way that Cartographers produce Maps to Woodland Mansions and Ocean Monuments). Alternatively, You could simply place the Machine down somewhere and it would create a fully-fleshed out (and extended) map of the surrounding area (thus, eliminating the need to fly around and fill out the map yourself), you could then pick it up, place it in a new area, and get a new map.  The /locate command is great for finding structures, but I wished it worked for individual Biomes (sometimes, you really need Podzol or Mycelium and don't want to just Creative them in). An Upgraded Version could allow for use in (and mapping of) the Nether and End Dimensions.
4.) Portable Battery Upgrade - Upgrade the Portable Battery to hold more power (or make them stackable). I usually end up having to take 5 or 6 with me at a time because I end up using so much from all of my armor and item pieces (plus using the guns).
I hope you find these ideas useful. Thank You again for a great product. Keep up the good work :)

I think this would be possible, though not easy. I'll look into it.

Messing with mobs outside of a small radius is very tricky. Usually it involves UUID manipulation, which is hard, prone to bugging out, and usually has the restriction of only 1 machine being in the world at a time, so not very practical. However, you could use a villager to at least attract zombies, and an endermite for endermen.

Currently it is possible to test for which biome a player is currently in, but there is no other way to test for biomes. Additionally, even if you could test for a biome, the chunks would have to be loaded, making this somewhat unpractical.

Never really felt a need for a bigger battery, though there are some particularity power hungry upgrades I tended to not use in my play-throughs. An upgraded battery would be possible to add, so I'll look into it.

here is a biome specific generator
https://www.tyruswoo.com/minecraft-game-changer
On 9/3/18, ImCoolYeah105<EMAIL_ADDRESS>wrote:

I think this would be possible, though not easy. I'll look into it.

Messing with mobs outside of a small radius is very tricky. Usually it
involves UUID manipulation, which is hard, prone to bugging out, and usually
has the restriction of only 1 machine being in the world at a time, so not
very practical. However, you could use a villager to at least attract
zombies, and an endermite for endermen.

Currently it is possible to test for which biome a player is currently
in, but there is no other way to test for biomes. Additionally, even if you
could test for a biome, the chunks would have to be loaded, making this
somewhat unpractical.

Never really felt a need for a bigger battery, though there are some
particularity power hungry upgrades I tended to not use in my play-throughs.
An upgraded battery would be possible to add, so I'll look into it.

--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/ImCoolYeah105/Mechanization/issues/36#issuecomment-418192138

--
Marc-Andre Maurice
<EMAIL_ADDRESS>

What about an Item De-constructor?
A machine that would take a crafted item and break it apart into its base components. For example, taking all of those tripwire hooks that you get from your Auto-Fisher and turning them back into Planks, Sticks, and Iron Ingots.  Essentially reversing the crafting table recipes.

there is a item that does that its called the decompressor
On 9/5/18, Dreamer81382<EMAIL_ADDRESS>wrote:

What about an Item De-constructor?
A machine that would take a crafted item and break it apart into its base
components. For example, taking all of those tripwire hooks that you get
from your Auto-Fisher and turning them back into Planks, Sticks, and Iron
Ingots.  Essentially reversing the crafting table recipes.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/ImCoolYeah105/Mechanization/issues/36#issuecomment-418611707

--
Marc-Andre Maurice
<EMAIL_ADDRESS>

Un-crafters are almost always brokenly overpowered. There is very rarely a way to balance them, so I don't think I will add one. For the moment, you can get the machine frame back by breaking the block normally without a wrench (though you loss all the extra ingredients of course).


Update predeploys.md

Drive-by question:
Has it always been the case that predeploys live in a 1 byte namespace?


add functionality to find layer intersections and validate geometry

point c is on line a-b  if cross product between 3 point is approx 0
point c is between a and b if also dot product >= 0 and <= sqrt dis a-b


DOC: fixed readme

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
9 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.001%) to 91.635%

Files with Coverage Reduction
New Missed Lines
%

.nox/test-3-10/Lib/site-packages/cogent3/core/alignment.py
1
94.42%

.nox/test-3-10/Lib/site-packages/cogent3/evolve/likelihood_function.py
1
96.3%

.nox/test-3-8/lib/python3.8/site-packages/cogent3/evolve/likelihood_function.py
1
96.3%

.nox/test-3-10/Lib/site-packages/cogent3/maths/scipy_optimize.py
6
84.92%

Totals

Change from base Build<PHONE_NUMBER>:
-0.001%

Covered Lines:
236188

Relevant Lines:
257748

💛  - Coveralls


Added the kubesimplify community ✅

Done

Thanks for the PR. Fixed in #73
__
  Summary: :ok_hand: This code looks good  |  Tags: Inefficient


[Help!!]error of spawning new processes while running image_retrieval.py

I am getting the following error of spawning the process while running "python image_retrieval.py"
Brief error message:
RuntimeError:
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
This probably means that you are not using fork to start your
child processes and you have forgotten to use the proper idiom
in the main module:
if name == 'main':
freeze_support()
error.txt
Can anyone plz help me saying why I am getting this error and how to get rid of this error?

Same error here. maybe the file image_retrieval.py be wrapped in a main() function and then end with:
if name == "main":
main()

Another problem generated after I added below to the code.
if name== "main":
The problem is with the
"Class ImageTransformer (object)"


Write "Sticky note clustering" method

This relates to #52

Started the markdown file here: https://github.com/bocoup/opendesignkit/blob/master/wiki/sticky-clustering.md

Wrote the method! Would love a review. cc/ @susanjrobertson @isaacdurazo @pamela-drouin

Fixed some typos but otherwise I think this looks good @iamjessklein!


(Feature) Refactor gas calculation

Closes #1752
Depends on #1675

Hey @rmeissner we have some questions about the signatures in order to make a call to execTransaction. We are getting this error: execution reverted: Invalid owner provided as far as we understood the contract code seems that is related with the signatures.
We have this code for estimating the gas (you can check the complete function here):
export const estimateGasForTransactionExecution = async ({
  safeAddress,
  txRecipient,
  txConfirmations,
  txAmount = '0',
  txData,
  operation = CALL,
  from,
  gasPrice = '0',
  gasToken = ZERO_ADDRESS,
  refundReceiver = ZERO_ADDRESS,
  safeTxGas = '0',
}: TransactionExecutionEstimationProps): Promise<number> => {
  const safeInstance = await getGnosisSafeInstanceAt(safeAddress)

  const sigs = generateSignaturesFromTxConfirmations(txConfirmations)

  const executeTransactionTxData = await safeInstance.methods
    .execTransaction(
      txRecipient,
      txAmount as string,
      txData,
      operation as number,
      safeTxGas as string,
      0,
      gasPrice as string,
      gasToken as string,
      refundReceiver as string,
      sigs,
    )
    .encodeABI()

  const gasEstimation = await calculateGasOf(executeTransactionTxData, from, safeAddress)

  const gasBatches = [0, 10000, 20000, 40000, 80000, 160000, 320000, 640000, 1280000, 2560000, 5120000]
    .filter((currentGas) => currentGas < gasEstimation)
    // Reorders gas from lowest to highest
    .sort((a, b) => b - a)

  for (const baseGasIterator of gasBatches) {
    const executeTransactionGasCheck = await safeInstance.methods
      .execTransaction(
        txRecipient,
        txAmount as string,
        txData,
        operation as number,
        safeTxGas as string,
        gasEstimation,
        gasPrice as string,
        gasToken as string,
        refundReceiver as string,
        sigs,
      )
      .call()

    if (executeTransactionGasCheck) {
      return baseGasIterator
    }
  }

  // In there is no gasBatches available that could run successfully execTransaction we need to inform the user
  throw new Error('There was no valid value of gas to execute the transaction, the transaction may fail')
}

We are getting that error here:
const gasEstimation = await calculateGasOf(executeTransactionTxData, from, safeAddress)
calculateGasOf will basically do a web3.eth.estimateGas
The signatures that we provided are these ones:
0xed78a7e6ed6c606df81aadaa4da8e9dc59ef6be2dd4baca855305f835f4bffd67007e0ad99128c911f6bfbb9e31c231a63e80c527975b9e94c4526822ec2b1251b55149db32f9bca5e47ba3ec049172e1d03b284b9dcc455c0f0e0c7686bed1d955899b1ec4d7727eb4df73df1031c46aa403239f98fbc2ed9ccfffbd0eb33d2731b
The safe: 0xdCA21b57C5c51dC82a8607ec0F989f5f48975091 (rinkeby) and owners are:
0x0dc0dfD22C6Beab74672EADE5F9Be5234AAa43cC and 0xCC21e6F00036B3E16430e299e200398BD2209aaB
But if we continue executing the transaction, the method processTransaction (here) will do the same calculation, but instead of doing an estimateGas will do a send. The signature value will be the same, but the transaction won't fail.
Do you have any ideas about why this could be happening?
CC: @fernandomg @nicosampler

Hey @rmeissner we have some questions about the signatures in order to make a call to execTransaction. We are getting this error: execution reverted: Invalid owner provided as far as we understood the contract code seems that is related with the signatures.
We have this code for estimating the gas (you can check the complete function here):
export const estimateGasForTransactionExecution = async ({
  safeAddress,
  txRecipient,
  txConfirmations,
  txAmount = '0',
  txData,
  operation = CALL,
  from,
  gasPrice = '0',
  gasToken = ZERO_ADDRESS,
  refundReceiver = ZERO_ADDRESS,
  safeTxGas = '0',
}: TransactionExecutionEstimationProps): Promise<number> => {
  const safeInstance = await getGnosisSafeInstanceAt(safeAddress)

  const sigs = generateSignaturesFromTxConfirmations(txConfirmations)

  const executeTransactionTxData = await safeInstance.methods
    .execTransaction(
      txRecipient,
      txAmount as string,
      txData,
      operation as number,
      safeTxGas as string,
      0,
      gasPrice as string,
      gasToken as string,
      refundReceiver as string,
      sigs,
    )
    .encodeABI()

  const gasEstimation = await calculateGasOf(executeTransactionTxData, from, safeAddress)

  const gasBatches = [0, 10000, 20000, 40000, 80000, 160000, 320000, 640000, 1280000, 2560000, 5120000]
    .filter((currentGas) => currentGas < gasEstimation)
    // Reorders gas from lowest to highest
    .sort((a, b) => b - a)

  for (const baseGasIterator of gasBatches) {
    const executeTransactionGasCheck = await safeInstance.methods
      .execTransaction(
        txRecipient,
        txAmount as string,
        txData,
        operation as number,
        safeTxGas as string,
        gasEstimation,
        gasPrice as string,
        gasToken as string,
        refundReceiver as string,
        sigs,
      )
      .call()

    if (executeTransactionGasCheck) {
      return baseGasIterator
    }
  }

  // In there is no gasBatches available that could run successfully execTransaction we need to inform the user
  throw new Error('There was no valid value of gas to execute the transaction, the transaction may fail')
}

We are getting that error here:
const gasEstimation = await calculateGasOf(executeTransactionTxData, from, safeAddress)
calculateGasOf will basically do a web3.eth.estimateGas
The signatures that we provided are these ones:
0xed78a7e6ed6c606df81aadaa4da8e9dc59ef6be2dd4baca855305f835f4bffd67007e0ad99128c911f6bfbb9e31c231a63e80c527975b9e94c4526822ec2b1251b55149db32f9bca5e47ba3ec049172e1d03b284b9dcc455c0f0e0c7686bed1d955899b1ec4d7727eb4df73df1031c46aa403239f98fbc2ed9ccfffbd0eb33d2731b
The safe: 0xdCA21b57C5c51dC82a8607ec0F989f5f48975091 (rinkeby) and owners are:
0x0dc0dfD22C6Beab74672EADE5F9Be5234AAa43cC and 0xCC21e6F00036B3E16430e299e200398BD2209aaB
But if we continue executing the transaction, the method processTransaction (here) will do the same calculation, but instead of doing an estimateGas will do a send. The signature value will be the same, but the transaction won't fail.
Do you have any ideas about why this could be happening?


BUG: Unexpected exception TypeError("_post_eval_hook() got an unexpected keyword argument 'accuracy'") happened during tuning.

When I use tf2.5 with NIC, I want to use tensorboard, and my conf is
version: 1.0

model:                                               # mandatory. used to specify model specific information.
  name: origin_model
  framework: tensorflow                              # mandatory. supported values are tensorflow, pytorch, pytorch_ipex, onnxrt_integer, onnxrt_qlinear or mxnet; allow new framework backend extension.

quantization:                                        # optional. tuning constraints on model-wise for advance user to reduce tuning space.
  calibration:
    sampling_size: 10000                              # optional. default value is 100. used to set how many samples should be used in calibration.
  model_wise:                                        # optional. tuning constraints on model-wise for advance user to reduce tuning space.
    activation:
      algorithm: minmax
#  op_wise: {
#             'import/dnn/hiddenlayer_0/MatMul': {
#               'activation':  {'dtype': ['uint8'], 'algorithm': ['minmax'], 'scheme':['asym']},
#             }
#           }

tuning:
  tensorboard: true
  accuracy_criterion:
    relative:  0.01                                  # optional. default value is relative, other value is absolute. this example allows relative accuracy loss: 1%.
  exit_policy:
    timeout: 0                                       # optional. tuning timeout (seconds). default value is 0 which means early stop. combine with max_trials field to decide when to exit.
    max_trials: 100                                  # optional. max tune times. default value is 100. combine with timeout field to decide when to exit.
  random_seed: 9527

Then I got this error, Is a Bug
2022-04-07 11:03:00 [ERROR] Unexpected exception TypeError("_post_eval_hook() got an unexpected keyword argument 'accuracy'") happened during tuning.
Traceback (most recent call last):
File "/root/anaconda3/envs/tf2/lib/python3.7/site-packages/neural_compressor/experimental/quantization.py", line 151, in execute
self.strategy.traverse()
File "/root/anaconda3/envs/tf2/lib/python3.7/site-packages/neural_compressor/strategy/strategy.py", line 323, in traverse
self.baseline = self._evaluate(self.model)
File "/root/anaconda3/envs/tf2/lib/python3.7/site-packages/neural_compressor/strategy/strategy.py", line 463, in _evaluate
self.adaptor._post_eval_hook(model, accuracy=val[0])

The tensorflow adaptor not has accuracy params, So raise the execption

thanks for the feedback. we will take a look on that

Hi @GuoGuiRong,
Thank you for reporting the bug. It's fixed in our next release.


ArgumentException: An item with the same key has already been added.

Hi,
We're on Sitecore 7.5 and recently updated to Unicorn 3.3.2. The upgrade went smooth for all but one machine (at least so far). Every time I try to sync, I get the following error. It seems to mostly affect "Media Library" and "Globals" items as I haven't seen any "Renderings" or "Templates" featured. Anything that we should look at that might be causing this?
master:/sitecore/content/globals/path/to/item (de7654f3-6c6c-43cc-824c-1445eaa89776)
C:\path\to\item.yml
> ArgumentException: An item with the same key has already been added.

The log has stack traces like the following:
...

INNER EXCEPTION
master:/sitecore/media library/company/full/product-com/rendering-thumbnails (aa1c1603-57dc-47c3-908b-94aca397b0f3) (Rainbow.Storage.Sc.Deserialization.DeserializationException)
No stack trace available.
INNER EXCEPTION
An item with the same key has already been added. (System.ArgumentException)
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at Rainbow.Diff.ItemComparer.CompareInternal(IItemData sourceItem, IItemData targetItem, Boolean abortOnChangeFound)
   at Unicorn.Evaluators.SerializedAsMasterEvaluator.ShouldUpdateExisting(IItemData sourceItem, IItemData targetItem, DeferredLogWriter`1 deferredUpdateLog)
   at Unicorn.Evaluators.SerializedAsMasterEvaluator.EvaluateUpdate(IItemData sourceItem, IItemData targetItem)
   at Unicorn.Loader.SerializationLoader.DoLoadItem(IItemData serializedItemData, IConsistencyChecker consistencyChecker)
   at Unicorn.Loader.DeserializeFailureRetryer.RetryAll(ISourceDataStore sourceDataStore, Action`1 retrySingleItemAction, Action`1 retryTreeAction)

INNER EXCEPTION
master:/sitecore/media library/company/full/product-com/components/callout (6c4115b9-8c83-4158-84e7-69b7028a6b80) (Rainbow.Storage.Sc.Deserialization.DeserializationException)
No stack trace available.
INNER EXCEPTION
An item with the same key has already been added. (System.ArgumentException)
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at Rainbow.Diff.ItemComparer.CompareInternal(IItemData sourceItem, IItemData targetItem, Boolean abortOnChangeFound)
   at Unicorn.Evaluators.SerializedAsMasterEvaluator.ShouldUpdateExisting(IItemData sourceItem, IItemData targetItem, DeferredLogWriter`1 deferredUpdateLog)
   at Unicorn.Evaluators.SerializedAsMasterEvaluator.EvaluateUpdate(IItemData sourceItem, IItemData targetItem)
   at Unicorn.Loader.SerializationLoader.DoLoadItem(IItemData serializedItemData, IConsistencyChecker consistencyChecker)
   at Unicorn.Loader.DeserializeFailureRetryer.RetryAll(ISourceDataStore sourceDataStore, Action`1 retrySingleItemAction, Action`1 retryTreeAction)

INNER EXCEPTION
master:/sitecore/media library/company/full/product-com/components/callout2 (a585c27e-af68-4698-ac2a-6d091e821f9c) (Rainbow.Storage.Sc.Deserialization.DeserializationException)
No stack trace available.
INNER EXCEPTION
An item with the same key has already been added. (System.ArgumentException)
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at Rainbow.Diff.ItemComparer.CompareInternal(IItemData sourceItem, IItemData targetItem, Boolean abortOnChangeFound)
   at Unicorn.Evaluators.SerializedAsMasterEvaluator.ShouldUpdateExisting(IItemData sourceItem, IItemData targetItem, DeferredLogWriter`1 deferredUpdateLog)
   at Unicorn.Evaluators.SerializedAsMasterEvaluator.EvaluateUpdate(IItemData sourceItem, IItemData targetItem)
   at Unicorn.Loader.SerializationLoader.DoLoadItem(IItemData serializedItemData, IConsistencyChecker consistencyChecker)
   at Unicorn.Loader.DeserializeFailureRetryer.RetryAll(ISourceDataStore sourceDataStore, Action`1 retrySingleItemAction, Action`1 retryTreeAction)

...

That suggests to me you might have corrupted yaml file.
The relevant code is this:
var sourceUnversioned = sourceItem.UnversionedFields.ToDictionary(value => value.Language.Name);			var targetUnversioned = targetItem.UnversionedFields.ToDictionary(value => value.Language.Name);

The only way the same key would be added twice is if the UnversionedFields collection had two entries for a given language. Check your YAML file and make sure there aren't two duplicate language headers.

I checked the files and don't see any duplicate headers:
---
ID: "6a4adf5d-d20a-47d4-ad19-690c46662114"
Parent: "2d0b90fb-fa1f-49bb-9d01-15ad1b0f5e3b"
Template: "65fbca53-1161-4978-9d91-fc4a1c1501ad"
Path: "/sitecore/content/globals/full/product-com/callouts/some-information"
DB: master
Languages:
- Language: en
  Fields:
  - ID: "b5e02ad9-d56f-4c41-a065-a133db87bdeb"
    Hint: __Display name
    Value: some Information
  Versions:
  - Version: 1
    Fields:
    - ID: "25bed78c-4957-4165-998a-ca1b52f67497"
      Hint: __Created
      Value: 20160620T140032
    - ID: "c90e6435-280f-45de-b3b5-f59fab5218ce"
      Hint: Link
      Value: |
        <link linktype="javascript" text="some Information" url="javascript:trackActivity('xyz'); window.open('http://Company.com/united_states/product/product_english.pdf')" anchor="" />

However, if the yaml was corrupt, it doesn't make sense why I was the only one of three machines that had the issue.
The good news is that your comment reminded me that the other machines had the "Languages" wiped under core and master with the exception of the "en" language. I did the same locally (these aren't changes that were tracked in git) and the issue went away.

Oh interesting so it was triggered by having a missing language in the database that was throwing the error?


support empty target in PathInfo

Will be useful in cases where providers can infer the target. #597 is an example of this; the target can be inferred from the cwd. Within a Substrate workspace, one can create a script that interacts with a development build of the chain like so:
playground.ts
import { System } from<EMAIL_ADDRESS>
console.log(System.Version)

The location of this script inside of the Substrate workspace is irrelevant. Could be...

workspace/a.ts
workspace/b/c.ts
workspace/d/e/f.ts

deno run -A https://deno.land/x/capi/main.ts -- deno run -A -r playground.ts

Should just be a matter of tweaking the regex.


PUT params encoding issue

$data = array('p1' => array('sp1', 'sp2'));
$this->dispatch('/api/1', 'PUT', $data);

This will throw array to string conversion Exception.
Line 236 in AbstractControllerTestCase.php seem to be a problem it assumes flat array.
Workaround:
$this->getRequest()->setContent(http_build_query($this->filterData));
$this->dispatch('/rest-api/filters/1', 'PUT');

This issue has been closed as part of the bug migration program as outlined here - http://framework.zend.com/blog/2016-04-11-issue-closures.html


[tsp-client] TypeError: tspLocation.additionalDirectories.map is not a function

exec: tsp-client update

tsp-location.yaml
from:
directory: specification/azurefleet/AzureFleet.Management
commit: 3cb1b51638616435470fc10ea00de92512186ece
repo: Azure/azure-rest-api-specs
additionalDirectories:
  - specification/mongocluster/DocumentDB.MongoCluster.Management
  - specification/apicenter/ApiCenter.Management

to ->
directory: specification/azurefleet/AzureFleet.Management
commit: 3cb1b51638616435470fc10ea00de92512186ece
repo: Azure/azure-rest-api-specs
additionalDirectories: specification/mongocluster/DocumentDB.MongoCluster.Management,specification/apicenter/ApiCenter.Management

position
Change the tsp-location.yaml additionalDirectories in the following location:

https://github.com/Azure/azure-sdk-tools/blob/main/tools/tsp-client/src/index.ts#L321
https://github.com/Azure/azure-sdk-tools/blob/main/tools/tsp-client/src/index.ts#L327

@Alancere can you provide more information, did the tool change the format of your tsp-location.yaml or did you do that manually?

this my origin tsp-location.yaml content:
directory: specification/oracle/Oracle.Database
commit: 9a88bba565544d5907aaee7b10170fd770572904
repo: Azure/azure-rest-api-specs
additionalDirectories:
- specification/oracle/models

run tsp-client update --commit 9a88bba565544d5907aaee7b10170fd770572904 result:

tsp-location.yaml was changed by the tool to the following
directory: specification/oracle/Oracle.Database
commit: 9a88bba565544d5907aaee7b10170fd770572904
repo: Azure/azure-rest-api-specs
additionalDirectories: specification/oracle/models

Investigating, looks like a bug in the tool

@Alancere I have a fix, should be able to release a new version of tsp-client early next week.

FYI this was fixed in the v0.9.4 release. Please update to that version and give it a try


feat: Update VCS+EDV version, remove EDV from VCS

Signed-off-by: Derek Trider<EMAIL_ADDRESS>

We need to update https://github.com/trustbloc/k8s/blob/main/edv/kustomize/edv/base/kustomization.yaml#L36 as well.

We need to update https://github.com/trustbloc/k8s/blob/main/edv/kustomize/edv/base/kustomization.yaml#L36 as well.

done


fix allowprelease error

In the publish-module.ps1 script file, I removed the line "-AllowPrerelease:$AllowPrerelease" line from the Validate-versionparameters.  I did this due to the fact that, when attempting to publish a powershell module to a vsts package feed with the line present, it would throw an error stating "AllowPrereleaseVersions is not a valid parameter."  When I commented out that one line, saved the changed to the module, re-imported it, and re-ran the command, the module published successfully.

If this isn't proof enough that the command in question needs to be updated, I don't know what is.  So please allow pull request and fix any other applicable commands that might encounter this issue.

@whiggs This is a known issue. Please take a look at
https://github.com/PowerShell/PowerShellGet/issues/205#issuecomment-350088919 for more details.

I have submitted https://github.com/PowerShell/PowerShellGet/pull/279 for this.


⚠ Bofrost.ch has degraded performance

In 0333ce4, Bofrost.ch (https://www.bofrost.ch) experienced degraded performance:

HTTP code: 200
Response time: 1352 ms

Resolved: Bofrost.ch performance has improved in e465570 after 6 minutes.


Update token registration

Update token registration to use Instance ID API instead of deprecated GCM.

Not releavant since GCM has been removed


Can't open bookmarklets

Unable to open bookmarklets.
If I switch it from "default browser" to "chrome" it doesn't give an exception at all, and dies silently.

+1


fix: removed test:ci from prePackage

:tada: This PR is included in version 1.2.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Links on /people lead to portugal.inaturalist.org

Go to https://www.inaturalist.org/people
Click on the username of anyone listed in the Leaderboards or Curators section.
It leads to that person's profile but at portugal.inaturalist.org.

This seems to be happening again.

Working now.


Difficulties with Blink Cams

Home Assistant release with the issue:

HassOS 1.11
Hassio Version 1.4.0
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.):

Hass.io
Component/platform:

Blink Cam
Description of problem:
This is my configuration.yaml
blink:
username<EMAIL_ADDRESS>password: !secret blink_password
scan_interval: 60
I have 3 Blink XT cams both with same configuration done via Blink aplic for iOS.
binary_sensor.blink_blink_1_camera_armed is always ON.
binary_sensor.blink_blink_2_camera_armed and binary_sensor.blink_blink_3_camera_armed are not updating correctly.
I have alarm_control_panel.blink_sync Disarmed for more then 10m and HA shows both cams still armed.
I tried to call service blink.blink_update and nothing change.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

Traceback (if applicable):

Additional information:

@fronzbot

Good. Now I can understand your previous comments and the values I get for the various entities.
Once more thank you very much for your replies.
You did a nice work.
Best regards.


[17.06] backport "Enable TCP Keep-Alive in Docker client"

cherry-picked from https://github.com/docker/cli/commit/2831a04cbad65e11081b0cd189599767fce3646a (https://github.com/docker/cli/pull/415/) - no conflicts
Some network environments may have NATs, proxies, or gateways which
kill idle connections. There are many Docker API operations which may
be idle for long periods of time (such as ContainerWait and ContainerAttach)
and may result in unexpected connection closures or hangs if TCP keepalives
are not used.
This patch updates the default HTTP transport used by the Docker client
package to enable TCP Keep-Alive with a keep-alive interval of 30 seconds.
It also sets a connect timeout of 30 seconds.
ping @dhiltgen @dnephin @jlhawn PTAL

So after chatting with @RobbKistler I can see that he pointed out we have practically a standard for a 30s keep alive timeout in our codebase: https://github.com/docker/docker-ce/search?q=KeepAlive
As well as a the code we vendor in: https://github.com/docker/docker-ce/blob/master/components/engine/vendor/github.com/coreos/etcd/client/client.go#L54
Not sure if users would super desire a knob to turn on this, but I suppose keeping the network connection behaviour consistent sounds good to me.
Looks good to me to merge.


Fix without function

There is currently a method called without that lives in /lib/without.js.
It is incomplete and needs to be fixed!
Acceptance Criteria:

Running yarn test without results in tests passing.

Please include the skeleton of a new method + an accompanying test for someone else to work on at the time of creating a pull request!

I think I'd like to give this a shot!

Cool deal @DanielSauve ! I'll mark it as "in progress" until you make a PR. Thanks!


need option to add subtitle in appbar parameter

It would be great if you flutter team could provide subtitle parameter as option in appbar
AppBar( title: Text("Jack"), subtitle: Text("software engineer")

it's probably better if you use listtile it provides just what you need

@sudesh-hubbler have you tried @ahmedo100 's suggestion?


(line)sum(f::Fun{JacobiWeight,T}) should have special cases

for the weights +/- 0.5.

Closed by @b889278e8ff6793561f7171112c1499b7fac705e.


Decide a model for the LEFT OUTER JOIN Clause

@nihal111, this is the issue you pointed out. This is a lot harder than I was thinking, and we might need to rethink the algorithm if it is to account for all possible cases. However, https://github.com/mozilla/wptview/commit/6f069c0612be7e2aec82bb9c997a121ee3a73ca7 will help account for most use cases.


3DC event proposal for DiscoverSUTD 2021

3DC: Introduction to the space of software engineering
Abstract
Learn more about software engineering and how participating in a fifth row enhances your SUTD experience.
Talk to seniors from various backgrounds while they share about their interests and experiences.
Student Organisation organising this session
Digital Design and Development Club (3DC)
Event Format
Format: Physical
Date: 29th Sept (evening)
Session intent (what to expect)

Explore the different fields of software engineering
Learn how to make full use of your time in SUTD to better prep yourself for internships.
discovering interest, skills needed in particular fields

Prerequisites

None as long as participants are interested to learn from seniors.
Participants do not need to bring any equipment.

Session details

Programme Format

Physical
1 hour duriation

Purpose

Explore the different fields of software engineering

Programme Structure:

Intro 3DC and what we do
Web Dev

Web development internship
Steps taken to learn this field

Social computing and quantum computing

Steps taken to learn this field
Internship experience

General skills to be a better software engineer/intern

Technical skills for internship
Soft skills for internship
Sharing of experience

Overview of upcoming 3DC technical workshops
Q&A etc

Speakers/Workshop facilitators

Bryce (Web development)
Naomi (Social computing and quantum computing)
Raphael Yee (Internships)

Good day, thank you for your submission.
Could we check if there are any:

Venues your club would be using? Bear in mind that there are group size limits as well.
Sign-up links for your session?
Any other budget requirements?

So sorry for the late reply.
We will be holding this event online due to covid measures limiting the group sizes.
Event will be on 29th Sept from 4:30pm to 5:30pm.
Sign up link is at https://forms.office.com/r/F4VkqZqiVG
Budget will not be needed.

Not to worry! Since the event is online, should be not much of a problem now. Cheers

@brycegoh Hey Bryan! Just some feedback from our team that for your sign-up form. Do use the DiscoverSUTD form template which includes the PDPA clause.
The link can be found here Do click on 'duplicate form' and create your own form! Then share with use the updated link.
Hope your team understands, thank you!

@brycegoh Hey! Sorry, just a ping if this comment was missed out.

@makehahaz  Hey, sflr. Our team has already started receiving sign ups on our form. Could we just update with the questions your team requires?

@brycegoh hm. Understood, do take reference from the template we provided!

@makehahaz Hi, the form has been edited to include the introduction and the PDPA clause.
Event timings and signup form:
Event will be on 29th Sept from 4:30pm to 5:30pm.
Sign up link is at https://forms.office.com/r/F4VkqZqiVG

Hey @brycegoh , could I trouble you to edit the styling of the form to match our template as well? You can download the photo from the original template provided. This will be for consistency with all the other fifth rows for the entire discoversutd event.

hey @jolow99 @makehahaz , sorry for the trouble. We have made a new form as per the template.
Form url here: https://forms.office.com/r/Rfy9m904Jz
Update, we have changed the timing to 8-9pm on 29th Sept to cater to people who might still have classes/PLS. Do let me know if there are any issues with the new timing.

Hey Bryce! Noted on your updated timing. Could I check if you duplicated the template we provided? Your form doesn't seem to have the correct styling for the colors.
https://forms.office.com/Pages/ShareFormPage.aspx?id=drd2NJDpck-5UGJImDFiPWH2rk0WPLpNoz88PwBGAxpUQ0c5TktQNlJKUTVMUFFQTVRHTkJOV1o1VS4u&sharetoken=zv60rxgRFw6Sp0GdVpWP

Noted on the color. Changed back to maroon thanks

Thanks @rphly!


Linting factories

I think linting factories could be useful, as described [here].(http://www.rubydoc.info/gems/factory_girl/file/GETTING_STARTED.md#Linting_Factories)

Thanks for the thought, @delphaber. We used to have this in Suspenders, and removed it in v1.13.0 in May of last year due to it slowing down the suite an average of ~300ms:
https://github.com/thoughtbot/suspenders/commit/0dbbc626e5da9f6ee94e1226487b4017cd2b8099
As far as I know, there's nothing that's since been added to Rails or Factory Girl or RSpec that would improve that slowdown.

Oh! I see :) No problem!