RedisCommandTimeoutException at application startup

Current Behavior
We have some hi-traffic applications using Spring Boot and Lettuce as a redis client.
After upgrading to Spring Boot 2.1 and switching from Jedis to Lettuce, we've seen that every time those applications start receiving traffic, for the first 20 to 30 seconds the logs are completly full of RedisCommandTimeoutException, it seems that every command fails because of a timeout.
After 20-30 seconds, the errors completely stop, and the applications work normally, no more redis timeouts.
We use redis mainly as cache layer, using spring-boot-starter-data-redis. Almost all of the commands are get and set.
Input Code
This is the code we use to setup the redis pool configuration
private final int maxTotal = 100;
private final int maxIdle = 10;
private final int minIdle = 5;
private final int maxWaitMillis = 1000;
private final int numTestsPerEvictionRun = 3;
private final int timeBetweenEvictionRunsMillis = 10000;
private final int commandTimeoutMillis = 100;
private final int connectionTimeoutMillis = 2000;

@Bean
    public LettucePoolingClientConfiguration lettucePoolConfig(ClientResources clientResources) {
        GenericObjectPoolConfig redisPoolConfig = new GenericObjectPoolConfig();

        redisPoolConfig.setMaxTotal(env.getProperty("spring.redis.maxTotal", Integer.class, maxTotal));
        redisPoolConfig.setMaxIdle(env.getProperty("spring.redis.maxIdle", Integer.class, maxIdle));
        redisPoolConfig.setMinIdle(env.getProperty("spring.redis.minIdle", Integer.class, minIdle));
        redisPoolConfig.setMaxWaitMillis(env.getProperty("spring.redis.maxWaitMillis", Integer.class, maxWaitMillis));
        redisPoolConfig.setNumTestsPerEvictionRun(env.getProperty("spring.redis.numTestsPerEvictionRun", Integer.class, numTestsPerEvictionRun));
        redisPoolConfig.setTimeBetweenEvictionRunsMillis(env.getProperty("spring.redis.timeBetweenEvictionRunsMillis", Integer.class, timeBetweenEvictionRunsMillis));

        Integer commandTimoutMillis = env.getProperty("spring.redis.commandTimeoutMillis", Integer.class, commandTimeoutMillis);
        ClientOptions options = ClientOptions.builder().autoReconnect(true).disconnectedBehavior(DisconnectedBehavior.REJECT_COMMANDS)
                .socketOptions(SocketOptions.builder().connectTimeout(Duration.ofMillis(env.getProperty("spring.redis.timeout", Integer.class, connectionTimeoutMillis))).build())
                .timeoutOptions(TimeoutOptions.enabled(Duration.ofMillis(commandTimoutMillis))).build();

        return LettucePoolingClientConfiguration.builder().poolConfig(redisPoolConfig).clientOptions(options).clientName(clientName).clientResources(clientResources)
                .commandTimeout(Duration.ofMillis(commandTimoutMillis)).build();
    }

The idea is to have 2 sec connection timeout, and 100ms as command timeout.
Expected behavior/code
We would expect the applications to start serving traffic normally.
Environment

Spring Boot 2.1.9
Lettuce version(s): 5.1.8.RELEASE
Redis version: 4.0.14 on GCP (Memorystore)

Additional context
The applications are microservices serving traffic through http calls, as soon as the applications start receiving traffic Spring cache try contacting Redis but fail because of the RedisCommandTimeoutException for 20 to 30 seconds.
Please note that as soon as they start receiving traffic, they are receiving a lot of traffic, normally about 2-300 operations per second. They are alll very, very fast, a few ms each because they're mostly get and set (of small amount of data).
The applications run on Kubernetes and have all between 1 and 2 core of required resources
We think it's related to how the connections are established, but we don't understand what could be wrong in our configuration and how to fix it.
We were thinking some sort of pre-warm of the connections, so that they're already available when they're needed in order to avoid the time it takes to establish the connection.
But it seems a command timeout we are hitting, not a connection timeout.
Would you please help us pointing to a better configuration?

A command timeout of 100ms is pretty sharp. It sounds as until the JIT kicks in, some bits are so slow that you experience command timeouts. Did you try increasing the timeout to investigate whether that is the cause?

I've tried setting it to 1 sec, and I still see errors.
We use it for caching, if it takes more than 100ms to read a value from the cache, then it's better to read it from the database.
A timeout of 100ms is acceptable, even if not optimal (ideally we would like to go down even to 30-50ms) because at least we hit the database and we can reply in a reasonable amount of time.
The real problem here is that it's possible that one call to the end point triggers multiple GET to redis, and so the timeouts are chained when the application starts and this can cause issues to the caller because instead of 20ms all the calls for the first 30 seconds take a few seconds.
I'have some logs from one instance on our production environment, this is when the requests start hitting the application:
2020-03-31T15:05:15.814Z 61144 [http-nio-8080-exec-141] io.lettuce.core.RedisClient - Trying to get a Redis connection for: RedisURI [host='XXXXX', port=6379]
2020-03-31T15:05:16.632Z 61962 [http-nio-8080-exec-141] io.lettuce.core.EpollProvider - Starting without optional epoll library
2020-03-31T15:05:16.637Z 61967 [http-nio-8080-exec-141] io.lettuce.core.KqueueProvider - Starting without optional kqueue library
2020-03-31T15:05:16.783Z 62113 [http-nio-8080-exec-141] i.l.c.r.DefaultEventLoopGroupProvider - Allocating executor io.netty.channel.nio.NioEventLoopGroup
2020-03-31T15:05:16.783Z 62113 [http-nio-8080-exec-141] i.l.c.r.DefaultEventLoopGroupProvider - Creating executor io.netty.channel.nio.NioEventLoopGroup
2020-03-31T15:05:16.828Z 62158 [http-nio-8080-exec-141] i.l.c.r.DefaultEventLoopGroupProvider - Adding reference to io.netty.channel.nio.NioEventLoopGroup@50d82160, existing ref count 0
2020-03-31T15:05:16.912Z 62242 [http-nio-8080-exec-141] io.lettuce.core.RedisClient - Resolved SocketAddress XXXXX:6379 using RedisURI [host='XXXXX', port=6379]
2020-03-31T15:05:16.914Z 62244 [http-nio-8080-exec-141] io.lettuce.core.RedisClient - Connecting to Redis at XXXXX:6379
2020-03-31T15:05:17.425Z 62755 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x33826780, [id: 0x013bdafc] (inactive), chid=0x1] channelRegistered()
2020-03-31T15:05:17.442Z 62772 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x33826780, /<IP_ADDRESS>:46942 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] channelActive()
2020-03-31T15:05:17.444Z 62774 [lettuce-nioEventLoop-4-1] i.l.core.protocol.DefaultEndpoint - [channel=0x33826780, /<IP_ADDRESS>:46942 -> XXXXX/<IP_ADDRESS>:6379, epid=0x1] activateEndpointAndExecuteBufferedCommands 0 command(s) buffered
2020-03-31T15:05:17.445Z 62775 [lettuce-nioEventLoop-4-1] i.l.core.protocol.DefaultEndpoint - [channel=0x33826780, /<IP_ADDRESS>:46942 -> XXXXX/<IP_ADDRESS>:6379, epid=0x1] activating endpoint
2020-03-31T15:05:17.445Z 62775 [lettuce-nioEventLoop-4-1] i.l.core.protocol.DefaultEndpoint - [channel=0x33826780, /<IP_ADDRESS>:46942 -> XXXXX/<IP_ADDRESS>:6379, epid=0x1] flushCommands()
2020-03-31T15:05:17.445Z 62775 [lettuce-nioEventLoop-4-1] i.l.core.protocol.DefaultEndpoint - [channel=0x33826780, /<IP_ADDRESS>:46942 -> XXXXX/<IP_ADDRESS>:6379, epid=0x1] flushCommands() Flushing 0 commands
2020-03-31T15:05:17.446Z 62776 [lettuce-nioEventLoop-4-1] i.l.c.protocol.ConnectionWatchdog - [channel=0x33826780, /<IP_ADDRESS>:46942 -> XXXXX/<IP_ADDRESS>:6379, last known addr=XXXXX/<IP_ADDRESS>:6379] channelActive()
2020-03-31T15:05:17.446Z 62776 [lettuce-nioEventLoop-4-1] i.l.c.protocol.ConnectionWatchdog - [channel=0x33826780, /<IP_ADDRESS>:46942 -> XXXXX/<IP_ADDRESS>:6379, last known addr=XXXXX/<IP_ADDRESS>:6379] channelActive()
2020-03-31T15:05:17.450Z 62780 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x33826780, /<IP_ADDRESS>:46942 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] channelActive() done
2020-03-31T15:05:17.451Z 62781 [lettuce-nioEventLoop-4-1] io.lettuce.core.RedisClient - Connecting to Redis at XXXXX:6379: Success

1.5 sec to have a connection during the startup. That seems a lot. Please note it's a production application with a production setup: it runs on Google Kubernetes Engine with MemoryStore in the same region and it's plenty of resources. It's not a new app, it's been running for a few years, even if only recently we've started (in this specific app) to use redis more than before (doubling the traffic to redis), the general setup is battle tested.
This log is from when the timeout is 100ms, we have similar values (of course) when we set the timeout to be 1sec.
After the "Success", then A LOT of commands are executed.
Running the same code locally, it takes about 800ms to establish a connection (if that is what the logs mean). Redis was running on docker in my test.
I also do not see any other RedisClient log in the production application logs, I've kept it running for 5 minutes in debug mode - does that mean that it is only one connection?

The first connection is tied to a lot of initialization code so 600 to 1000ms for the first connection are pretty normal. The creation of the event loop and timer (threads) alone takes around 300 ms. Classloading, buffer pool initialization, and native transport detection take another 600 ms.

Once Lettuce is initialized, subsequent connection creation takes only 3-4ms.

Ok, so those times are normal. I've managed to have more than one connection, and yes it takes a few millis to open a new one after the startup.
So, do you think there is something wrong in our setup? Or is it expected that if we set 1sec we are failing almost all of the command (I remember: GET and SET) during the first 30 sec) under a lot of load?
Maybe there is some sort of queue? They are queued and executed after that the connection is open
(e.g. after 1 sec) and some of them run into the timeout?
I can provide some more logs - they're not well organized as the app receives a lot of traffic and it's hard to understand what is going on, but in general this is the pattern:
After the connection being established, I see
D 2020-03-31T17:35:48.161Z 59974 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] write(ctx, AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command], promise)
D 2020-03-31T17:35:48.162Z 59975 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandEncoder - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379] writing command AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command]
D 2020-03-31T17:35:48.162Z 59975 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] write(ctx, AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command], promise)
D 2020-03-31T17:35:48.163Z 59976 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandEncoder - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379] writing command AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command]
D 2020-03-31T17:35:48.163Z 59976 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] write(ctx, AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command], promise)
D 2020-03-31T17:35:48.163Z 59976 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandEncoder - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379] writing command AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command]
D 2020-03-31T17:35:48.163Z 59976 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] write(ctx, AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command], promise)
D 2020-03-31T17:35:48.164Z 59977 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandEncoder - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379] writing command AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command]
D 2020-03-31T17:35:48.164Z 59977 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] write(ctx, AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command], promise)
D 2020-03-31T17:35:48.168Z 59981 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandEncoder - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379] writing command AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command]
D 2020-03-31T17:35:48.172Z 59985 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] write(ctx, AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command], promise)
D 2020-03-31T17:35:48.176Z 59989 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandEncoder - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379] writing command AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command]
D 2020-03-31T17:35:48.177Z 59990 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] write(ctx, AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command], promise)
D 2020-03-31T17:35:48.177Z 59990 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandEncoder - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379] writing command AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command]
D 2020-03-31T17:35:48.178Z 59991 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Received: 1024 bytes, 64 commands in the stack
D 2020-03-31T17:35:48.178Z 59991 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Stack contains: 64 commands
D 2020-03-31T17:35:48.178Z 59991 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decode LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand]
D 2020-03-31T17:35:48.179Z 59992 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decoded LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand], empty stack: false
D 2020-03-31T17:35:48.179Z 59992 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Received: 16384 bytes, 64 commands in the stack
D 2020-03-31T17:35:48.180Z 59993 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Stack contains: 64 commands
D 2020-03-31T17:35:48.181Z 59994 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decode LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand]
D 2020-03-31T17:35:48.181Z 59994 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decoded LatencyMeteredCommand [type=GET, output=ValueOutput [output=[B@27588e8a, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand], empty stack: true
D 2020-03-31T17:35:48.182Z 59995 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Stack contains: 63 commands
D 2020-03-31T17:35:48.183Z 59996 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decode LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand]
D 2020-03-31T17:35:48.184Z 59997 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decoded LatencyMeteredCommand [type=GET, output=ValueOutput [output=[B@fa034a9, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand], empty stack: true
D 2020-03-31T17:35:48.184Z 59997 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Stack contains: 62 commands
D 2020-03-31T17:35:48.184Z 59997 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decode LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand]
D 2020-03-31T17:35:48.184Z 59997 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decoded LatencyMeteredCommand [type=GET, output=ValueOutput [output=[B@7af1f10a, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand], empty stack: true
D 2020-03-31T17:35:48.188Z 60001 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Stack contains: 61 commands
D 2020-03-31T17:35:48.189Z 60002 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decode LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand]
D 2020-03-31T17:35:48.189Z 60002 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decoded LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand], empty stack: false
D 2020-03-31T17:35:48.190Z 60003 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Received: 65536 bytes, 61 commands in the stack
D 2020-03-31T17:35:48.191Z 60004 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Stack contains: 61 commands
D 2020-03-31T17:35:48.191Z 60004 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decode LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand]
D 2020-03-31T17:35:48.192Z 60005 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decoded LatencyMeteredCommand [type=GET, output=ValueOutput [output=[B@3f0eab0, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand], empty stack: true
D 2020-03-31T17:35:48.192Z 60005 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Stack contains: 60 commands
D 2020-03-31T17:35:48.193Z 60006 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decode LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand]
D 2020-03-31T17:35:48.193Z 60006 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decoded LatencyMeteredCommand [type=GET, output=ValueOutput [output=[B@60bf089a, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand], empty stack: true
D 2020-03-31T17:35:48.194Z 60007 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Stack contains: 59 commands
D 2020-03-31T17:35:48.194Z 60007 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decode LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand]
D 2020-03-31T17:35:48.194Z 60007 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decoded LatencyMeteredCommand [type=GET, output=ValueOutput [output=[B@6e346d58, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand], empty stack: true
D 2020-03-31T17:35:48.195Z 60008 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Stack contains: 58 commands
D 2020-03-31T17:35:48.195Z 60008 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decode LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand]
D 2020-03-31T17:35:48.195Z 60008 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decoded LatencyMeteredCommand [type=GET, output=ValueOutput [output=[B@1b38b835, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand], empty stack: true
D 2020-03-31T17:35:48.196Z 60009 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Stack contains: 57 commands
D 2020-03-31T17:35:48.196Z 60009 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decode LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand]
D 2020-03-31T17:35:48.197Z 60010 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decoded LatencyMeteredCommand [type=GET, output=ValueOutput [output=[B@1f997488, error='null'], commandType=io.lettuce.core.protocol.AsyncCommand], empty stack: true
D 2020-03-31T17:35:48.197Z 60010 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Stack contains: 56 commands

hundreds of lines like those, in less than one second, this is just a very small part.
Then after about 1 second I start to see the redis error handler handling the RedisCommandTimeoutException:

D 2020-03-31T17:35:48.618Z 60431 [http-nio-8080-exec-26] io.lettuce.core.RedisChannelHandler - dispatching command AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command]
D 2020-03-31T17:35:48.619Z 60432 [http-nio-8080-exec-26] i.l.core.protocol.DefaultEndpoint - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, epid=0x1] write() writeAndFlush command AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command]
W 2020-03-31T17:35:48.640Z 60453 [http-nio-8080-exec-81] c.f.c.cache.RedisCacheErrorHandler - exception on get cache [accessTokenService] key [token:YYYY], fallback to noop: org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 second(s)
D 2020-03-31T17:35:48.641Z 60454 [http-nio-8080-exec-26] i.l.core.protocol.DefaultEndpoint - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, epid=0x1] write() done
W 2020-03-31T17:35:48.641Z 60454 [http-nio-8080-exec-197] c.f.c.cache.RedisCacheErrorHandler - exception on get cache [accessTokenService] key [token:YYYY], fallback to noop: org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 second(s)
D 2020-03-31T17:35:48.642Z 60455 [http-nio-8080-exec-126] io.lettuce.core.RedisChannelHandler - dispatching command AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command]
D 2020-03-31T17:35:48.642Z 60455 [http-nio-8080-exec-126] i.l.core.protocol.DefaultEndpoint - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, epid=0x1] write() writeAndFlush command AsyncCommand [type=GET, output=ValueOutput [output=null, error='null'], commandType=io.lettuce.core.protocol.Command]
W 2020-03-31T17:35:48.647Z 60460 [http-nio-8080-exec-40] c.f.c.cache.RedisCacheErrorHandler - exception on get cache [accessTokenService] key [token:YYYY], fallback to noop: org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 second(s)
W 2020-03-31T17:35:48.648Z 60461 [http-nio-8080-exec-112] c.f.c.cache.RedisCacheErrorHandler - exception on get cache [accessTokenService] key [token:YYYY], fallback to noop: org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 second(s)
D 2020-03-31T17:35:48.648Z 60461 [lettuce-nioEventLoop-4-1] i.l.core.protocol.CommandHandler - [channel=0x791ced3b, /<IP_ADDRESS>:32898 -> XXXXX/<IP_ADDRESS>:6379, chid=0x1] Stack contains: 26 commands
D 2020-03-31T17:35:48.648Z 60461 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decode LatencyMeteredCommand [type=GET, output=ValueOutput [output=null, error='Command timed out after 1 second(s)'], commandType=io.lettuce.core.protocol.AsyncCommand]
W 2020-03-31T17:35:48.648Z 60461 [http-nio-8080-exec-55] c.f.c.cache.RedisCacheErrorHandler - exception on get cache [accessTokenService] key [token:YYYY], fallback to noop: org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 second(s)
D 2020-03-31T17:35:48.649Z 60462 [lettuce-nioEventLoop-4-1] i.l.core.protocol.RedisStateMachine - Decoded LatencyMeteredCommand [type=GET, output=ValueOutput [output=[B@4298933, error='Command timed out after 1 second(s)'], commandType=io.lettuce.core.protocol.AsyncCommand], empty stack: true

and it's like that for the next 20 to 30 seconds (exception from Spring Error Handler and Lettuce logs), after that the timeout exceptions completely disappear and it's just Lettuce debug log.

To me, it seems like a temporary overload. The log above shows that roughly 8 commands get processed within 20ms. So I think what you see is the effect of warming the application. Until all JIT compilation is done (collecting profiling data, identifying hot code paths, compilation), the required throughput cannot be met.
I recommend issuing a few hundred Redis requests during startup until your app is able to handle the required load. Ideally, run your application with jitwatch to measure how long it typically takes until your app is ready after starting the JVM.

We have already tried doing that, issuing some ping commands just after the startup, but it didn't see it helped. It wasn't a few hundreds, it was much less than that.
We initially thought the reason was it was using always the same connection, without opening new ones, but maybe the reason was that the number of requests was not enough?
Please consider that the application starts currently in about 20 seconds, but it does not receive traffic immediately, it starts receiving traffic about 50 seconds later.
Do you have any other suggestion on how to prewam the redis connections?

Without additional data, it's hard to say anything. Therefore I recommend jitwatch to observe what happens on the JIT before we can proceed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.

We are also facing a similar issue, for 20-25 sec lettuce taking time to initialize and due to this circuit breaker is opening, We are thinking before bringing service into Load Balancer will bombard request for 30sec.
Do you have any better solution for this? Please suggest.

I am also having the same issue mentioned by @emas80 .

For us creating the connection upfront helped but didn't fix all the problems. We increased the timeout from 500ms to 1000 and limited the tomcat threads to 140 (was 200) and the startup issue is gone.
 public static class LettuceConnectionFactoryCustomizer implements BeanPostProcessor {

        @Nullable
        @Override
        public Object postProcessBeforeInitialization(@NonNull Object bean, @NonNull String beanName) throws BeansException {
            if (bean instanceof LettuceConnectionFactory factory) {
                factory.setEagerInitialization(true);
            }
            return bean;
        }

    }


Category addition on newroom pages and also in feed block

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after), along with a short summary of changes:
Issue
Fixes #361
Changelog:
Please enter each change as a new bullet point
Test URLs:

Original: https://www.sunstar.com/newsroom/news/20150430
Before: https://main--sunstar--hlxsites.hlx.live/_drafts/piyush/20150430
After: https://category-changes--sunstar--hlxsites.hlx.live/_drafts/piyush/20150430

Library

[ ] New Blocks introduced in this PR
If yes, please provide details below
Block Name : For e.g. cards

[ ] Documented in sidekick library

[ ] New variations introduced in this PR
Variation Name :  For e.g. cards (grid)

[ ] Documented in sidekick library

[ ] New mixins introduced in this PR
Mixin Name :  For e.g. compact, white

[ ] Documented in sidekick library

Test failures can be ignored as of now.


CoreWebView2 is null and doesn't load content in WPF window

Installed nuget package

<wv2:WebView2 Name="webView"
Source="https://www.microsoft.com" />
Any workaround for this?

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

ID: ba9dc9d2-795c-9612-3585-408b4621c080
Version Independent ID: f73fc16d-d842-4507-9fdb-b42856720355
Content: Microsoft Edge WebView 2 for WPF apps - Microsoft Edge Development
Content Source: microsoft-edge/webview2/gettingstarted/wpf.md
Product: microsoft-edge
Technology: webview
GitHub Login: @MSEdgeTeam
Microsoft Alias: msedgedevrel

I am facing similar issues - BTW first, the documented sample code has an extra closing tag in there that had to be remove.   After removing the extra closing tag, solution builds, window pops up on debug but website not loading.

I'm having the same issue. CoreWebView2 is null when trying to navigate to any URL. Hardcoded Source doesn't load either.

could it be already captured in this bug?
https://github.com/MicrosoftEdge/WebViewFeedback/issues/179

What is the fix for this? Are the hints from here work for you guys?MicrosoftEdge/WebViewFeedback#179

@dk511 Haven't tried yet. This is more a workaround than anything. So I will be waiting for a stable release as I have a bit of time for now.

I was able to get the Getting Started app to work after installing the Canary version of edge -
which can be found here - https://www.microsoftedgeinsider.com/en-us/download

Looks like the issue was resolved. I'll go ahead and close out this issue now. Thanks.

@dk511 is this fixed for you? I created a new VSIX project in VS 2017, unchecked "Sign the assembly" in the project (https://github.com/MicrosoftEdge/WebViewFeedback/issues/181), added a tool window, and included the WebView2 as per https://docs.microsoft.com/en-us/microsoft-edge/webview2/gettingstarted/wpf, but just see a gray box in the tool window.
Calling methods like Reload() on the WebView2 results in an exception:
'Attempted to use WebView2 functionality which requires its CoreWebView2 prior to the CoreWebView2 being initialized.  Call EnsureCoreWebView2Async or set the Source property first.'

Doesn't look like this is resolved https://github.com/MicrosoftEdge/WebViewFeedback/issues/195#issuecomment-645066820


Bar - Line graph - Need help.

I am trying to create Bar - line graph using 2 different Data set for same period, but I am getting different Y axis values. Is it possible to create such graph? If yes, then How to create such Bar - line Graph?

Hi @blacknlight ,
The library doesn't support any kind of mixed-graph output - only what is shown in the examples/pptxgenjs-demo.html demo.

Thanks for the help.
But I tried giving same X and Y co-ordinates to bar and line graph, so now I am getting mixed graph. And it  was working partially. Y-axis series was broken by different interval. But then after playing with it for some time, I changed "c:gapWidth" value in PPTxGen.js file and set it manually to a fixed value and voila.. I got what I wanted.

@blacknlight ,
That's an awesome way to create a mixed graph - overlay them. :-)
Sorry to hear you had to edit the code though - using the barGapWidthPct chart option wouldn't work?

@gitbrent
barGapWidthPct is used to define the width of the bars in bar graph. What I wanted was to split the series on Y axis in similar manner. e.g. I was applying two different data sets for Bar and line graph. So Bar graph was starting lets say at 500 and Y axis values were like 500, 600, 700 and For line graph it was starting at 500 that was correct but Y axis series for Line graph was like 500, 750, 1000. So to adjust the same Y axis series, I had to use "c:gapWidth" property.


, dataloader.s_out is (1,1). And net.inp shape is (1,) . Getting "Shapes are incompatible" error. I have only 1 neuron at the input layer. And 1D time series data of dim (1x187)

from lava.proc import io
Instantiate the processes
dataloader = io.dataloader.SpikeDataloader(dataset=testing_set)
output_logger = io.sink.RingBuffer(shape=net.out_layer.shape, buffer=num_steps)
gt_logger = io.sink.RingBuffer(shape=(1,), buffer=num_steps)
Connect the input to the network:
dataloader.ground_truth.connect(gt_logger.a_in)
print(dataloader.ground_truth.shape)
print(gt_logger.a_in.shape)
print(dataloader.s_out.shape)
print(net.inp.shape)
dataloader.s_out.connect(net.inp)
Connect network-output to the output process
net.out_layer.out.connect(output_logger.a_in)
torch.Size([1])
(1,)
(1, 1)
(1,)
AssertionError                            Traceback (most recent call last)
Input In [26], in <cell line: 16>()
12 print(dataloader.s_out.shape)
13 print(net.inp.shape)
---> 16 dataloader.s_out.connect(net.inp)
18 # Connect network-output to the output process
19 net.out_layer.out.connect(output_logger.a_in)
File ~/ajay_venv/src/lava-nc/src/lava/magma/core/process/ports/ports.py:439, in OutPort.connect(self, ports)
428 def connect(
429         self, ports: ty.Union["AbstractIOPort", ty.List["AbstractIOPort"]]
430 ):
431     """Connects this OutPort to other InPort(s) of another process
432     or to OutPort(s) of its parent process.
433
(...)
437         The AbstractIOPort(s) to connect to.
438     """
--> 439     self._connect_forward(to_list(ports), AbstractIOPort)
File ~/ajay_venv/src/lava-nc/src/lava/magma/core/process/ports/ports.py:128, in AbstractPort._connect_forward(self, ports, port_type, assert_same_shape, assert_same_type)
117 def _connect_forward(
118         self,
119         ports: ty.List["AbstractPort"],
(...)
122         assert_same_type: bool = True,
123 ):
124     """Creates a forward connection from this AbstractPort to other
125     ports by adding other ports to this AbstractPort's out_connection and
126     by adding this AbstractIOPort to other port's in_connections."""
--> 128     self._validate_ports(
129         ports, port_type, assert_same_shape, assert_same_type
130     )
131     # Add other ports to this port's output connections
132     self._add_outputs(ports)
File ~/ajay_venv/src/lava-nc/src/lava/magma/core/process/ports/ports.py:99, in AbstractPort._validate_ports(self, ports, port_type, assert_same_shape, assert_same_type)
97 if assert_same_shape:
98     if self.shape != p.shape:
---> 99         raise AssertionError("Shapes {} and {} "
100                              "are incompatible."
101                              .format(self.shape, p.shape))
AssertionError: Shapes (1, 1) and (1,) are incompatible.

Moved to lava issue #544


fullscreen

Hi,
I think it would be reasonable to have full screen windows, without borders, when the user choses 'fullscreen' and hides the status bar. In this sense, would you consider adding the line below to show_border()?
	if (isarrange(fullscreen) && bar.pos == BAR_OFF) return 0;

I think that this is already done.  When I start dvtm there is no border and no status bar.

Not if you have another window with a different tag.

Not if you have another window with a different tag.

I see.  Thank you.


etcd db dir getting created after upgrade (  for a cluster configured as external data store )

Environmental Info:
K3s Version:

Any

Node(s) CPU architecture, OS, and Version:

tested on ubuntu and sles15

Cluster Configuration:

1 server
local datastore_type=external
datastore_endpoint={datastoreendpoint}

Describe the bug:

Creating a cluster there is not a etcd/db dir as expected

cat: can't open '/var/lib/rancher/k3s/server/db/etcd/config': No such file or directory

But after upgrading is there:
 -sudo -i cat /var/lib/rancher/k3s/server/db/etcd/config
advertise-client-urls: https://<IP_ADDRESS>:2379
client-transport-security:
  cert-file: /var/lib/rancher/k3s/server/tls/etcd/server-client.crt
  client-cert-auth: true
  key-file: /var/lib/rancher/k3s/server/tls/etcd/server-client.key
  trusted-ca-file: /var/lib/rancher/k3s/server/tls/etcd/server-ca.crt
data-dir: /var/lib/rancher/k3s/server/db/etcd
election-timeout: 5000
experimental-initial-corrupt-check: true
heartbeat-interval: 500
listen-client-urls: https://<IP_ADDRESS>:2379,https://<IP_ADDRESS>:2379
listen-metrics-urls: http://<IP_ADDRESS>:2381
listen-peer-urls: https://<IP_ADDRESS>:2380,https://<IP_ADDRESS>:2380
log-outputs:
- stderr
logger: zap
name: ip-172-31-8-123-bf38ff4c
peer-transport-security:
  cert-file: /var/lib/rancher/k3s/server/tls/etcd/peer-server-client.crt
  client-cert-auth: true
  key-file: /var/lib/rancher/k3s/server/tls/etcd/peer-server-client.key
  trusted-ca-file: /var/lib/rancher/k3s/server/tls/etcd/peer-ca.c

Steps To Reproduce:

Installed K3s with config pointing to external datastore endpoint
sh -s - server --datastore-endpoint={datastoreendpoint}

Expected behavior:

should not have etcd/db dir after upgrade
Actual behavior:

it does have the etcd.db dir
Additional context / logs:

The only way k3s will initialize an etcd cluster is if you set the --cluster-init option in the config or CLI flags, or point it at an existing etcd node via the --server option.
Please be sure that you don't have any environment variables, config files, or other such things present that would influence K3s beyond what you're passing to the install script.


Feature request: port v2 features into master

Thanks for this wonderful library. But we would like to request that you port v2 features into master branch. For our use-case we need to be able to remove cron functions. This feature is available in v2 branch. But v2 branch has a critical bug which causes multiple invocation: https://github.com/robfig/cron/issues/106
I also noticed that there are various changes in master branch that are not available in v2. It seems that master branch is the maintained branch. It will be greatly appreciated if you would add support for deleting cron schedules on the master branch.
cc: @sadlil @aerokite

#110 has a workaround that won't require changes to how Jobs are stored in memory. See if that fits your use-case.

This is implemented in v2 and v3, so I think this use case is handled. Please give v3 a shot!


Question about training dataset

Hello,
thank you for sharing your research.
My question is, just like the CAPE dataset could be used for training, is it possible to create a mesh sequence-based Dynamic FAUST dataset as a training dataset?

Yes, I think FAUST can be used for training but it has to be processed into point clouds.


New Version: PowerShell version <IP_ADDRESS> (7.3.0-rc1)

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

will use the yaml create script and update this PR


Not thread safe

I'm getting occasional not reproducable errors (with the same markdown source) when running on Appengine:
Traceback (most recent call last):
[...]
  File "/base/data/home/apps/.../deps/markdown/__init__.py", line 375, in convert
    newRoot = treeprocessor.run(root)
  File "/base/data/home/apps/.../deps/markdown/treeprocessors.py", line 330, in run
    self.ancestors.pop()
IndexError: pop from empty list

I'm having threading enabled (GAE default), and TreeProcessor has a global ancestors stack. So presumably this crashes because simultaneous threads run the markdown processor. I can't find anything in the docs whether python-markdown is supposed to be thread safe, so thats either a documentation request or a bug ;-)

Are running multiple threads on a single instance of the Markdown class?  Or a separate instance in a separate thread?  It is kind of unclear on what exactly you are doing.
With that said, there has been no effort to guarantee thread safety, especially when you consider that you can pull in any custom extension which may or may not also be thread safe.
Personally, I would not rely on Python Markdown being thread safe.

We have never put any work into testing or verifying if Python-Markdown is thread safe. Personally I have no idea if it is or not.
Curious, how are you calling Markdown? Do you call the markdown.markdown wrapper which creates a new class instance on each call, or are you creating a single class instance and then calling convert for each request? I would expect the former to be more thread safe than the later.

Indeed, I have a Markdown singleton (with some custom extensions) that all threads access.
So to summarize:

A Markdown instance has internal parse state and is not thread-safe
Thread-local Markdown instances (e.g. instantiating it in the thread) is thread-safe

So to summarize:

A Markdown instance has internal parse state and is not thread-safe
Thread-local Markdown instances (e.g. instantiating it in the thread) is thread-safe

That is correct. I suppose we should document that.


Add Guaranteed samples

Start of PR, getting initial code checked in

Guaranteed publisher, both blocking and non-blocking examples
Still have issues with v1.0 API, cannot set application message ID

NOTE: leave open, still more files to add here...

Have added Guaranteed Pub (both blocking and non-blocking examples), Processor, and Subscriber pattern samples.
Tested all together, exception handling when queue not found, tested with JCSMP samples interop

Ready for Review!

Resolved all review comments.  Merging to main.


Gradle not finding RxJava2 version

I am using this line exactly as in the ReadMe:
compile "com.polidea.rxandroidble:rxandroidble2:1.5.0"
Gradle says "Failed to resolve" it.
(Parenthetically, I guess we're now supposed to replace compile with api or implementation)

Correct is com.polidea.rxandroidble2:rxandroidble:1.5.0-SNAPSHOT
Keep in mind that rxjava2 is not yet finished and we'll update the README soon, before the release ;)

though I used com.polidea.rxandroidble2:rxandroidble:1.5.0-SNAPSHOT still, I'm getting the same error(failed to resolve).

Check readme for "snapshot"


mongodb increase batchSize to an arbitrary, high number

Should help us identify slow queries, as only the initial fetch-operation contains the necessary information.

please review @njam
cc @kris-lab

Can you explain the reasoning?
Does the batchSize affect the query execution? Or is the query first executed, and the data then just buffered?

The problem we face, is that getmore operations don't show enough information to determine what query they belong to.

ok I see, you want to get rid of "getmore" to be able to debug further?

Make this configurable? This way we won't need to do a change in CM to change this.

please review @njam

Add a test? (using MongoCommandCursor::info())

please review @njam

lgtm!

tagged https://github.com/cargomedia/CM/releases/tag/1.97.2


Preview not updating / Map not working on scroll

I don't know if this is an issue with my browser storing history or something, but the map preview does not seem to update with the new content (new chapters I have added) and nor does it change  (zoom in and out or move around) when I move between the chapters.
When I first opened it this morning it was doing the zoom and move - but this has now stopped.
This makes it very hard to work on the maps as I can not preview each chapter's map and check the draft is OK. See zipped video below (this also shows the layer problem from issue #12)
bug in CMS scrolling1.mov.zip

There is an error in the console, which shouldn't be happening -- also, though, there might be some inconsistency between the underlying mapbox style and what the CMS is expecting.

Thanks for investigating @okdistribute . @okdistribute @gmaclennan the console error - is that something I fix? and how do we check about the possible inconsistency issue?

This seems to be fixed now with latest updates, but please feel free to re-open if you continue seeing this issue!


[IA changes: api/examples]: Update links

This PR:

Updates a few links to the docs on Shopify.dev
Relates to https://github.com/Shopify/shopify-dev/pull/26563 and https://github.com/Shopify/shopify/pull/379643
Partially fixes https://github.com/Shopify/shopify-dev/issues/26264

/shipit


For Loop Errors

Twig seems to throw errors when trying to run WebP conversions inside for loops.
Plugin is working fine on a single image with below
{% for asset in item.image %}

{%  endfor %}

However, if I try and execute on a gallery asset loop, I get a 'type Error' (per attached file below).
Code producing the errors is:
{% for asset in item.photoGallery.all() %}

{%  endfor %}

Have also tried:
{% for asset in item.photoGallery.all() %}

{%  endfor %}

Without the WebP plugin I would usually output these Lightbox gallery images with the following:
{% for asset in item.photoGallery.all() %}

{%  endfor %}
```

Hi there,
It looks like you are passing a url / string (.getUrl()) to the WebP function rather than the actual image asset, the WebP function will return the transform url for the link:
Instead of:

should be:

Thanks for your help. Problem solved per you correction above.


[bug]: Input should be 'txt2img', 'img2img', 'inpaint' or 'outpaint'

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Linux
GPU
cuda
VRAM
No response
What version did you experience this issue on?
latest main
What happened?
This error pops up trying to generate any images using sdxl:
Input should be 'txt2img', 'img2img', 'inpaint' or 'outpaint'
Path: body.batch.graph.nodes.core_metadata.core_metadata.generation_mode

The network request appears to be using sdxl_txt2img.
Screenshots
No response
Additional context
No response
Contact Details
No response

Try rebuilding the front end:
cd invokeai/frontend/web
yarn build

Then starting the server


chore(master): release 1.1.0

:robot: I have created a release beep boop
1.1.0 (2022-08-02)
Features

clip: temp remove clip (9e64e7d)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/gofromzero/imgtools/releases/tag/v1.1.0 :sunflower:


Fix timedelta not found bug

datetime can be a package or object. We need to avoid using datetime when use timedelta objet.
Otherwise, I got the following error
# python3 -m joshua.joshua list --stop
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/opt/rh/rh-python38/root/usr/lib64/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/opt/rh/rh-python38/root/usr/lib64/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/root/src/fdb-joshua/joshua/joshua.py", line 53, in list_active_ensembles
    ensemble_list = get_active_ensembles(stopped, sanity, username)
  File "/root/src/fdb-joshua/joshua/joshua.py", line 49, in get_active_ensembles
    return joshua_model.get_active_ensembles(stopped, sanity, username)
  File "/root/src/fdb-joshua/joshua/joshua_model.py", line 463, in get_active_ensembles
    datetime.timedelta(
AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'

It's verified on okteto with @jzhou77


[Fix] Some Task block bugs

Description
This PR fixes some button Task block related bugs:

Create load report: Prevented "Run" presses when there is a create load report task already running.
Edit feature attachments: Prevented fetch attachment data button presses when it has already been fetched successfully.
Find closest facility from point: Prevented "Solve Routes" presses when there is a solve routes task already running.
Run valve isolation trace: Prevented "Reset" presses when there is a trace task running as it can lead inconsistent state.
Show service area: Prevented "Service Area" presses when there is a solve service area task already running.

Linked Issue(s)
Related to: #316
How To Test

Press the buttons listed above repeatedly to verify that they no longer cause unexpected results.
Ensure the samples still work as expected.

Thank you!


Support for 1D SWU

Thanks for the PR @mmrahorovic , couple of comments on this one:

I'm guessing this PR should be merged after https://github.com/Xilinx/finn-hlslib/pull/68 ?
Since the hlslib PR is targeting Vitis HLS, the target branch for this PR should be feature/vitis_hls_2021.2
ConvolutionInputGenerator_1D_dilated_dws seems to be missing from the hlslib-side PR - I could only see ConvolutionInputGenerator_NonSquare_Dilated in slidingwindow.h

Would be great if we can also update the resource estimates, though this can be left for further study and a future PR.


DatabaseName is not required (DBName is)

I'm pretty sure I want all of my databases to be owned by specific pgSQL users.  I assume this database would be owned by the root user instead.  It's not clear (to me anyway) that this would be a best practice (to justify making it required).

Just to get you right, your request is to make the DBName optional, right? I'm fine with that.

Yes thanks.  Will PR shortly.

I may be wrong on this.  I was under the impression that it was required from this line...

DatabaseName: !If [HasDBSnapshotIdentifier, !Ref 'AWS::NoValue', !Ref DBName]

However DBName has the empty string as a default and that gets passed to the DBCluster.  I assume no table is created when the empty string is passed (instead of AWS::NoValue).


Suggestion to provide hex encoding/decoding of hash checksums.

It would be great to be able to safely encode/decode hash checksums within EOS smart contracts.
Here's a reference implementation for decoding a hex string into checksum256:
checksum256 decode_checksum(string hex)
{
    checksum256 buffer;

    int index = 0;
    while (index < hex.length()) {
        char c = hex[index];

        int value = 0;
        if (c >= '0' && c <= '9')
            value = (c - '0');
        else if (c >= 'A' && c <= 'F')
            value = (10 + (c - 'A'));
        else if (c >= 'a' && c <= 'f')
            value = (10 + (c - 'a'));

        buffer.hash[(index / 2)] += value << (((index + 1) % 2) * 4);
        index++;
    }

    return buffer;
}

it is not work.
when i use testhash(checksum256 memo), it is work fine.

The idea is great, but fails in some cases, for example:
input:
0D3B623F48B8061E026DD7A0D757A8A18B2A24A474BDB0C21B742EB6EE44C288
output:
0D3B623F48582CBB026DD7A0D757A8A18B2A24A474BDB0C21B742EB6EE44C288
My suggestion already using v1.3:
`
uint8_t from_hex(char c) {
if (c >= '0' && c <= '9') return c - '0';
if (c >= 'a' && c <= 'f') return c - 'a' + 10;
if (c >= 'A' && c <= 'F') return c - 'A' + 10;
eosio_assert(false, "Invalid hex character");
return 0;
}
size_t from_hex(const std::string& hex_str, char* out_data, size_t out_data_len) {
auto i = hex_str.begin();
uint8_t* out_pos = (uint8_t*)out_data;
uint8_t* out_end = out_pos + out_data_len;
while (i != hex_str.end() && out_end != out_pos) {
*out_pos = from_hex((char)(*i)) << 4;
++i;
if (i != hex_str.end()) {
*out_pos |= from_hex((char)(i));
++i;
}
++out_pos;
}
return out_pos - (uint8_t)out_data;
}
capi_checksum256 hex_to_sha256(const std::string& hex_str) {
eosio_assert(hex_str.length() == 64, "invalid sha256");
capi_checksum256 checksum;
from_hex(hex_str, (char*)checksum.hash, sizeof(checksum.hash));
return checksum;
}
`

Very odd that there's no constructor.
Here's my version for v1.6 in which checksum256 is composed of two int128_t
    /* Convert a SHA256 sum (given as a string) to checksum256 object */
    bool hex2bin(const std::string& in, checksum256 &out)
    {
        if (in.size() != 64)
            return false;

        std::string hex{"0123456789abcdef"};
        for (int i = 0; i < 32; i++) {
            auto d1 = hex.find(in[2*i]);
            auto d2 = hex.find(in[2*i+1]);
            if (d1 == std::string::npos || d2 == std::string::npos)
                return false;

            // checksum256 is composed of little endian int128_t
            reinterpret_cast<char *>(out.data())[i/16*16 + 15-(i%16)] = (d1 << 4)  + d2;
        }
        return true;
    }

@godmar For combining a checksum256 field with a uint64_t field as a composite index I need a function that adds (+) both numbers together like this:
checksum256 addIntToChecksum(checksum256 sum, uint64_t  n) {
    checksum256 newSum;
    // add sum + n  --> newSum
    return newSum;
}

Unfortunately my c++ knowledges are not sufficient. Could you provide me with the appropriate code? Should I open up a new issue for this or post it at stackexchange?

In order to focus our efforts on issues that are currently creating difficulty for the community we are closing tickets that were created prior to the EOSIO 2.0 release.  If you believe this issue is still relevant please feel free to reopen it or create a new one.  Thank you for your continued support of EOSIO!


Siblings = overlapping events

Change the sibbling detection and recognize all overlapping events

Urgh, sorry bout the code, I've been working on it through my node_modules to make sure it works, obviously been using the compiled source. Should be okay now.

Just as a comparison (with 1px white border on bottom):
Before:

After:

It would be supercool if this could be merged soon, its one of the things currently holding me up to give access to testers.

I agree that the "after" screenshot you posted looks better, but this PR is gonna affect more complex layouts quite a lot. See e.g. the stories I created when implementing this:
Set 0
Before:

After:

Set 1
Before:

After:

I'd prefer if we could keep those layouts as is (since you can fit much more), but adjust for the situation where the end and start is the same (so that we get your after layout). Something like this should do just that:
let isSibling = (idx1, idx2, { events, startAccessor, endAccessor, min, totalMin }) => {
  let event1 = events[idx1]
  let event2 = events[idx2]

  if (!event1 || !event2) return false

  let start1 = getSlot(event1, startAccessor, min, totalMin)
  let start2 = getSlot(event2, startAccessor, min, totalMin)
  let end1 = getSlot(event1, endAccessor, min, totalMin)

  return (Math.abs(start1 - start2) < 60 && start2 < end1)
}

That 60 number is still quite arbitrary, but will be fixed with https://github.com/intljusticemission/react-big-calendar/pull/340/commits/ef0017975f53e03c79937fed2ed854a95cdea9f8.

Ha I missed all that when I looked. Thanks for double checking :)

Hey @tobiasandersen, your code works fine for my requirements, so I updated my PR. The vars shouldn't be an issue anymore.

@bkniffler I tried your PR (utils/dayViewLayout.js) modifications, works fine for me.
Can confirm that fixed the issue #378 for me.
I have an other behavior that is unexpected with event overlaping, I post it here because I think it's related with this PR. Here the save events.
GoogleCalendar/Fullcalendar

React Big Calendar

As I say in the image, Blue event should be bellow the red one, and stop at the same position that the yellow one.
My question is:
Is that plan to have the exact same behavior as GoogleCalendar/Fullcalendar ?
If yes, Is that related to this PR ?
If not, should I open a new issue ?
Thx

It seems like big calendar tries to follow google calendar in terms of look&feel, which is good since the google devs surely put lots of research into their calendar. I bet the maintainers here would be willing to accept a PR on this matter.
There is 2 things that could to be addressed somewhere around here to imitate gcal:

z-index of sibling events needs to be raised (through inline styles or via an additional class rdc-sibling-event) or rendering of these events needs to happen after non-sibling ones.
only the left offset should vary with siblingIdx rising, while still trying to fill the whole width. Currently the algorithm will make the yellow 70% width/0 offset. It could be better to follow google calendar and make the yellow 100% width/0 offset, the red 70% width/30% offset.

Give it a shot, shouldn't be too hard!

Ok thx ! I'll do that
I open a new issue #404  to ge the tracker clean.


Rill with redux usage example

Does rill play well with the react-redux wrapper? If so, is there any usage example?

I personally have not used Rill with redux. Originally while making Rill (before redux was released) I used my own version of flux similar to http://fluxible.io/ which worked pretty well.
Ultimately I phased this out because I realized that the way flux architectures tend to work (again no experience with redux) is very similar to the way that RPC/REST api's work. Since Rill basically brings both of these things to the browser I was able to emulate much of the usefulness of a flux architecture using plain old http requests (handled with Rill typically in the browser).
For state I use @rill/loader and @rill/session and have built 2 apps and ~15 websites so far. It seems to be working pretty good!
Having said that I would love to see people take Rill and test it with other frameworks/libraries. If you would be interested in trying it out (I don't see any real problems coming up in using Rill this way) I would love to hear about your progress. If you would be interested in making an example app using redux that could be very helpful to the community. Otherwise please feel free to keep me up to date in the gitter with your progress!


Add button each row

Anyone know ho can I add a button for each row? I'm very new to react. thanks

Please ask these sorts of questions on StackOverflow.

sorry, my mistake.


e

Age text box accepts the letter e. No other letters are accepted.
Form wont submit if containing e, and tells you to fix it which is good.

The input box is just a simple <input type="number"> with no self-made validation whatsoever (on the front-end). Web browsers themselves handle validation like not being able to type in words, and being able to type e is just for when someone would want to type a number in scientific notation like 14e81.
I can maybe at one point in time actually do validation on the front-end, but not in the near future


Add varkor to reviewers

(Context: https://internals.rust-lang.org/t/please-welcome-varkor-to-the-compiler-team/7716)

@aidanhs We need to figure out if there's a way to deploy these changes to central station without restarting bors.

@Mark-Simulacrum: is this change not yet live? I still get errors when I try to approve things.

Yes, I think we've yet to deploy it -- I hope to do so soon; @alexcrichton is back now so it should be more streamlined. Sorry for the delay!


Feature/remove diff api

This PR removes the Diff API.
Open Points:

[ ] How do we want to track breaking changes? Is a BREAKING_CHANGES.md or Migration.md enough? The former just describes what we did - the latter one instructs / advises what to do in v2
[ ] Do we want to delete it right away in the docs? (Personal preference: we do an doc overhaul at the end based on the documents described in point 1).

Your thoughts?

This PR removes the Diff API.
Open Points:

[ ]  How do we want to track breaking changes? Is a BREAKING_CHANGES.md or Migration.md enough? The former just describes what we did - the latter one instructs / advises what to do in v2

I think we can make do with a Migration.md on the website that has a section for each breaking change, and how to migrate (if possible). The v2 release notes can then link to the migration page on the website.

[ ]  Do we want to delete it right away in the docs? (Personal preference: we do an doc overhaul at the end based on the documents described in point 1).

I am a big fan of updating the docs as part of each PR that is merged in. Otherwise, we end up with a massive "docs update task" later.
Wrt. the content of this PR, I am sure there are some users that actually like this feature, so while I do not want to keep the diff and snapshot stuff around in the built-in RenderedFragment type, I do think we need to support a way for users to extend that type with their own overrides that enables them to do things like this, i.e. "capture a snapshot of the markup after each render".
That can come as part of a later PR/issue, since that will need design first. But lets create the issue and link it here.

I added the migration guide and deleted the parts in the documentation.
I fiddled around with how we can keep two versions alive on the same page - but that seems rather complicated with docfx. Sooner or later we have to come up with a solution.
In the docs we can also prominently present the migration guide so users know what to do. Still I think and hope the changes are manageable and only this PR has no direct one-to-one replacement.

Now we are going a bit off-topic, but what we might pull off to have the documentation for both versions is having a new repository just for the docs itself and having the latest v1 and v2 as submodules linked.

Create new repository for the docs
Have doc folder for each major version (docs_10, docs_20)
Each doc folder has their own docfx.json
Add the git submodules:

git submodule add -b release/v1 bUnitUrl docs_v10/src
git submodule add -b release/v2 bUnitUrl docs_v20/src

We can generate the docs like this:

docfx docfx_10.json
docfx docfx_20.json

Add version toggle - Here we might have to change somehow the template if this is possible (https://dotnet.github.io/docfx/docs/template.html?tabs=modern)

I do think we need to support a way for users to extend that type with their own overrides that enables them to do things like this...

They can do this now with the OnMarkupUpdated event of the IRenderFragment. Sure it will be less convenient but we could even show an example of how to do that in the migration guide.

I do think we need to support a way for users to extend that type with their own overrides that enables them to do things like this...

They can do this now with the OnMarkupUpdated event of the IRenderFragment. Sure it will be less convenient but we could even show an example of how to do that in the migration guide.
PS: I was also thinking of having a poll where users can submit whether or not they use a certain feature.

The problem is that only some parts of the plumbing are there. I think it should be easier to set up a scenario where a user replace our RenderedFragment with their own derived type.

Now we are going a bit off-topic, but what we might pull off to have the documentation for both versions is having a new repository just for the docs itself and having the latest v1 and v2 as submodules linked.

Create new repository for the docs
Have doc folder for each major version (docs_10, docs_20)
Each doc folder has their own docfx.json
Add the git submodules:

git submodule add -b release/v1 bUnitUrl docs_v10/src
git submodule add -b main bUnitUrl docs_v20/src

We can generate the docs like this:

docfx docfx_10.json
docfx docfx_20.json

Add version toggle - Here we might have to change somehow the template if this is possible (https://dotnet.github.io/docfx/docs/template.html?tabs=modern)

I was thinking about something similar. Basically, generate the docs site twice with different base URLs. That should mean that as long as the page names stay the same, a simple drop-down can toggle between versions by simply replacing the v1/v2 in the url.

I do think we need to support a way for users to extend that type with their own overrides that enables them to do things like this...

They can do this now with the OnMarkupUpdated event of the IRenderFragment. Sure it will be less convenient but we could even show an example of how to do that in the migration guide.
PS: I was also thinking of having a poll where users can submit whether or not they use a certain feature.

The problem is that only some parts of the plumbing are there. I think it should be easier to set up a scenario where a user replace our RenderedFragment with their own derived type.

Yes absolutely - we might even want to showcase that in the docs and reference this in the Migration.md.
This also goes hand in hand with the removal of unnecessary abstraction.


Auto-activate conda environment when using "short" env name.

pyenv install minicondax-xxx
pyenv virtualenv minicondax-xxx env1

pyenv activate env1  # this activates miniconda's root env, not env1

pyenv activate minicondax-xxx/envs/env1  # this successfully activates conda's env1 env.

Is there a way to make the first activate work like the second? There's nothing wrong with the second, but the first is so much smaller and so much prettier (on the prompt and on the versions file) and we're so lazy! :D

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/31855328-auto-activate-conda-environment-when-using-short-env-name?utm_campaign=plugin&utm_content=tracker%2F335155&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F335155&utm_medium=issues&utm_source=github).

@GandaG Weird. It's working for me at least.
% pyenv versions
  system
  2.6.9
  2.7.11
  3.3.6
  3.4.4
* 3.5.1 (set by /home/yyuu/.pyenv/version)
  3.5.1/envs/awscli
  foo
  jython-2.7.1b2
  miniconda3-3.19.0
  miniconda3-3.19.0/envs/foo
  pypy-4.0.1
% pyenv activate foo
pyenv-virtualenv: deactivate
pyenv-virtualenv: activate foo
% pyenv versions
  system
  2.6.9
  2.7.11
  3.3.6
  3.4.4
  3.5.1
  3.5.1/envs/awscli
* foo (set by PYENV_VERSION environment variable)
  jython-2.7.1b2
  miniconda3-3.19.0
  miniconda3-3.19.0/envs/foo
  pypy-4.0.1

The log of what I just did is below. So when using the short name the conda env itself doesn't get activated (unless I'm completely misunderstanding conda, I've started only recently :/). Also when creating the conda env with conda (useful for setting python versions directly, unless there's a way to do that from pyenv) the short name isn't created which would also be useful!
$ pyenv versions
* system (set by /home/vagrant/.pyenv/version)
  3.4.4
  3.4.4/envs/fomod-editor
  fomod-editor
  miniconda3-3.19.0

$ pyenv virtualenv miniconda3-3.19.0 awesome
#the env install bla bla

$ pyenv versions
* system (set by /home/vagrant/.pyenv/version)
  3.4.4
  3.4.4/envs/fomod-editor
  awesome
  fomod-editor
  miniconda3-3.19.0
  miniconda3-3.19.0/envs/awesome

$ pyenv activate awesome
pyenv-virtualenv: deactivate
pyenv-virtualenv: activate awesome

(awesome) $ pyenv versions
  system
  3.4.4
  3.4.4/envs/fomod-editor
* awesome (set by PYENV_VERSION environment variable)
  fomod-editor
  miniconda3-3.19.0
  miniconda3-3.19.0/envs/awesome

(awesome) $ conda env list
# conda environments:
#
awesome                  /home/vagrant/.pyenv/versions/miniconda3-3.19.0/envs/awesome
root                  *  /home/vagrant/.pyenv/versions/miniconda3-3.19.0

(awesome) $ pyenv deactivate
pyenv-virtualenv: deactivate miniconda3-3.19.0/envs/awesome

# it didn't let me activate this one right away, it said it was already activated.
$ pyenv activate miniconda3-3.19.0/envs/awesome
pyenv-virtualenv: deactivate
pyenv-virtualenv: activate miniconda3-3.19.0/envs/awesome

(miniconda3-3.19.0/envs/awesome) $ conda env list
# conda environments:
#
awesome               *  /home/vagrant/.pyenv/versions/miniconda3-3.19.0/envs/awesome
root                     /home/vagrant/.pyenv/versions/miniconda3-3.19.0

(miniconda3-3.19.0/envs/awesome) $ pyenv deactivate
pyenv-virtualenv: deactivate miniconda3-3.19.0/envs/awesome

$ pyenv uninstall awesome
pyenv-virtualenv: remove /home/vagrant/.pyenv/versions/miniconda3-3.19.0/envs/awesome? y

$ pyenv versions
* system (set by /home/vagrant/.pyenv/version)
  3.4.4
  3.4.4/envs/fomod-editor
  fomod-editor
  miniconda3-3.19.0

$ pyenv activate miniconda3-3.19.0
pyenv-virtualenv: deactivate
pyenv-virtualenv: activate miniconda3-3.19.0

(miniconda3-3.19.0) $ conda create -yn awesome python=3.4
#more conda bla bla

(miniconda3-3.19.0) $ pyenv versions
  system
  3.4.4
  3.4.4/envs/fomod-editor
  fomod-editor
* miniconda3-3.19.0 (set by PYENV_VERSION environment variable)
  miniconda3-3.19.0/envs/awesome

(miniconda3-3.19.0) $ conda env list
# conda environments:
#
awesome                  /home/vagrant/.pyenv/versions/miniconda3-3.19.0/envs/awesome
root                  *  /home/vagrant/.pyenv/versions/miniconda3-3.19.0

(miniconda3-3.19.0) $ pyenv activate miniconda3-3.19.0/envs/awesome
pyenv-virtualenv: deactivate miniconda3-3.19.0
pyenv-virtualenv: activate miniconda3-3.19.0/envs/awesome

(miniconda3-3.19.0/envs/awesome) $ pyenv versions
  system
  3.4.4
  3.4.4/envs/fomod-editor
  fomod-editor
  miniconda3-3.19.0
* miniconda3-3.19.0/envs/awesome (set by PYENV_VERSION environment variable)

(miniconda3-3.19.0/envs/awesome) $ conda env list
# conda environments:
#
awesome               *  /home/vagrant/.pyenv/versions/miniconda3-3.19.0/envs/awesome
root                     /home/vagrant/.pyenv/versions/miniconda3-3.19.0

Umm. You're right. I confirmed the behaviour and I pushed d3d6504e0159b363d94dc0e3b7ed64cb370491cb as the fix. Please give it a try.

It works! Thanks! :D
About getting a "short" name for envs created with conda create -n env, should I create another issue or is it impossible?

The shorter name is just a symlink created by pyenv-virtualenv. Hooking up "conda create" is kinda "impossible", in other words, not so easy at least.


Implement distributed tracing across service boundaries

As a project developer, I want distributed tracing configured across service boundaries, so that entire operations can be analyzed in Azure Monitor queries

[ ] Appropriate trace and span IDs passed from service to service using W3C Trace Context (https://www.w3.org/TR/trace-context/)
[ ] Application Insights Transaction Search displays entire end to end operation

Mentioned in #413


Merging Test Branch into Master

This PR has all conflicts between master and test solved.
Merges Test Branch into Master.
If something gets broken ... well .. flame me! =D

@orazioedoardo @james-lasersoft @Giraffe1966 @devZer0 ... looks clean now, Can you just double check before hitting the Merge button?
Thanks! =)

Looks good to me, except the issue template. Basically I removed the request for the output of iptables and netstat because the debug script does those checks. Should we keep them for redundancy?

@orazioedoardo you are right, missed that. if debug script is doing it already I don't think there is a need for it. Will remove that chunk then.

Done
Removed the IPTables and netstat lines from issue template.
Merging test branch into master.


fix: annotate a couple base classes with @Directive for Ivy

There are two base classes in Material/CDK which are intended to be extended
by user code: BasePortalHost and MatFormFieldControl.
This commit annotates them with @Directive. The best way to do this is to
use @Directive() but this is not supported by Angular 8.x, on which
Material and the CDK still depend. Therefore, a workaround is used with a
selector which will never be matched. Modules are also added to satisfy the
View Engine compiler.

@alxhub I pushed a new commit to this PR with the names updated and rebased, but there's a legitimate failure.
DomPortalOutlet extends BasePortalOutlet, and DomPortalOutlet is not a directive. I'd ideally prefer not to make it a directive, but it seems like that could be unavoidable. Thoughts?

I'm actually wondering on why we need to decorate these classes with @Directive. These classes do not seem to declare class members with Angular decorators, nor do they use dependency injection.
It doesn't match my understanding of which classes need to be migrated according to our migrations  /and migration guides. Can you help explaining this @alxhub?

closing in favor of #17457


ADAP-389: Stub materialized view as a materialization

resolves https://github.com/dbt-labs/dbt-core/issues/6911
Description
Stub out the materialized view materialization for Redshift. Under the hood this just creates a view for now. But this can be used to verify all of the plumbing.
While creating the materialization, it was observed that other materialization templates existed outside of the materialization directory. These were moved from adapters.sql into the materialization directory in the appropriate file (e.g. table.sql). Some of the macros were also refactored to be smaller bits of code and dbt-postgres dependencies were eliminated when found.
Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[ ] I have run changie new to create a changelog entry

I'm skipping the change log on this; it's too granular. There will be a changelog at the feature level that will be merged into main.

I'm running into an issue while trying to recreate materialized views. They don't appear to show up as expected in pg_depend. When a materialized view is created, call it my_mat_view, based on a table called my_table, Redshift actually creates a view called my_mat_view and a table called tbl_mv__my_mat_view__0. The entries that show up in pg_depend tie my_mat_view to tbl_mv__my_mat_view__0, which is technically correct. Unfortunately, my_table does not show up at all even though that is the actual dependency from the user's perspective. I believe when we recreate the materialized view, we are inadvertently dropping it because the dependency is not properly managed when recreating the table.


FIX get_meta_data

Coverage increased (+0.07%) to 86.559% when pulling a4484dfec0bc67f12ae797413f75541e611924e3 on Em-jey:master into eaee04db3846e7e017c45e429a850ddc10b21c27 on limebrains:master.


build: update openssl to v1.1.1

@mrinalwadhwa This addresses the OpenSSL versioning in the builder; unfortunately it likely requires updating the VM, but I'm going to update my other PR with an attempt at applying the changes from the Vagrantfile and see how that goes

This needed export DEBIAN_FRONTEND=noninteractive to succeed, same with the patch in your branch. Otherwise the build waits infinitely for use input.
I squashed this with another commit and merged here https://github.com/ockam-network/ockam/commit/a8909b0bb4231ac2dc761ad471c5de4f88a09b06


Can we have a boolean argument to suppress the events getting printed?

https://github.com/mhallsmoore/qstrader/blob/e3af73b457ba4aab8124d35bf7c11e020d7da740/qstrader/trading/backtest.py#L385
Thanks!

Hi @chatRG,
Apologies for the delay in response to your comment!
Yes, this is a good idea. Largely this has been done for ease of use for those getting up to speed with the backtester.
It will be pretty straightforward to add a boolean argument to suppress the print statements.
I'll leave the Issue open until I've added it to a subsequent release.
Kind regards,
Mike.

Thanks @simongarisch - now fixed with #338.


Read back Cubemap fail

This is my code:
	if (m_reading == m_renderFrame)
	{
		m_reading = 0;
	}
	//Pass3 save position and normal map data
	if (!m_reading)
	{
		m_count++;
		for (int face = 0; face < 6; face++)
		{
			bgfx::blit(PASS_BAKE_END_ID, m_blitSkybox, 0, 0, 0, face, m_convertCubemap, 0, 0, 0, face, m_readWidth, m_readHeight);
		}
		m_reading = bgfx::readTexture(m_blitSkybox, m_readData);

		if (m_count > 20)
		{
			//isDone = true;
			m_count = 0;
                    }
           }

In this code, I have successfully blit skybox texture to m_blitSkybox, and it have bean create by this:
	m_blitSkybox = bgfx::createTextureCube(uint16_t(1024),  false, 1, bgfx::TextureFormat::RGBA32F,
			0 | BGFX_TEXTURE_BLIT_DST
			| BGFX_TEXTURE_READ_BACK);

the m_readData is float array, and size is widthheight6*4.
But I just can't read it back. The value of m_readData is always ZERO.

I find that there may be a problem with readTexture for cubemap in gl renderer. When texture is cubemap,  the target passed to glGetTexImage is GL_TEXTURE_CUBE_MAP, but it should be GL_TEXTURE_CUBE_MAP_* to specify a face of cubmap.
A solution is to check texture.isCubeMap() in readTexture and use the gles way.
Reference: https://www.khronos.org/opengl/wiki/GLAPI/glGetTexImage


Can't download Workflow

chumido@cMacBookP ~ % npm i -g alfred-chrome-workflow
npm WARN deprecated<EMAIL_ADDRESS>Deprecated due to CVE-2021-21366 resolved in 0.5.0
npm ERR! code 254
npm ERR! path /usr/local/lib/node_modules/alfred-chrome-workflow/node_modules/better-sqlite3
npm ERR! command failed
npm ERR! command sh -c prebuild-install || npm run build-release
npm ERR! prebuild-install WARN install No prebuilt binaries found (target=17.0.1 runtime=node arch=x64 libc= platform=darwin)
npm ERR! npm ERR! code ENOENT
npm ERR! npm ERR! syscall open
npm ERR! npm ERR! path null/package.json
npm ERR! npm ERR! errno -2
npm ERR! npm ERR! enoent ENOENT: no such file or directory, open 'null/package.json'
npm ERR! npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! npm ERR! enoent
npm ERR!
npm ERR! npm ERR!      /Users/chumido/.npm/_logs/2021-11-08T06_53_37_992Z-debug.log

npm ERR!      /Users/chumido/.npm/_logs/2021-11-08T06_53_38_364Z-debug.log

Hi @jopemachine. Can you help me? I have this error when download workflow.
I'm on Monterey 12.0.1

Hi @jopemachine. Can you help me? I have this error when download workflow.

Sure, I think it's a good idea to create a separate distribution file with alfredworkflow.
I saw many people had difficulty in installing their workflow through npm.
I will upload this workflow's alfredworkflow file.

Hi @jopemachine. Can you help me? I have this error when download workflow.

Sure, I think it's a good idea to create a separate distribution file with alfredworkflow.
I saw many people had difficulty in installing their workflow through npm.
I think I better upload this workflow's alfredworkflow file if possible.
Could you let me know your node version?

Hi. Thanks for your reply. My node's on v17.0.1.

@jopemachine Hi. Can you help me?

@jopemachine Hi. Can you help me?

I'm sorry for disappearing for a while.
I'm quite busy with several personal issues these days, so I can't pay attention.
I think the below error message shows what is the problem.
npm ERR! command sh -c prebuild-install || npm run build-release
npm ERR! prebuild-install WARN install No prebuilt binaries found (target=17.0.1 runtime=node arch=x64 libc= platform=darwin)

Could you try reinstalling the workflow through Node's lower version?

@jopemachine Hi. Can you help me?

I'm sorry for disappearing for a while.
I'm quite busy with several personal issues these days, so I can't pay attention.
I think the below error message shows what is the problem.
npm ERR! command sh -c prebuild-install || npm run build-release
npm ERR! prebuild-install WARN install No prebuilt binaries found (target=17.0.1 runtime=node arch=x64 libc= platform=darwin)

Could you try reinstalling the workflow through Node's lower version?

Hi. Thanks for your reply. I tried install node ver 16 and i can download the workflow and it work. Seem like the workflow does not work on node ver 17.

Just passing by: this is a bug in npm 8.1.3 https://github.com/npm/cli/issues/4015

Any idea how exactly does that change cause this symptom (i.e. failure to build binary modules)?

I reimplemented this workflow in the below repository to avoid these kinds of installation issues.
https://github.com/jopemachine/alfred-chromium-workflow


Triangle picture enlargement doesn't work

Dear Team,
Please enable the enlargement of the picture in the section: "Comprehensive multi-cloud security framework:". The second picture in section 2 should be enlarged as well "on-click", as of now it's way too small.

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

ID: 28d13bd5-9349-cc50-40c5-3b5c7b4b2126
Version Independent ID: 2386c444-4349-1a2e-a547-6ca1bece6434
Content: Overview of the Microsoft cloud security benchmark
Content Source: benchmark/azure/overview.md
Service: security
GitHub Login: @msmbaldwin
Microsoft Alias: mbaldwin

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

I believe this has been resolved. If you disagree, feel free to reopen this issue. Thank you. #please-close


what is the prompt used in chat model?

I want to finetune the chat model using an instruction dataset.
can you give me the prompt used in your chat model?
USER: <instruction>\nASSISTANT: <output>
is this right?

Hi @egrcc ,
You can refer to the example at https://github.com/InternLM/InternLM/blob/main/tools/alpaca_tokenizer.py.


Allow for query parameters to be present after URLs

I'm doing some ember-cli development and I'm integrating some 3rd party code. It has stuff like:
<script src="something.js?v=1">

... not the prettiest thing, but the team is hesitant of maintaining a fork of the code. Although it is not pretty, it is a valid case, nevertheless. So I was thinking of something along the lines of the included commit.
Is this approach reasonable and are there any other cases I should be handling within the regex?
P. S. The relevant ember-cli issue is https://github.com/ember-cli/ember-cli/issues/6040

[Current coverage][cc-pull] is 100%

Merging [#40][cc-pull] into [master][cc-base-branch] will not change coverage

@@           master   #40   diff @@
===================================
  Files           1     1
  Lines          84    84
  Methods        12    12
  Messages        0     0
  Branches       19    19
===================================
  Hits           84    84
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last updated by [cb4d1b8...a349d47][cc-compare]
[cc-base-branch]: https://codecov.io/gh/rickharrison/broccoli-asset-rewrite/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/rickharrison/broccoli-asset-rewrite/compare/cb4d1b80cb1146146e1611d0234334ed69a8d633...a349d474c269bd93fe085f00b09f4748f8c24a12
[cc-pull]: https://codecov.io/gh/rickharrison/broccoli-asset-rewrite/pull/40?src=pr

Thanks for the contribution!


StorageCapacityTracking feature changes

Is this a new chart?
Yes/No
What this PR does / why we need it:
Support StorageCapacityTracking feature for PowerMax.
Additional context
This feature helps the scheduler to schedule the pod on a node (satisfying the topology constraints) only if the requested capacity is available on the storage array.
Which issue(s) is this PR associated with:
https://github.com/dell/csm/issues/876

#Issue_Number
https://github.com/dell/csm/issues/876

Special notes for your reviewer:
Checklist:
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] Chart Version bumped
[ ] Variables are documented in the chart README.md
[ ] Title of the PR starts with the chart name (e.g. [charts_dir/mychartname]) if applicable

Needed to create against the branch release-1.8.0 not for main hence closing the PR.

As the StorageCapacity feature is not supported in K8S1.23 and older versions
Done the code changes accordingly.


Migrate Image.ANTIALIAS to Image.LANCZOS to support Pillow>=10.0.0

Image.ANTIALIAS has been removed in Pillow >= 10.0.0
Reference: https://pillow.readthedocs.io/en/stable/releasenotes/10.0.0.html#constants

Any chance this is going to be merged? @e1ven

@e1ven
Please update the PyPi package with this and other changes that have accumulated during this time.

Yes, please release a new version to PyPI.


Switch type generation to use ts-toolbelt

Sounds good to me.
Considerations:

Are people relying on the current types.
If so, we should make sure the type changes don't break existing consumers.


TP: replace compass/ruby

This PR changes the TP sass compiler from compass (deprecated) to dart-sass (official sass compiler). As a result, ruby is no longer a dependency of TP.
It also changes the TP build docker file to always install nodejs 12.

Which Traffic Control components are affected by this PR?

Documentation
Traffic Portal
CDN in a Box

What is the best way to verify this PR?
Note: CiaB (and associated CI) for TP build will always fail (until merged) as it is using the dockerhub TP image, which was built using nodejs 10. gulp-dart-sass requires nodejs 12.
Build TP locally and confirm that it works.
Build TP using pkg with the -b command (so it uses the correct nodejs version).
Verify that TP looks correct.
Check the docs and make sure ruby/compass are no longer mentioned.
It is also possible to diff dist/resources/styles and see that the CSS is mostly the same with a few exceptions. First, sourceMaps are now specified by comments instead of through media queries. Second, the compass minification doesn't remove some chars that dart-sass does, as a result the new CSS should always be at least as small.

PR submission checklist

[x] This PR has tests
[x] This PR has documentation
[x] This PR has a CHANGELOG.md entry
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

#6278's TP GHA failed due to #6283 needs to be rebased onto master now that #6284 is merged in order to pass


about the train

Good works! I have some issues about your train, in your code ,every train only read one file? I wonder if  I'm right.

Thanks for the question!
You are correct, the train.py file performs the overfitting on only one shape. If you want to train multiple files, take a look at the "cuantitative.py" file. This is the script we used for the experiments of the paper, which also computes metrics (Chamfer distance and normal alignment).
Hope that helps!

OK,thanks


Endpoints for importing and exporting data

Endpoints for:
a) Import Data into a class - it receives a file in the same format of parse.com and backwards the data that is exported;
b) Import Relation Data into a class relation - it receives a file in the same format of parse.com and backwards the data that is exported;
c) Export Data from a class - It returns a zipped .json file just like parse.com

@davimacedo you probably need a rebase as well as running npm run lint before pushing :)

Sure thing... we will do it as soon as we have fixed all reviews you asked.

We've enforced harder rules for the coding style, please rebase on master.

Instead of:
success: function(httpImgFile)
Try:
success: function(httpResponse)
Let me know.
Best!

Em 4 de dez de 2016, à(s) 21:28, Facebook Community Bot<EMAIL_ADDRESS>escreveu:
@davimacedo https://github.com/davimacedo updated the pull request - view changes https://github.com/ParsePlatform/parse-server/pull/3046/files/59ab95362009bdf7c7fcb08f98ec13ac96531b23..e010a134c350a902dbefd3b559395e96ac013e64
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/ParsePlatform/parse-server/pull/3046#issuecomment-264740525, or mute the thread https://github.com/notifications/unsubscribe-auth/AEOY6yNksYLX7GM02lgWxTSlEMGOHQhrks5rE0ymgaJpZM4KwvJ9.

Hi, @flovilmart
I understand your concern about memory, but people want it easily and friendly in the dashboard. If we run it outside parse server we will also loose the capability of reaching hooks, triggers, etc. For this kind of feature, maybe we could recommend users to run the dashboard connecting to a parse server running on a powered enough machine (maybe in the user localhost). But this is only a comment. Like I commented before, we think memory will not crash here.
Can you please check again?

Everything was also rebased and the lint is passing :)

This should be prioritized with the recent hacks on MongoDB databases

@acegreen people should have DB backups, not CSV dumps.

I would really appreciate this, as well. We have customer service people that need to export records for credit card disputes, and the Parse.com behavior is way better/safer than trying to get them into mongo scripting.

Not sure if that export would fit your bill as it the entirety of the database that will be exported

I haven't actually looked at the contents of the PR, I was assuming it was similar to the export feature in Parse.com, that would let you filter a class and then export those results. Maybe that's in the related PR in parse-dashboard (I thought, being by the same author, the two were separate but necessary implementations of the same feature). If that's not the case, my bad!

It will not export the entire database, but an entire class or an entire relation. I have it running in my servers and it is actually running pretty good so far.

the busted test may/probably is because i change archiver from "archiver": "^1.2.0"  to "archiver": "1.3.0" so it'll play well with greenkeeper.io

@davimacedo could you clarify if this exports an entire class, or a class WITH any filters you've applied in the dashboard (ie: the Parse.com behavior)?

^ Meant to write back, but to answer my previous question, this (and the corresponding parse-dashboard) PRs only export a full class. I made some updates to support passing through the filters to the exports (parse-dashboard: https://github.com/jordanhaven/parse-dashboard/commit/8d68daaa95b0e27575b51dbeef445e1d28d6df63, parse-server: https://github.com/jordanhaven/parse-server/commit/6c3ccb1ce3c912f79b7acf127d861b8c5b5f4145), and it's working good for us at replicating the Parse.com behavior.

Any reason this is being held up? I recently put together a tool that automates importing data, but having the ability to manually set objectIds (as I believe this PR adds) would make it a lot better.

Guys... Sorry about the delay with this PR.
@jordanhaven Thanks for the contribution. I've just incorporated it in the PR.
@flovilmart and @acinader I've just done the requested changes and rebased to the master. Can you guys check again please?

@davimacedo thanks for incorporating! Can you do the same for the parse-dashboard changes?

@jordanhaven Just done. Thanks!

+1 thanks for this!

Hey Folks, Does anyone know what is happening with this please?

bump :) would be a really cool feature

@davimacedo Any news about this?
Any plan to merge this PR?

It’s unlikely at this point as the main memory usage concerns are not addressed. This belongs to a standalone tool.
I’m not against exposing a simpler API to ParseServer so one can import objects based on a stream representation (with the objectId preserved) and export them with a streaming API.
As for exposing such endpoints, now that everyone has access to the mongodb / Postgres, I don’t see how CSV is a valid backup / export solution. As you can already backup/export right from your DB.

@flovilmart CSV is a general purpose format and we can import it in many applications like BI tools, Data analysing, ...
I think this PR implemented a very useful feature and suggest you to reopen it.
Backup/Export from parse rather than mongo dump is a very brilliant feature and can useful for many people like me specially if we can call it from parse-dashboard (related parse-dashboard PR that blocked and waiting this PR: https://github.com/parse-community/parse-dashboard/pull/585).

I agree with @flovilmart
I think that Importing and Exporting the data should be performed on the RAW data store in the database. Since no additional restrictions or checking needs to be done server side, it makes sense not to include parse in this process. You can take snapshots of your database as you go on as backup for a production case.
If the format file is what you worry about, to my knowledge you can export Mongo into CSV and vice-versa. (haven't tried it)
mongoexport is a utility that produces a JSON or CSV export of data stored in a MongoDB instance
mongoexport docs
relevant post on stackoverflow


Add on-demand compiler pool scaling

Use --compiler-pool-scaling-mode=on_demand to switch to the new mode,
which will a spawn new compiler worker process every 3 seconds if the
compiling requests keep queueing up, up to num of CPUs; after 60 seconds
without compiling requests, the compiler pool will scale down to
--compiler-pool-size with a default of 1 under on-demand mode.

Should we merge this one?


#2 - Improve Report UI

Ref #2

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Files added, but user unable to access a directory within.

I'm encountering a really odd issue with a specific directory out of a bunch of files I've ADDed.
Please see: http://stackoverflow.com/questions/28139448/nginx-refusing-to-serve-files-403-despite-777-to-entire-filesystem for more information.
To briefly summarize: www-data doesn't have access to the path /var/www/public when the container is made.  Even if the permissions are 777.
However!  When I rename the directory to something bogus and then back to what it's supposed to be, the user can now list the contents of the directory.

Are you using AUFS? Then this sounds like the issue described in the "known issues" section. This comment on the underlying issue describes quite clearly what the problem is there: https://github.com/docker/docker/issues/783#issuecomment-19237045
If that does indeed look like the issue you're having (and you're using AUFS), perhaps you could add/mention that on StackOverflow as well to assist other people running into that problem.
HTH!

No, interestingly this happens on OSX and Linux alike.

Those are the underlying filesystems of the host. Docker itself uses its own filesystem (aufs, device mapper, overlay, btrfs) to store containers.
(Also, note that when running Docker on OS X, Docker itself runs in boot2docker, a lightweight virtual machine that runs Linux).
To determine what filesystem/storage-driver Docker is using, run docker info and look at the "Storage Driver" in the output. In the example output below, you can see that Docker uses auks, but the underlying filesystem of the host ("Backing Filesystem") is extfs;
$ docker info
Containers: 12
Images: 672
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 697
Execution Driver: native-0.2
Kernel Version: 3.13.0-32-generic
Operating System: Ubuntu 14.04.1 LTS
CPUs: 1
Total Memory: 994.1 MiB
Name: example.com
ID: RC3P:JTCT:32YS:XYSB:YUBG:VFED:AAJZ:W3YW:76XO:D7NN:TEVU:UCRW
WARNING: No swap limit support

closing as dup of https://github.com/docker/docker/issues/783#issuecomment-19237045


[Question] 启动器在后台有概率变形

Checklist

[X] I have already read docs/Tips.md, but my question is not solved.
[X] My question was not mentioned by others, and it is not a duplicate question.

Description
启动器挂后台打开启动器有概率会出现宽度异常
退出托盘重新打开恢复
Starward Version
0.13.4
Windows Version
26100.2033
Log
[10:23:41.658] [INFO]
Welcome to Starward v0.13.4
System: Microsoft Windows NT 10.0.26100.0
Command Line: C:\Starward\app-0.13.4\Starward.dll playtime --biz hk4e_cn --pid 51300

[10:23:41.691] [INFO] Starward.Services.DatabaseService
Database path is 'C:\Starward'

[10:23:41.721] [INFO] Starward.Services.DatabaseService
Database version is 11, target version is 11.

Additional Context
这是正常的

这是异常的

实际上虽然不是很明显，感觉怪怪的，如何看了一下海报才发现偏移，重启软件恢复，发生过几次
然后发现是窗口尺寸变形

这是bug吗


#893 Fix Android momentum invalid behaviour: Do not call onSnapToItem…

… twice.
Platforms affected
Android
What does this PR do?
Fix issue with calling onSnapToItem twice for Android.

The changes include a lot of formatting... Any chance you can re-format it back to the style before so it's easy to see what's the actual change?

The changes include a lot of formatting... Any chance you can re-format it back to the style before so it's easy to see what's the actual change?

There are multiple commits. Just check one by one and also you can read the description for the commit. That would help a lot. So what I mean, is that only first commit fix the issue and other fix linter and some updates of node modules.


feat(CategoryTheory/GradedObject): action of a composition of bifunctors

The action on graded objects of a trifunctor obtained by composition of two bifunctors can be computed as a composition of the actions of these two bifunctors. In this PR, we consider the case when we apply a bifunctor to the first two variables and then a bifunctor to this result and the remaining third variable.

[x] depends on: #8239
[x] depends on: #8240

bors d+

Thanks very much for review!
bors merge


1.8.4

@rultor release tag is 1.8.4

@rultor release tag is 1.8.4

@portlek OK, I will release it now. Please check the progress here

@rultor release tag is 1.8.4

@portlek Done! FYI, the full log is here (took me 7min)