Once a topic is terminated it can no longer be read from by a new Consumer

Describe the bug
Topic termination documentation says
Terminate a topic (disallow further messages from being published on the topic)

But once you terminate a topic, even if the retention settings allow data retention, a new consumer cannot read from it.
To Reproduce
Steps to reproduce the behavior:

Produce data to a topic

./pulsar-client --url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-protocol SNI produce persistent://cogito-dialog/wav/frankTest7 -f ~/platform2-signal/signal-stream-client-library/src/intTest/resources/python.wav

Terminate The topic

./apache-pulsar-2.6.1/bin/pulsar-admin --admin-url http://platform-pulsar-broker:8080 topics terminate  persistent://cogito-dialog/wav/frankTest7

Consume from the Topic with SubcriptionInitialPosition = EARLIEST

./pulsar-client --url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-protocol SNI consume -s tcpingress-test2 -p Earliest persistent://cogito-dialog/wav/frankTest7 -t Shared

Get a message indicating we reached the end of the topic

09:12:07.353 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [persistent://cogito-dialog/wav/frankTest7][tcpingress-test2] Subscribed to topic on pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443 -- consumer: 0
09:12:07.398 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ClientCnx - [pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443] Broker notification reached the end of topic: 0
09:12:07.399 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [tcpingress-test2] [persistent://cogito-dialog/wav/frankTest7] [8778c] Consumer has reached the end of topic

Retention period is 3 days
 ./apache-pulsar-2.6.1/bin/pulsar-admin --admin-url http://platform-pulsar-broker:8080 namespaces get-retention cogito-dialog/wav
{
  "retentionTimeInMinutes" : 4320,
  "retentionSizeInMB" : -1
}

Expected behavior
The Admin Docs say
Terminate a topic (disallow further messages from being published on the topic)
https://pulsar.apache.org/docs/en/pulsar-admin/#terminate
Also the Javadoc says
Terminate a topic. A topic that is terminated will not accept any more messages to be published and will let consumer to drain existing messages in backlog
https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/PersistentTopics.java#L2168-L2169
Neither says anything about future consumers
So either

Topic termination should still allow new consumers to read data from the topic
(If this works as designed) the Documentation should be updated to clearly indicate that
i) Existing consumers once they catch up to the end will be notified there is no more data
ii) New consumers will get NO data

Additional context

Using Apache Pulsar 2.6.1

@merlimat @sijie I'm not sure how to deal with consumers at the beginning of the design, in my opinion, if the topic terminated, the broker should prevent all the producers and consumers.

Hi @codelipenghui @merlimat @sijie any thoughts or updates on this? Thanks in advance.

Hi @codelipenghui @merlimat @sijie any thoughts or updates on this? Thanks in advance.

@frankjkelly Does the subscription already exist?

@frankjkelly Does the subscription already exist?

I think there might be additional nuance to this situation, specifically regarding subscriptions and consumers. In @frankjkelly's example, the subscription is created after the topic is deleted. I'm pretty sure an existing subscription would allow for a consumer to connect to it because the subscription owns the cursor, which would already be set. I wasn't able to test out this theory, but if it is correct, I think the question here becomes whether or not users can create subscriptions for deleted topics.

I think there might be additional nuance to this situation, specifically regarding subscriptions and consumers. In @frankjkelly's example, the subscription is created after the topic is deleted. I'm pretty sure an existing subscription would allow for a consumer to connect to it because the subscription owns the cursor, which would already be set. I wasn't able to test out this theory, but if it is correct, I think the question here becomes whether or not users can create subscriptions for deleted topics.

@frankjkelly
I have already tested our commands. I can't reproduce your behavior. I think you already have a subscription and the subscription already reach to end of the topic. When you try to consume from that, you will reach EndOfTopic because the subscription is already catchup and no messages to consume. You can reset the subscription to Earliest using pulsar-admin reset-cursor.
[sijie@Sijies-MacBook-Pro apache-pulsar-2.7.0]$ bin/pulsar-client produce -m "hello world" test-terminated
[sijie@Sijies-MacBook-Pro apache-pulsar-2.7.0]$ bin/pulsar-admin topics terminate test-terminated
Topic succesfully terminated at 11:0:-1
[sijie@Sijies-MacBook-Pro apache-pulsar-2.7.0]$ bin/pulsar-client consume -s new-sub -p Earliest  test-terminated
21:18:48.931 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConnectionPool - [[id: 0xbb326a22, L:/<IP_ADDRESS>:62666 - R:localhost/<IP_ADDRESS>:6650]] Connected to server
21:18:49.042 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerStatsRecorderImpl - Starting Pulsar consumer status recorder with config: {
  "topicNames" : [ "test-terminated" ],
  "topicsPattern" : null,
  "subscriptionName" : "new-sub",
  "subscriptionType" : "Exclusive",
  "subscriptionMode" : "Durable",
  "receiverQueueSize" : 1000,
  "acknowledgementsGroupTimeMicros" : 100000,
  "negativeAckRedeliveryDelayMicros" : 60000000,
  "maxTotalReceiverQueueSizeAcrossPartitions" : 50000,
  "consumerName" : null,
  "ackTimeoutMillis" : 0,
  "tickDurationMillis" : 1000,
  "priorityLevel" : 0,
  "maxPendingChuckedMessage" : 10,
  "autoAckOldestChunkedMessageOnQueueFull" : false,
  "expireTimeOfIncompleteChunkedMessageMillis" : 60000,
  "cryptoFailureAction" : "FAIL",
  "properties" : { },
  "readCompacted" : false,
  "subscriptionInitialPosition" : "Earliest",
  "patternAutoDiscoveryPeriod" : 60,
  "regexSubscriptionMode" : "PersistentOnly",
  "deadLetterPolicy" : null,
  "retryEnable" : false,
  "autoUpdatePartitions" : true,
  "autoUpdatePartitionsIntervalSeconds" : 60,
  "replicateSubscriptionState" : false,
  "resetIncludeHead" : false,
  "keySharedPolicy" : null,
  "batchIndexAckEnabled" : false
}
21:18:49.046 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerStatsRecorderImpl - Pulsar client config: {
  "serviceUrl" : "pulsar://localhost:6650/",
  "authPluginClassName" : null,
  "operationTimeoutMs" : 30000,
  "statsIntervalSeconds" : 60,
  "numIoThreads" : 1,
  "numListenerThreads" : 1,
  "connectionsPerBroker" : 1,
  "useTcpNoDelay" : true,
  "useTls" : false,
  "tlsTrustCertsFilePath" : "",
  "tlsAllowInsecureConnection" : false,
  "tlsHostnameVerificationEnable" : false,
  "concurrentLookupRequest" : 5000,
  "maxLookupRequest" : 50000,
  "maxLookupRedirects" : 20,
  "maxNumberOfRejectedRequestPerConnection" : 50,
  "keepAliveIntervalSeconds" : 30,
  "connectionTimeoutMs" : 10000,
  "requestTimeoutMs" : 60000,
  "initialBackoffIntervalNanos" : 100000000,
  "maxBackoffIntervalNanos" :<PHONE_NUMBER>0,
  "listenerName" : null,
  "useKeyStoreTls" : false,
  "sslProvider" : null,
  "tlsTrustStoreType" : "JKS",
  "tlsTrustStorePath" : "",
  "tlsTrustStorePassword" : "",
  "tlsCiphers" : [ ],
  "tlsProtocols" : [ ],
  "proxyServiceUrl" : null,
  "proxyProtocol" : null,
  "enableTransaction" : false
}
21:18:49.061 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [test-terminated][new-sub] Subscribing to topic on cnx [id: 0xbb326a22, L:/<IP_ADDRESS>:62666 - R:localhost/<IP_ADDRESS>:6650], consumerId 0
21:18:49.076 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [test-terminated][new-sub] Subscribed to topic on localhost/<IP_ADDRESS>:6650 -- consumer: 0
21:18:49.091 [pulsar-client-io-1-1] WARN  com.scurrilous.circe.checksum.Crc32cIntChecksum - Failed to load Circe JNI library. Falling back to Java based CRC32c provider
----- got message -----
key:[null], properties:[], content:hello world
21:18:49.109 [main] INFO  org.apache.pulsar.client.impl.PulsarClientImpl - Client closing. URL: pulsar://localhost:6650/
21:18:49.122 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ClientCnx - [localhost/<IP_ADDRESS>:6650] Broker notification reached the end of topic: 0
21:18:49.122 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [new-sub] [test-terminated] [15e27] Consumer has reached the end of topic
21:18:49.123 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [test-terminated] [new-sub] Closed consumer
21:18:49.125 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ClientCnx - [id: 0xbb326a22, L:/<IP_ADDRESS>:62666 ! R:localhost/<IP_ADDRESS>:6650] Disconnected
21:18:49.132 [main] INFO  org.apache.pulsar.client.cli.PulsarClientTool - 1 messages successfully consumed
[sijie@Sijies-MacBook-Pro apache-pulsar-2.7.0]$ bin/pulsar-client produce -m "hello world 2" test-terminated
21:19:01.851 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConnectionPool - [[id: 0xa6301a34, L:/<IP_ADDRESS>:62669 - R:localhost/<IP_ADDRESS>:6650]] Connected to server
21:19:01.951 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ProducerStatsRecorderImpl - Starting Pulsar producer perf with config: {
  "topicName" : "test-terminated",
  "producerName" : null,
  "sendTimeoutMs" : 30000,
  "blockIfQueueFull" : false,
  "maxPendingMessages" : 1000,
  "maxPendingMessagesAcrossPartitions" : 50000,
  "messageRoutingMode" : "RoundRobinPartition",
  "hashingScheme" : "JavaStringHash",
  "cryptoFailureAction" : "FAIL",
  "batchingMaxPublishDelayMicros" : 1000,
  "batchingPartitionSwitchFrequencyByPublishDelay" : 10,
  "batchingMaxMessages" : 1000,
  "batchingMaxBytes" : 131072,
  "batchingEnabled" : true,
  "chunkingEnabled" : false,
  "compressionType" : "NONE",
  "initialSequenceId" : null,
  "autoUpdatePartitions" : true,
  "autoUpdatePartitionsIntervalSeconds" : 60,
  "multiSchema" : true,
  "properties" : { }
}
21:19:01.956 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ProducerStatsRecorderImpl - Pulsar client config: {
  "serviceUrl" : "pulsar://localhost:6650/",
  "authPluginClassName" : null,
  "operationTimeoutMs" : 30000,
  "statsIntervalSeconds" : 60,
  "numIoThreads" : 1,
  "numListenerThreads" : 1,
  "connectionsPerBroker" : 1,
  "useTcpNoDelay" : true,
  "useTls" : false,
  "tlsTrustCertsFilePath" : "",
  "tlsAllowInsecureConnection" : false,
  "tlsHostnameVerificationEnable" : false,
  "concurrentLookupRequest" : 5000,
  "maxLookupRequest" : 50000,
  "maxLookupRedirects" : 20,
  "maxNumberOfRejectedRequestPerConnection" : 50,
  "keepAliveIntervalSeconds" : 30,
  "connectionTimeoutMs" : 10000,
  "requestTimeoutMs" : 60000,
  "initialBackoffIntervalNanos" : 100000000,
  "maxBackoffIntervalNanos" :<PHONE_NUMBER>0,
  "listenerName" : null,
  "useKeyStoreTls" : false,
  "sslProvider" : null,
  "tlsTrustStoreType" : "JKS",
  "tlsTrustStorePath" : "",
  "tlsTrustStorePassword" : "",
  "tlsCiphers" : [ ],
  "tlsProtocols" : [ ],
  "proxyServiceUrl" : null,
  "proxyProtocol" : null,
  "enableTransaction" : false
}
21:19:01.965 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ProducerImpl - [test-terminated] [null] Creating producer on cnx [id: 0xa6301a34, L:/<IP_ADDRESS>:62669 - R:localhost/<IP_ADDRESS>:6650]
21:19:01.974 [pulsar-client-io-1-1] WARN  org.apache.pulsar.client.impl.ClientCnx - [id: 0xa6301a34, L:/<IP_ADDRESS>:62669 - R:localhost/<IP_ADDRESS>:6650] Received error from server: Topic was already terminated
21:19:01.975 [pulsar-client-io-1-1] ERROR org.apache.pulsar.client.impl.ProducerImpl - [test-terminated] [null] Failed to create producer: Topic was already terminated
21:19:01.976 [main] ERROR org.apache.pulsar.client.cli.PulsarClientTool - Error while producing messages
21:19:01.976 [main] ERROR org.apache.pulsar.client.cli.PulsarClientTool - Topic was already terminated
org.apache.pulsar.client.api.PulsarClientException$TopicTerminatedException: Topic was already terminated
	at org.apache.pulsar.client.api.PulsarClientException.unwrap(PulsarClientException.java:932) ~[org.apache.pulsar-pulsar-client-api-2.7.0.jar:2.7.0]
	at org.apache.pulsar.client.impl.ProducerBuilderImpl.create(ProducerBuilderImpl.java:93) ~[org.apache.pulsar-pulsar-client-original-2.7.0.jar:2.7.0]
	at org.apache.pulsar.client.cli.CmdProduce.publish(CmdProduce.java:211) [org.apache.pulsar-pulsar-client-tools-2.7.0.jar:2.7.0]
	at org.apache.pulsar.client.cli.CmdProduce.run(CmdProduce.java:196) [org.apache.pulsar-pulsar-client-tools-2.7.0.jar:2.7.0]
	at org.apache.pulsar.client.cli.PulsarClientTool.run(PulsarClientTool.java:175) [org.apache.pulsar-pulsar-client-tools-2.7.0.jar:2.7.0]
	at org.apache.pulsar.client.cli.PulsarClientTool.main(PulsarClientTool.java:209) [org.apache.pulsar-pulsar-client-tools-2.7.0.jar:2.7.0]
21:19:01.979 [main] INFO  org.apache.pulsar.client.cli.PulsarClientTool - 0 messages successfully produced

@frankjkelly
I have already tested our commands. I can't reproduce your behavior. I think you already have a subscription and the subscription already reach to end of the topic. When you try to consume from that, you will reach EndOfTopic because the subscription is already catchup and no messages to consume. You can reset the subscription to Earliest using pulsar-admin reset-cursor.
[sijie@Sijies-MacBook-Pro apache-pulsar-2.7.0]$ bin/pulsar-client produce -m "hello world" test-terminated
[sijie@Sijies-MacBook-Pro apache-pulsar-2.7.0]$ bin/pulsar-admin topics terminate test-terminated
Topic succesfully terminated at 11:0:-1
[sijie@Sijies-MacBook-Pro apache-pulsar-2.7.0]$ bin/pulsar-client consume -s new-sub -p Earliest  test-terminated
21:18:48.931 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConnectionPool - [[id: 0xbb326a22, L:/<IP_ADDRESS>:62666 - R:localhost/<IP_ADDRESS>:6650]] Connected to server
21:18:49.042 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerStatsRecorderImpl - Starting Pulsar consumer status recorder with config: {
  "topicNames" : [ "test-terminated" ],
  "topicsPattern" : null,
  "subscriptionName" : "new-sub",
  "subscriptionType" : "Exclusive",
  "subscriptionMode" : "Durable",
  "receiverQueueSize" : 1000,
  "acknowledgementsGroupTimeMicros" : 100000,
  "negativeAckRedeliveryDelayMicros" : 60000000,
  "maxTotalReceiverQueueSizeAcrossPartitions" : 50000,
  "consumerName" : null,
  "ackTimeoutMillis" : 0,
  "tickDurationMillis" : 1000,
  "priorityLevel" : 0,
  "maxPendingChuckedMessage" : 10,
  "autoAckOldestChunkedMessageOnQueueFull" : false,
  "expireTimeOfIncompleteChunkedMessageMillis" : 60000,
  "cryptoFailureAction" : "FAIL",
  "properties" : { },
  "readCompacted" : false,
  "subscriptionInitialPosition" : "Earliest",
  "patternAutoDiscoveryPeriod" : 60,
  "regexSubscriptionMode" : "PersistentOnly",
  "deadLetterPolicy" : null,
  "retryEnable" : false,
  "autoUpdatePartitions" : true,
  "autoUpdatePartitionsIntervalSeconds" : 60,
  "replicateSubscriptionState" : false,
  "resetIncludeHead" : false,
  "keySharedPolicy" : null,
  "batchIndexAckEnabled" : false
}
21:18:49.046 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerStatsRecorderImpl - Pulsar client config: {
  "serviceUrl" : "pulsar://localhost:6650/",
  "authPluginClassName" : null,
  "operationTimeoutMs" : 30000,
  "statsIntervalSeconds" : 60,
  "numIoThreads" : 1,
  "numListenerThreads" : 1,
  "connectionsPerBroker" : 1,
  "useTcpNoDelay" : true,
  "useTls" : false,
  "tlsTrustCertsFilePath" : "",
  "tlsAllowInsecureConnection" : false,
  "tlsHostnameVerificationEnable" : false,
  "concurrentLookupRequest" : 5000,
  "maxLookupRequest" : 50000,
  "maxLookupRedirects" : 20,
  "maxNumberOfRejectedRequestPerConnection" : 50,
  "keepAliveIntervalSeconds" : 30,
  "connectionTimeoutMs" : 10000,
  "requestTimeoutMs" : 60000,
  "initialBackoffIntervalNanos" : 100000000,
  "maxBackoffIntervalNanos" :<PHONE_NUMBER>0,
  "listenerName" : null,
  "useKeyStoreTls" : false,
  "sslProvider" : null,
  "tlsTrustStoreType" : "JKS",
  "tlsTrustStorePath" : "",
  "tlsTrustStorePassword" : "",
  "tlsCiphers" : [ ],
  "tlsProtocols" : [ ],
  "proxyServiceUrl" : null,
  "proxyProtocol" : null,
  "enableTransaction" : false
}
21:18:49.061 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [test-terminated][new-sub] Subscribing to topic on cnx [id: 0xbb326a22, L:/<IP_ADDRESS>:62666 - R:localhost/<IP_ADDRESS>:6650], consumerId 0
21:18:49.076 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [test-terminated][new-sub] Subscribed to topic on localhost/<IP_ADDRESS>:6650 -- consumer: 0
21:18:49.091 [pulsar-client-io-1-1] WARN  com.scurrilous.circe.checksum.Crc32cIntChecksum - Failed to load Circe JNI library. Falling back to Java based CRC32c provider
----- got message -----
key:[null], properties:[], content:hello world
21:18:49.109 [main] INFO  org.apache.pulsar.client.impl.PulsarClientImpl - Client closing. URL: pulsar://localhost:6650/
21:18:49.122 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ClientCnx - [localhost/<IP_ADDRESS>:6650] Broker notification reached the end of topic: 0
21:18:49.122 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [new-sub] [test-terminated] [15e27] Consumer has reached the end of topic
21:18:49.123 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [test-terminated] [new-sub] Closed consumer
21:18:49.125 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ClientCnx - [id: 0xbb326a22, L:/<IP_ADDRESS>:62666 ! R:localhost/<IP_ADDRESS>:6650] Disconnected
21:18:49.132 [main] INFO  org.apache.pulsar.client.cli.PulsarClientTool - 1 messages successfully consumed
[sijie@Sijies-MacBook-Pro apache-pulsar-2.7.0]$ bin/pulsar-client produce -m "hello world 2" test-terminated
21:19:01.851 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConnectionPool - [[id: 0xa6301a34, L:/<IP_ADDRESS>:62669 - R:localhost/<IP_ADDRESS>:6650]] Connected to server
21:19:01.951 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ProducerStatsRecorderImpl - Starting Pulsar producer perf with config: {
  "topicName" : "test-terminated",
  "producerName" : null,
  "sendTimeoutMs" : 30000,
  "blockIfQueueFull" : false,
  "maxPendingMessages" : 1000,
  "maxPendingMessagesAcrossPartitions" : 50000,
  "messageRoutingMode" : "RoundRobinPartition",
  "hashingScheme" : "JavaStringHash",
  "cryptoFailureAction" : "FAIL",
  "batchingMaxPublishDelayMicros" : 1000,
  "batchingPartitionSwitchFrequencyByPublishDelay" : 10,
  "batchingMaxMessages" : 1000,
  "batchingMaxBytes" : 131072,
  "batchingEnabled" : true,
  "chunkingEnabled" : false,
  "compressionType" : "NONE",
  "initialSequenceId" : null,
  "autoUpdatePartitions" : true,
  "autoUpdatePartitionsIntervalSeconds" : 60,
  "multiSchema" : true,
  "properties" : { }
}
21:19:01.956 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ProducerStatsRecorderImpl - Pulsar client config: {
  "serviceUrl" : "pulsar://localhost:6650/",
  "authPluginClassName" : null,
  "operationTimeoutMs" : 30000,
  "statsIntervalSeconds" : 60,
  "numIoThreads" : 1,
  "numListenerThreads" : 1,
  "connectionsPerBroker" : 1,
  "useTcpNoDelay" : true,
  "useTls" : false,
  "tlsTrustCertsFilePath" : "",
  "tlsAllowInsecureConnection" : false,
  "tlsHostnameVerificationEnable" : false,
  "concurrentLookupRequest" : 5000,
  "maxLookupRequest" : 50000,
  "maxLookupRedirects" : 20,
  "maxNumberOfRejectedRequestPerConnection" : 50,
  "keepAliveIntervalSeconds" : 30,
  "connectionTimeoutMs" : 10000,
  "requestTimeoutMs" : 60000,
  "initialBackoffIntervalNanos" : 100000000,
  "maxBackoffIntervalNanos" :<PHONE_NUMBER>0,
  "listenerName" : null,
  "useKeyStoreTls" : false,
  "sslProvider" : null,
  "tlsTrustStoreType" : "JKS",
  "tlsTrustStorePath" : "",
  "tlsTrustStorePassword" : "",
  "tlsCiphers" : [ ],
  "tlsProtocols" : [ ],
  "proxyServiceUrl" : null,
  "proxyProtocol" : null,
  "enableTransaction" : false
}
21:19:01.965 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ProducerImpl - [test-terminated] [null] Creating producer on cnx [id: 0xa6301a34, L:/<IP_ADDRESS>:62669 - R:localhost/<IP_ADDRESS>:6650]
21:19:01.974 [pulsar-client-io-1-1] WARN  org.apache.pulsar.client.impl.ClientCnx - [id: 0xa6301a34, L:/<IP_ADDRESS>:62669 - R:localhost/<IP_ADDRESS>:6650] Received error from server: Topic was already terminated
21:19:01.975 [pulsar-client-io-1-1] ERROR org.apache.pulsar.client.impl.ProducerImpl - [test-terminated] [null] Failed to create producer: Topic was already terminated
21:19:01.976 [main] ERROR org.apache.pulsar.client.cli.PulsarClientTool - Error while producing messages
21:19:01.976 [main] ERROR org.apache.pulsar.client.cli.PulsarClientTool - Topic was already terminated
org.apache.pulsar.client.api.PulsarClientException$TopicTerminatedException: Topic was already terminated
	at org.apache.pulsar.client.api.PulsarClientException.unwrap(PulsarClientException.java:932) ~[org.apache.pulsar-pulsar-client-api-2.7.0.jar:2.7.0]
	at org.apache.pulsar.client.impl.ProducerBuilderImpl.create(ProducerBuilderImpl.java:93) ~[org.apache.pulsar-pulsar-client-original-2.7.0.jar:2.7.0]
	at org.apache.pulsar.client.cli.CmdProduce.publish(CmdProduce.java:211) [org.apache.pulsar-pulsar-client-tools-2.7.0.jar:2.7.0]
	at org.apache.pulsar.client.cli.CmdProduce.run(CmdProduce.java:196) [org.apache.pulsar-pulsar-client-tools-2.7.0.jar:2.7.0]
	at org.apache.pulsar.client.cli.PulsarClientTool.run(PulsarClientTool.java:175) [org.apache.pulsar-pulsar-client-tools-2.7.0.jar:2.7.0]
	at org.apache.pulsar.client.cli.PulsarClientTool.main(PulsarClientTool.java:209) [org.apache.pulsar-pulsar-client-tools-2.7.0.jar:2.7.0]
21:19:01.979 [main] INFO  org.apache.pulsar.client.cli.PulsarClientTool - 0 messages successfully produced

I retried with the command line tools for Pulsar 2.6.1 ensuring that the subscriber name was new each time and was able to reproduce the behavior
17:13:18.081 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ClientCnx - [pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443] Broker notification reached the end of topic: 0
17:13:18.081 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [subcriber5] [persistent://cogito-dialog/wav/test5] [48326] Consumer has reached the end of topic

TEST CASE 1: No Terminate
Producer
$ ./pulsar-client --url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-protocol SNI produce persistent://cogito-dialog/wav/testNoTerminate -f ~/platform2-signal/signal-stream-client-library/src/intTest/resources/python.wav

Consumer
$ ./pulsar-client --url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-protocol SNI consume -p Earliest -s subcriberNoTerminate persistent://cogito-dialog/wav/testNoTerminate -t Shared

Response
17:15:31.672 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [persistent://cogito-dialog/wav/testNoTerminate][subcriberNoTerminate] Subscribing to topic on cnx [id: 0x4a36f046, L:/<IP_ADDRESS>:62168 - R:pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443]
17:15:31.725 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [persistent://cogito-dialog/wav/testNoTerminate][subcriberNoTerminate] Subscribed to topic on pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443 -- consumer: 0

TEST CASE 2: Include Terminate
Producer
$ ./pulsar-client --url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-protocol SNI produce persistent://cogito-dialog/wav/testWithTerminate -f ~/platform2-signal/signal-stream-client-library/src/intTest/resources/python.wav

Termination
$ ./apache-pulsar-2.6.1/bin/pulsar-admin --admin-url http://platform-pulsar-broker:8080 topics terminate  persistent://cogito-dialog/wav/testWithTerminate
Warning: Nashorn engine is planned to be removed from a future JDK release
Topic succesfully terminated at 951286:0:-1

Consumer
$ ./pulsar-client --url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-protocol SNI consume -p Earliest -s subcriberWithTerminate persistent://cogito-dialog/wav/testWithTerminate -t Shared

Response
17:17:42.151 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [persistent://cogito-dialog/wav/testWithTerminate][subcriberWithTerminate] Subscribing to topic on cnx [id: 0x2e169889, L:/<IP_ADDRESS>:62185 - R:pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443]
17:17:42.293 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [persistent://cogito-dialog/wav/testWithTerminate][subcriberWithTerminate] Subscribed to topic on pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443 -- consumer: 0
17:17:42.477 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ClientCnx - [pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443] Broker notification reached the end of topic: 0
17:17:42.478 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [subcriberWithTerminate] [persistent://cogito-dialog/wav/testWithTerminate] [be3a5] Consumer has reached the end of topic

I retried with the command line tools for Pulsar 2.6.1 ensuring that the subscriber name was new each time and was able to reproduce the behavior
17:13:18.081 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ClientCnx - [pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443] Broker notification reached the end of topic: 0
17:13:18.081 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [subcriber5] [persistent://cogito-dialog/wav/test5] [48326] Consumer has reached the end of topic

TEST CASE 1: No Terminate
Producer
$ ./pulsar-client --url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-protocol SNI produce persistent://cogito-dialog/wav/testNoTerminate -f ~/platform2-signal/signal-stream-client-library/src/intTest/resources/python.wav

Consumer
$ ./pulsar-client --url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-protocol SNI consume -p Earliest -s subcriberNoTerminate persistent://cogito-dialog/wav/testNoTerminate -t Shared

Response
17:15:31.672 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [persistent://cogito-dialog/wav/testNoTerminate][subcriberNoTerminate] Subscribing to topic on cnx [id: 0x4a36f046, L:/<IP_ADDRESS>:62168 - R:pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443]
17:15:31.725 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [persistent://cogito-dialog/wav/testNoTerminate][subcriberNoTerminate] Subscribed to topic on pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443 -- consumer: 0

TEST CASE 2: Include Terminate
Producer
$ ./pulsar-client --url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-protocol SNI produce persistent://cogito-dialog/wav/testWithTerminate -f ~/platform2-signal/signal-stream-client-library/src/intTest/resources/python.wav

Termination
$ ./apache-pulsar-2.6.1/bin/pulsar-admin --admin-url http://platform-pulsar-broker:8080 topics terminate  persistent://cogito-dialog/wav/testWithTerminate
Warning: Nashorn engine is planned to be removed from a future JDK release
Topic succesfully terminated at 951286:0:-1

Consumer
$ ./pulsar-client --url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-url pulsar+ssl://pulsar.saas-dev.cogitocorp.us:7443 --proxy-protocol SNI consume -p Earliest -s subcriberWithTerminate persistent://cogito-dialog/wav/testWithTerminate -t Shared

Response
17:17:42.151 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [persistent://cogito-dialog/wav/testWithTerminate][subcriberWithTerminate] Subscribing to topic on cnx [id: 0x2e169889, L:/<IP_ADDRESS>:62185 - R:pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443]
17:17:42.293 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [persistent://cogito-dialog/wav/testWithTerminate][subcriberWithTerminate] Subscribed to topic on pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443 -- consumer: 0
17:17:42.477 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ClientCnx - [pulsar.saas-dev.cogitocorp.us/<IP_ADDRESS>:7443] Broker notification reached the end of topic: 0
17:17:42.478 [pulsar-client-io-1-1] INFO  org.apache.pulsar.client.impl.ConsumerImpl - [subcriberWithTerminate] [persistent://cogito-dialog/wav/testWithTerminate] [be3a5] Consumer has reached the end of topic

The issue had no activity for 30 days, mark with Stale label.

Closed as stale. Please create a new issue if it's still relevant to the maintained versions.


Middleware CRD spec as documented cannot be parsed after upgrading from v2.1 to v2.2

Do you want to request a feature or report a bug?
Bug
What did you do?
Configured redirectscheme middleware as per the documentation at https://docs.traefik.io/middlewares/redirectscheme/#port
What did you expect to see?
Working middleware
What did you see instead?
Errors in the logs suggesting that the port must be a quoted string, not a number
Output of traefik version: (What version of Traefik are you using?)
image: traefik:v2.2.1

What is your environment & configuration (arguments, toml, provider, platform, ...)?
Kubernetes CRD
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: redirect-to-https
  namespace: traefik
spec:
  redirectScheme:
    scheme: https
    permanent: true
    port: 443

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
E0502 10:22:31.250816       1 reflector.go:153] pkg/mod/k8s.io/client-go@v0.17.3/tools/cache/reflector.go:105: Failed to list *v1alpha1.Middleware: v1alpha1.MiddlewareList.Items: []v1alpha1.Middleware: v1alpha1.Middleware.Spec: v1alpha1.MiddlewareSpec.RedirectScheme: dynamic.RedirectScheme.Port: ReadString: expects " or n, but found 4, error found in #10 byte of ...|e,"port":443,"scheme|..., bigger context ...|spec":{"redirectScheme":{"permanent":true,"port":443,"scheme":"https"}}}],"kind":"MiddlewareList","m|...

I had a similar error for the permanent option, but I'll give that one a pass since it isn't quoted in the documentation. However, I wasn't expecting the parser to be this fussy, especially since it worked fine on v2.1 and the docs didn't mention anything about the parser changing between versions.
E0502 10:14:27.377071       1 reflector.go:153] pkg/mod/k8s.io/client-go@v0.17.3/tools/cache/reflector.go:105: Failed to list *v1alpha1.Middleware: v1alpha1.MiddlewareList.Items: []v1alpha1.Middleware: v1alpha1.Middleware.Spec: v1alpha1.MiddlewareSpec.RedirectScheme: dynamic.RedirectScheme.Permanent: ReadBool: expect t or f, but found ", error found in #10 byte of ...|rmanent":"true","por|..., bigger context ...|815620dc"},"spec":{"redirectScheme":{"permanent":"true","port":443,"scheme":"https"}}}],"kind":"Midd|...

Closed by #6769.


SGE not triggering ASG autoscaling

AWS ParallelCluster version [e.g. 2.9.0]: 2.7.0
Cluster config:

[global]
update_check = true
sanity_check = false
cluster_template = master-pull-requests-green

[cluster master-pull-requests-green]
custom_ami = ami-XXXX
scheduler = sge
# below is inserted from config/master-pull-requests
compute_instance_type = m5.12xlarge
cluster_type = ondemand
master_instance_type = m5.2xlarge
master_root_volume_size = 100
compute_root_volume_size = 100
initial_queue_size = 0
max_queue_size = 180
maintain_initial_size = false
base_os=centos7
key_name = ec2-admin
pre_install = s3://XXXX/pre_install.sh
post_install = s3://XXXX/post_install.sh
extra_json = { "cluster" : { "cfn_scheduler_slots" : "cores" } }
vpc_settings = default
scaling_settings = default

# below is inserted from config/vpc-default
[vpc default]
vpc_id = vpc-XXXX
master_subnet_id = subnet-XXX
vpc_security_group_id = sg-XXXX
use_public_ips = false
# below is inserted from config/scaling-profiles
[scaling default]
scaledown_idletime = 10

[aws]
aws_region_name = us-west-2

Bug description and how to reproduce:
Occasionally, the ASGs for ParallelCluster stops responding to SGE's requests for new nodes for hours at a time.
Additional context:
I realize this is a rather old version, using the soon-to-be-sunsetted SGE, so maybe this is just an issue with this particular outdated setup, but we're having a rather unusual issue that has started to happen around 2021-03-20 on a cluster that has been working just fine since November 2020, and has continued to happen sporadically.
Occasionally, we encounter periods of several hours when the ASG becomes unresponsive to SGE's requests - SGE knows that jobs are pending and tries repeatedly to get a node for its jobs, but ASG shows zero activity and the jobs time out.

Here is one such instance of a job that got queued during this time, with all relevant logs:
Our own logging of qstat showing the queued job:
Apr 03 17:40:23 cbadmin log-qstat[5878]: + ssh -o StrictHostKeyChecking=no <IP_ADDRESS> 'sudo SGE_ROOT=/opt/sge /opt/sge/bin/lx-amd64/qstat -f -u '\''*'\'''
Apr 03 17:40:24 cbadmin log-qstat[5878]: ############################################################################
Apr 03 17:40:24 cbadmin log-qstat[5878]: - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS
Apr 03 17:40:24 cbadmin log-qstat[5878]: ############################################################################
Apr 03 17:40:24 cbadmin log-qstat[5878]: 252776 0.55500 PRStage1Po build        qw    04/03/2021 16:56:18     8
--
Apr 03 17:45:23 cbadmin log-qstat[6868]: + ssh -o StrictHostKeyChecking=no <IP_ADDRESS> 'sudo SGE_ROOT=/opt/sge /opt/sge/bin/lx-amd64/qstat -f -u '\''*'\'''
Apr 03 17:45:23 cbadmin log-qstat[6868]: ############################################################################
Apr 03 17:45:23 cbadmin log-qstat[6868]: - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS
Apr 03 17:45:23 cbadmin log-qstat[6868]: ############################################################################
Apr 03 17:45:23 cbadmin log-qstat[6868]: 252777 0.55500 PRStage1Po build        qw    04/03/2021 17:42:07     8
--
Apr 03 17:50:23 cbadmin log-qstat[8048]: + ssh -o StrictHostKeyChecking=no <IP_ADDRESS> 'sudo SGE_ROOT=/opt/sge /opt/sge/bin/lx-amd64/qstat -f -u '\''*'\'''
Apr 03 17:50:24 cbadmin log-qstat[8048]: ############################################################################
Apr 03 17:50:24 cbadmin log-qstat[8048]: - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS
Apr 03 17:50:24 cbadmin log-qstat[8048]: ############################################################################
Apr 03 17:50:24 cbadmin log-qstat[8048]: 252777 0.55500 PRStage1Po build        qw    04/03/2021 17:42:07     8
--
Apr 03 17:55:23 cbadmin log-qstat[9179]: + ssh -o StrictHostKeyChecking=no <IP_ADDRESS> 'sudo SGE_ROOT=/opt/sge /opt/sge/bin/lx-amd64/qstat -f -u '\''*'\'''
Apr 03 17:55:23 cbadmin log-qstat[9179]: ############################################################################
Apr 03 17:55:23 cbadmin log-qstat[9179]: - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS
Apr 03 17:55:23 cbadmin log-qstat[9179]: ############################################################################
Apr 03 17:55:23 cbadmin log-qstat[9179]: 252777 0.55500 PRStage1Po build        qw    04/03/2021 17:42:07     8
--
Apr 03 18:00:24 cbadmin log-qstat[10184]: + ssh -o StrictHostKeyChecking=no <IP_ADDRESS> 'sudo SGE_ROOT=/opt/sge /opt/sge/bin/lx-amd64/qstat -f -u '\''*'\'''
Apr 03 18:00:24 cbadmin log-qstat[10184]: ############################################################################
Apr 03 18:00:24 cbadmin log-qstat[10184]: - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS
Apr 03 18:00:24 cbadmin log-qstat[10184]: ############################################################################
Apr 03 18:00:24 cbadmin log-qstat[10184]: 252777 0.55500 PRStage1Po build        qw    04/03/2021 17:42:07     8
--
Apr 03 18:05:23 cbadmin log-qstat[12104]: + ssh -o StrictHostKeyChecking=no <IP_ADDRESS> 'sudo SGE_ROOT=/opt/sge /opt/sge/bin/lx-amd64/qstat -f -u '\''*'\'''
Apr 03 18:05:23 cbadmin log-qstat[12104]: ############################################################################
Apr 03 18:05:23 cbadmin log-qstat[12104]: - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS
Apr 03 18:05:23 cbadmin log-qstat[12104]: ############################################################################
Apr 03 18:05:23 cbadmin log-qstat[12104]: 252777 0.55500 PRStage1Po build        qw    04/03/2021 17:42:07     8
--
Apr 03 18:10:23 cbadmin log-qstat[13086]: + ssh -o StrictHostKeyChecking=no <IP_ADDRESS> 'sudo SGE_ROOT=/opt/sge /opt/sge/bin/lx-amd64/qstat -f -u '\''*'\'''
Apr 03 18:10:23 cbadmin log-qstat[13086]: ############################################################################
Apr 03 18:10:23 cbadmin log-qstat[13086]: - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS
Apr 03 18:10:23 cbadmin log-qstat[13086]: ############################################################################
Apr 03 18:10:23 cbadmin log-qstat[13086]: 252777 0.55500 PRStage1Po build        qw    04/03/2021 17:42:07     8

jobwatcher:
2021-04-03 17:40:46,033 INFO [sge_commands:get_pending_jobs_info] Retrieved 1 pending jobs
2021-04-03 17:40:46,033 INFO [sge_commands:get_pending_jobs_info] The pending jobs are: [SgeJob(number='252776', slots=8, state='qw', node_type=None, array_index=None, hostname=None, hard_request=[{'h_rt': '86400'}, {'s_rt': '86400'}])]
2021-04-03 17:40:46,034 INFO [jobwatcher:_poll_scheduler_status] 1 nodes requested, 0 nodes busy or unavailable
2021-04-03 17:40:46,034 INFO [jobwatcher:_poll_scheduler_status] 1 nodes required, 1 nodes in asg. Noop
2021-04-03 17:41:45,984 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/180
2021-04-03 17:41:45,995 INFO [sge:get_busy_nodes] Found the following compute nodes:
{}
2021-04-03 17:41:46,004 INFO [sge_commands:get_pending_jobs_info] Retrieved 1 pending jobs
2021-04-03 17:41:46,004 INFO [sge_commands:get_pending_jobs_info] The pending jobs are: [SgeJob(number='252776', slots=8, state='qw', node_type=None, array_index=None, hostname=None, hard_request=[{'h_rt': '86400'}, {'s_rt': '86400'}])]
2021-04-03 17:41:46,004 INFO [jobwatcher:_poll_scheduler_status] 1 nodes requested, 0 nodes busy or unavailable
2021-04-03 17:41:46,004 INFO [jobwatcher:_poll_scheduler_status] 1 nodes required, 1 nodes in asg. Noop
2021-04-03 17:42:46,003 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/180
2021-04-03 17:42:46,015 INFO [sge:get_busy_nodes] Found the following compute nodes:
{}
2021-04-03 17:42:46,024 INFO [sge_commands:get_pending_jobs_info] Retrieved 2 pending jobs
2021-04-03 17:42:46,024 INFO [sge_commands:get_pending_jobs_info] The pending jobs are: [SgeJob(number='252776', slots=8, state='qw', node_type=None, array_index=None, hostname=None, hard_request=[{'h_rt': '86400'}, {'s_rt': '86400'}]), SgeJob(number='252777', slots=8, state='qw', node_type=None, array_index=None, hostname=None, hard_request=[{'h_rt': '86400'}, {'s_rt': '86400'}])]
2021-04-03 17:42:46,024 INFO [jobwatcher:_poll_scheduler_status] 1 nodes requested, 0 nodes busy or unavailable
2021-04-03 17:42:46,024 INFO [jobwatcher:_poll_scheduler_status] 1 nodes required, 1 nodes in asg. Noop
2021-04-03 17:43:45,973 INFO [jobwatcher:_poll_scheduler_status] Refreshing compute instance properties
2021-04-03 17:43:46,158 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/180
2021-04-03 17:43:46,170 INFO [sge:get_busy_nodes] Found the following compute nodes:
{}
2021-04-03 17:43:46,178 INFO [sge_commands:get_pending_jobs_info] Retrieved 1 pending jobs
2021-04-03 17:43:46,178 INFO [sge_commands:get_pending_jobs_info] The pending jobs are: [SgeJob(number='252777', slots=8, state='qw', node_type=None, array_index=None, hostname=None, hard_request=[{'h_rt': '86400'}, {'s_rt': '86400'}])]
2021-04-03 17:43:46,178 INFO [jobwatcher:_poll_scheduler_status] 1 nodes requested, 0 nodes busy or unavailable
2021-04-03 17:43:46,178 INFO [jobwatcher:_poll_scheduler_status] 1 nodes required, 1 nodes in asg. Noop
2021-04-03 17:44:46,081 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/180
2021-04-03 17:44:46,093 INFO [sge:get_busy_nodes] Found the following compute nodes:
{}
2021-04-03 17:44:46,101 INFO [sge_commands:get_pending_jobs_info] Retrieved 1 pending jobs
2021-04-03 17:44:46,102 INFO [sge_commands:get_pending_jobs_info] The pending jobs are: [SgeJob(number='252777', slots=8, state='qw', node_type=None, array_index=None, hostname=None, hard_request=[{'h_rt': '86400'}, {'s_rt': '86400'}])]
2021-04-03 17:44:46,102 INFO [jobwatcher:_poll_scheduler_status] 1 nodes requested, 0 nodes busy or unavailable
2021-04-03 17:44:46,102 INFO [jobwatcher:_poll_scheduler_status] 1 nodes required, 1 nodes in asg. Noop
2021-04-03 17:45:46,146 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/180
2021-04-03 17:45:46,157 INFO [sge:get_busy_nodes] Found the following compute nodes:
{}
2021-04-03 17:45:46,165 INFO [sge_commands:get_pending_jobs_info] Retrieved 1 pending jobs
2021-04-03 17:45:46,166 INFO [sge_commands:get_pending_jobs_info] The pending jobs are: [SgeJob(number='252777', slots=8, state='qw', node_type=None, array_index=None, hostname=None, hard_request=[{'h_rt': '86400'}, {'s_rt': '86400'}])]
2021-04-03 17:45:46,166 INFO [jobwatcher:_poll_scheduler_status] 1 nodes requested, 0 nodes busy or unavailable
2021-04-03 17:45:46,166 INFO [jobwatcher:_poll_scheduler_status] 1 nodes required, 1 nodes in asg. Noop
2021-04-03 17:46:46,116 INFO [jobwatcher:_poll_scheduler_status] Refreshing compute instance properties
2021-04-03 17:46:46,295 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/180
2021-04-03 17:46:46,306 INFO [sge:get_busy_nodes] Found the following compute nodes:
{}
2021-04-03 17:46:46,315 INFO [sge_commands:get_pending_jobs_info] Retrieved 1 pending jobs
2021-04-03 17:46:46,315 INFO [sge_commands:get_pending_jobs_info] The pending jobs are: [SgeJob(number='252777', slots=8, state='qw', node_type=None, array_index=None, hostname=None, hard_request=[{'h_rt': '86400'}, {'s_rt': '86400'}])]
2021-04-03 17:46:46,315 INFO [jobwatcher:_poll_scheduler_status] 1 nodes requested, 0 nodes busy or unavailable
2021-04-03 17:46:46,315 INFO [jobwatcher:_poll_scheduler_status] 1 nodes required, 1 nodes in asg. Noop
2021-04-03 17:47:46,282 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/180
2021-04-03 17:47:46,294 INFO [sge:get_busy_nodes] Found the following compute nodes:
{}
2021-04-03 17:47:46,303 INFO [sge_commands:get_pending_jobs_info] Retrieved 1 pending jobs
2021-04-03 17:47:46,303 INFO [sge_commands:get_pending_jobs_info] The pending jobs are: [SgeJob(number='252777', slots=8, state='qw', node_type=None, array_index=None, hostname=None, hard_request=[{'h_rt': '86400'}, {'s_rt': '86400'}])]
2021-04-03 17:47:46,303 INFO [jobwatcher:_poll_scheduler_status] 1 nodes requested, 0 nodes busy or unavailable
2021-04-03 17:47:46,303 INFO [jobwatcher:_poll_scheduler_status] 1 nodes required, 1 nodes in asg. Noop
2021-04-03 17:48:46,333 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/180
2021-04-03 17:48:46,345 INFO [sge:get_busy_nodes] Found the following compute nodes:
{}
2021-04-03 17:48:46,354 INFO [sge_commands:get_pending_jobs_info] Retrieved 1 pending jobs
2021-04-03 17:48:46,354 INFO [sge_commands:get_pending_jobs_info] The pending jobs are: [SgeJob(number='252777', slots=8, state='qw', node_type=None, array_index=None, hostname=None, hard_request=[{'h_rt': '86400'}, {'s_rt': '86400'}])]
2021-04-03 17:48:46,354 INFO [jobwatcher:_poll_scheduler_status] 1 nodes requested, 0 nodes busy or unavailable
2021-04-03 17:48:46,354 INFO [jobwatcher:_poll_scheduler_status] 1 nodes required, 1 nodes in asg. Noop
2021-04-03 17:49:46,262 INFO [jobwatcher:_poll_scheduler_status] Refreshing compute instance properties
2021-04-03 17:49:46,465 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/180
2021-04-03 17:49:46,476 INFO [sge:get_busy_nodes] Found the following compute nodes:

sqswatcher:
2021-04-03 17:40:17,301 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:40:19,311 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:40:47,329 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:40:49,338 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:41:17,357 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:41:19,369 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:41:47,385 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:41:49,395 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:42:17,413 INFO [sqswatcher:_poll_queue] Refreshing cluster properties
2021-04-03 17:42:17,530 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/180
2021-04-03 17:42:17,596 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:42:19,606 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:42:47,441 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:42:49,449 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:43:17,469 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:43:19,501 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:43:47,497 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:43:49,521 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:44:17,504 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:44:19,510 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:44:47,532 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:44:49,540 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:45:17,549 INFO [sqswatcher:_poll_queue] Refreshing cluster properties
2021-04-03 17:45:17,643 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/180
2021-04-03 17:45:17,704 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:45:19,712 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:45:47,575 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:45:49,581 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:46:17,603 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:46:19,613 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:46:47,604 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:46:49,612 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:47:17,632 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:47:19,640 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:47:47,635 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:47:49,662 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:48:17,663 INFO [sqswatcher:_poll_queue] Refreshing cluster properties
2021-04-03 17:48:17,785 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/180
2021-04-03 17:48:17,845 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:48:19,852 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:48:47,691 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:48:49,697 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:49:17,719 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:49:19,727 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue
2021-04-03 17:49:47,747 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieving messages from SQS queue
2021-04-03 17:49:49,755 INFO [sqswatcher:_retrieve_all_sqs_messages] Retrieved 0 messages from SQS queue

ASG activity log:

Interestingly, this seems to usually happen when the cluster enters a quiet period with no jobs for several hours (may be unrelated but I noticed that this cluster never scales down to 0 nodes when there are no jobs, even though our config doesn't define a minimum node count). I'm not sure if this happens every time the cluster scales down completely, though, since I only know of instances reported by our engineers.
There is just dead silence from the ASG during these periods - nothing in the activity logs or Cloudtrail. Similarly, SQS Cloudwatch metrics show no activity during these times as well. Eventually, several hours after jobs have been getting scheduled and timing out, it starts spinning up nodes again, and things operate normally for a while, but this happens every few days.
Let me know if there's any other info I can provide or I missed.

I just realized after filing this issue that the fact that it never scales down to 0 is relevant and there must be orphan nodes that SGE is somehow unable to schedule jobs on that's causing this -  will close since it's not a mystery anymore though the fact that this can happen and the problem be very invisible is not great


Update working-with-boards.rst

Added Calendar view content.
@wuwinson, I'm not sure how much detail to add around the default sorting vs. custom properties and how it affects moving cards around. If it's something that users struggle with then happy to add more details but don't want to muddy the waters. LMK if I left anything out (from the demo it seems like I included everything).

Added Calendar view content.
@wuwinson, I'm not sure how much detail to add around the default sorting vs. custom properties and how it affects moving cards around. If it's something that users struggle with then happy to add more details but don't want to muddy the waters. LMK if I left anything out (from the demo it seems like I included everything).

Agreed, what you have there looks great!


Cannot select Speed Test from menu on mobile

See attached from iOS 15 on an iPhone 12 mini. I cannot scroll the menu to get to the Speed Test option. (Clip is slightly trimmed in the middle to fit on GitHub.)
Also it seems possible to scroll the page under the menu somehow (see end of clip).
https://user-images.githubusercontent.com/108767/181653771-ff7dc573-5b1e-4d1d-ac48-a118ee639500.mov

This should be resolved now


Create answers.md

Answered questions

Thank you for your submission @Muneeb-T 👍
We'll review it and get back to you.


update the deprecated ingress resource

extensions/v1beta1 is deprecated.  Update to use networking.k8s.io/v1 for the ingress.

Merged and feature branch removed.


loadFile(fileURL, preferredSize, fullscreen)

Problem Description

Solution Description

Alternatives

Additional context

#- Thank you for your update @ShawtyDaGee ****

#- Thank you for your update @ https://github.com/creativecommons/cccatalog-api/issues/517#issuecomment-637056701


Linear Probing in Hashing

👨💻 Changes proposed

I have added the Linear Probing algorithm in hashing using Java using the remainder method to assign unique keys to the given values.
✔ Check List (Check all the applicable boxes)

[ ✔] My code follows the code style of this project.
[✔ ] This PR does not contain plagiarized content.
[ ✔] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers
Its my first PR, If I have done any mistakes or If I can improve anything, please guide me through.

📷 Screenshots

I have given fresh feature request can you please check.


[low-power] extend EnableCsl API

Include the peer's short address together with the extended address when enabling the CSL link. This removes the need for the platform to guess it.

I think we may also need to update radio.c in ot-nrf528xx. Otherwise it will break the build of nrf examples. Thoughts? @edmont @jwhui

Yes, my idea is to proceed with ot-nrf528xx update afterwards. But as far as I understand no platform is blocking progress on main OpenThread repository now, right? Shouldn't these kind of changes be sequential?

Yes, my idea is to proceed with ot-nrf528xx update afterwards. But as far as I understand no platform is blocking progress on main OpenThread repository now, right? Shouldn't these kind of changes be sequential?

Size report CI check depends on nrf52840 build

But for passing the CI the changes on ot-nrf528xx should be merged first, right?

But for passing the CI the changes on ot-nrf528xx should be merged first, right?

Well you can just change the function in openthread/ot-nrf528xx
from
#if OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE
otError otPlatRadioEnableCsl(otInstance *aInstance, uint32_t aCslPeriod, const otExtAddress *aExtAddr)

to
otError otPlatRadioEnableCsl(otInstance *        aInstance,
                             uint32_t            aCslPeriod,
                             otShortAddress      aShortAddr,
                             const otExtAddress *aExtAddr)
{
    OT_UNUSED_VARIABLE(aShortAddr);
...

It should pass the CI check for openthread/ot-nrf528xx. Then this PR can pass CI check once the change in openthread/ot-nrf528xx has been merged. You can add a follow up implementation in openthread/ot-nrf528xx later.
@Irving-cl @jwhui Any better approach for such dependency issue?


Crucial error in LabelSwtichSetting.

It has a typo.

@MatyasKriz Thanks, I will correct it later

@MatyasKriz  fix on 0.1.4


[XFAIL] Disable validation-test/stdlib/CommandLine.swift (70423908)

(cherry picked from commit 21f4cf6a9c77a7999b91745b1ffedfd640c86c21)

Merged to unblock toolchain bot.


Basic authentication with passwords is depricated

Hello, I'm attempting to post some content to my company confluence wiki and I'm getting the following in the trace:
 mark --base-url "https://mycompany.atlassian.net/wiki" -u<EMAIL_ADDRESS>-p passwordtext -f test.md --trace
2021-08-09 16:30:59.412 TRACE rest: HTTP/1.1 401 Unauthorized
                              Transfer-Encoding: chunked
                              Atl-Traceid: 45fa36af38a551a8
                              Connection: keep-alive
                              Content-Type: text/plain
                              Date: Mon, 09 Aug 2021 20:30:59 GMT
                              Expect-Ct: report-uri="https://web-security-reports.services.atlassian.com/expect-ct-report/global-proxy", enforce, max-age=86400
                              Server: AtlassianProxy/<IP_ADDRESS>
                              Strict-Transport-Security: max-age=315360000; includeSubDomains; preload
                              X-Content-Type-Options: nosniff
                              X-Xss-Protection: 1; mode=block

                              d5
                              Basic authentication with passwords is deprecated.  For more information, see: https://confluence.atlassian.com/cloud/deprecation-of-basic-authentication-with-passwords-for-jira-and-confluence-apis-972355348.html

                              0

Is there any workaround for this currently? Thanks!
-Devin

Hi, just can get an API key and use it as the password.
On Mon, Aug 9, 2021, 23:36 devinnasar @.***> wrote:

Hello, I'm attempting to post some content to my company confluence wiki
and I'm getting the following in the trace:
mark --base-url "https://mycompany.atlassian.net/wiki" -u "
@.***" -p passwordtext -f test.md --trace
2021-08-09 16:30:59.412 TRACE rest: HTTP/1.1 401 Unauthorized
Transfer-Encoding: chunked
Atl-Traceid: 45fa36af38a551a8
Connection: keep-alive
Content-Type: text/plain
Date: Mon, 09 Aug 2021 20:30:59 GMT
Expect-Ct: report-uri="https://web-security-reports.services.atlassian.com/expect-ct-report/global-proxy", enforce, max-age=86400
Server: AtlassianProxy/<IP_ADDRESS>
Strict-Transport-Security: max-age=315360000; includeSubDomains; preload
X-Content-Type-Options: nosniff
X-Xss-Protection: 1; mode=block
                          d5
                          Basic authentication with passwords is deprecated.  For more information, see: https://confluence.atlassian.com/cloud/deprecation-of-basic-authentication-with-passwords-for-jira-and-confluence-apis-972355348.html

                          0

Is there any workaround for this currently? Thanks!
-Devin
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kovetskiy/mark/issues/102, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACAN7ZHZNXO6ZNOKCB7O6LTT4A35JANCNFSM5B2YGW5Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

Thank you, that solved the issue!


Process for fine tuning a language with a large amount of fonts

Not an issue but some questions since I was a bit confused. How exactly were the models in lstm_best trained? It says its trained on over 5000 fonts for english and spanish. Im trying to train japanese on around 2000 fonts and here are the things I am unsure of:

How do you tell tesstrain to train ALL the fonts in a directory rather than listing them one by one?
It seems to take around an hour for each font, so it would take alot of time to work on all of the fonts.
Was any cloud service used to train the model on? How do you make it use all my cores for training, since it only uses one

Sorry for so many questions, I've looked everywhere and there wasnt much on this topic.
Thanks in advance

You have to create a list of fontnames. you can use the textimage program to do so. eg:

 text2image --find_fonts \
 --fonts_dir /home/ubuntu/.fonts \
 --fontconfig_tmpdir=/home/ubuntu/tmp \
 --text /home/ubuntu/tess5training-iast/langdata/iast/all100.training_text \
 --min_coverage 0.99  \
 --outputbase ~/tmp \
 --render_per_font false \
 |& grep raw \
  | sed -e 's/ :.*//g'  > /home/ubuntu/tess5training-iast/langdata/iast/all100.fonts.txt

and 3. Official traineddata files were trained by Ray Smith at Google and probably took weeks to train.

Also See
https://tesseract-ocr.github.io/tessdoc/TrainingTesseract-4.00.html#hardware-software-requirements
https://github.com/tesseract-ocr/tesstrain/wiki/GT4HistOCR

Ah i see. When I run the training on my machine it only seems to be using 1 core. Is there any option that I can specify to make it use all my cores?

Make sure to build tesseract with --enable-openmp.


Liamnichols liamnichols tee patch

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[ ] I've updated the documentation if necessary.

Description
Updated the xcodebuild_log_file method to include the device name, language and locale where required. This now means that there is a log file generated per run to prevent logs being overwritten.
Before
➜  ls -l ~/Library/Logs/snapshot
-rw-r--r--  1 liamnichols  staff  25912  1 Apr 15:54 ExampleApp-ExampleScheme.log

After
➜  ls -l ~/Library/Logs/snapshot
-rw-r--r--  1 liamnichols  staff  25912  1 Apr 15:54 ExampleApp-ExampleScheme-iPhone 6-en-US.log
-rw-r--r--  1 liamnichols  staff  25912  1 Apr 15:54 ExampleApp-ExampleScheme-iPhone 6-pt-pt_BR.log
-rw-r--r--  1 liamnichols  staff  25912  1 Apr 15:54 ExampleApp-ExampleScheme-iPhone SE-en-US.log
-rw-r--r--  1 liamnichols  staff  25912  1 Apr 15:54 ExampleApp-ExampleScheme-iPhone SE-pt-pt_BR.log

Motivation and Context
I am currently running snapshot on an array of devices however my ui tests are failing randomly in some runs but not always the final device run. I try to look at the console output from xcpretty however it's not actually giving me anything useful.
Instead I've tried looking at the output in ~/Library/Logs/snapshot/ however because the xcodebuild and in turn the tee command gets run multiple times, the log file is overwritten each time the tests run. This means that when the last run succeeds and the failure is before that, I have no way of working out what is going on :/.
By having a unique filename for each xcodebuild command performed, i'm able to look back through the raw logs once fastlane snapshot has completed running and the important data wouldn't have been overwritten. This is also favoured over the original approach of appending -a to the tee command because that approach didn't have any way of keeping the log sizes reasonable.
I've tested this in a sample iOS project with a Snapfile that looks like the following:
# A list of devices you want to take the screenshots from
 devices([
   "iPhone 6",
   "iPhone SE"
 ])

languages([
  "en-US",
  ["pt", "pt_BR"] # Portuguese with Brazilian locale
])

# The name of the scheme which contains the UI Tests
 scheme "Example"

There are also a couple of extra tests to make sure things are working in all scenarios

Original PR
Description
Added the -a flag to the tee command in order to append the xcodebuild logs to the existing file when running snapshot in the test_command_generator.rb.
Motivation and Context
I am currently running snapshot on an array of devices however my ui tests are failing randomly in some runs but not always the final device run. I try to look at the console output from xcpretty however it's not actually giving me anything useful.
Instead I've tried looking at the output in ~/Library/Logs/snapshot/ however because the xcodebuild and in turn the tee command gets run multiple times, the log file is overwritten each time the tests run. This means that when the last run succeeds and the failure is before that, I have no way of working out what is going on :/.
Adding the -a argument to tee means that the stream is appended to the end of the file rather than overwriting it each time so this will fix my issue and allow me to see the complete logs and debug further.
I do have slight concerns about the size of the logs if it is always appending? Would this be an issue? I don't know how cleanup operations work here? I guess another option could be to append the device name to xcodebuild_log_path so that there are multiple files created instead however my Ruby knowledge doesn't span much further than being able to add an extra three characters into a string unfortunately.
In terms of how I have tested it, I haven't yet. I'm not sure how to setup my machine to run from source code so if anybody can help that would be great (ruby/gems aren't my strong point). Thanks.

Taken from https://github.com/fastlane/fastlane/pull/8725 via @liamnichols

          1 Error

:no_entry_sign:
Tests have failed, see below for more information.

Tests:

Name
File

Snapshot Snapshot::TestCommandGenerator Valid iOS Configuration default options uses the default parameters
test_command_generator_spec.rb

Snapshot Snapshot::TestCommandGenerator Valid iOS Configuration default options allows to supply custom xcargs
test_command_generator_spec.rb

Snapshot Snapshot::TestCommandGenerator Valid iOS Configuration default options uses the default parameters on tvOS too
test_command_generator_spec.rb

Snapshot Snapshot::TestCommandGenerator Valid macOS Configuration uses default parameters on macOS
test_command_generator_spec.rb

Snapshot Snapshot::TestCommandGenerator Unique logs uses correct name and language
test_command_generator_spec.rb

Snapshot Snapshot::TestCommandGenerator Unique logs uses includes locale if specified
test_command_generator_spec.rb

  Generated by :no_entry_sign: Danger

Just waiting for @liamnichols's approval for the Google CLA before merging 👍

Oh cool this looks great! Thanks for picking the rest of it up 😬.
I'm happy with the CLA stuff! (is that enough for the google bot? 🤔)

Beautiful, thanks @liamnichols for contributing to fastlane 👍


feature/se-3-define-complex-input-types

Problem description
Extend Submission UI for getting enough information about the resource with many required fields. Concept of complex (or component) fields.
Example: Fields composed from other fields (First_Name + Last_Name + Email + Affiliation, or Project_Name + Project_Code + Funder).
How to test it
@Paurikova2 There is a 'Contact person' input field in the Submission UI which is configured as 'complex input type'. Test this input field.
This input field (row) consist of 4 inputs. 3 are required, 1 is not required.

[x] Required input fields should be marked with '*'
[x] If you do not type values to the required input field it should throws red warnings that this input fields cannot be empty.
[x] If you fill out required input fields you could create a new Item without filling out non-required input field.
[x] If you fill out all input fields and create a new Item you should see this values from this input in the local.contact.person metadata separated with ';'. (Item view page)
[x] Try to break down this complex input field.

@milanmajchrak

There are incorrect showing red warning around input file. (There is not warning around required field when you deposit item when you have not clicked into that field. There is just message window. You can see warning window only after clicking into that field)
It is not possible to create new Item without these required, fields but you can set metadata local.contact.person, so that is actually possible to create item without this required fields.

@milanmajchrak

There are incorrect showing red warning around input file. (There is not warning around required field when you deposit item when you have not clicked into that field. There is just message window. You can see warning window only after clicking into that field)
It is not possible to create new Item without these required, fields but you can set metadata local.contact.person, so that is actually possible to create item without this required fields.

@Paurikova2 I fixed that, please test it again.

@milanmajchrak
Tested.


[Proposal] Ability to map pivot table columns.

I currently have a use case where I need to create a many to many relationship that joins back onto the same table.
With two tables involved the pivot table would normally be created with the columns, _id and _id, in this case however, they are both pointing to the same table.
My model currently looks like:
<?php

class Foo extends Eloquent {
  public function foos() {
    return $this->belongsToMany('Foo');
  }
}

What I envisage this looking like is not too different to how we currently map different columns, eg;
return $this->belongsToMany('Foo', 'foos', ['foo_id' => 'parent_id', 'foo_id' => 'child_id']);

Where foo_id is the fk & other key from the foos table and they are being mapped to parent_id & child_id within the pivot.
Hope this makes sense.

Hi Taylor, In the friends example when you call friends() you would only get returned friendships where you are the user_id but you would also want friendships where you are the friend_id. I can't see how I could nicely combine the two relationships friendOf() and friendTo() to make friends().

@fretwellian +1

Cool, works for me too. Do not forget the ->get() when calling it up or you get a memory exhausted xD

Has anyone done the above along with withTimestamps() because I added that and they don't update for me.
On App\Product:
public function relatedProducts()
{
    return $this->belongsToMany('Product', 'related_products', 'product_id', 'related_product_id')
        ->withTimestamps();
}

The migration:
Schema::create('related_products', function (Blueprint $table) {
    $table->integer('product_id')->unsigned()->index();
    $table->foreign('product_id')->references('id')->on('products')->onDelete('cascade');

    $table->integer('related_product_id')->unsigned()->index();
    $table->foreign('related_product_id')->references('id')->on('products')->onDelete('cascade');

    $table->timestamps();
});

Then with:
$p = App\Product::find(15);
$p->relatedProducts()->attach(12);

This creates a record with 15,12,null,null in the related_products pivot table. No errors are shown. $p->relatedProducts (after running ::find() again) now shows the related product as expected.
Is there something I'm missing here or should I create a new issue to report this?

Hi Taylor, In the friends example when you call friends() you would only get returned friendships where you are the user_id but you would also want friendships where you are the friend_id. I can't see how I could nicely combine the two relationships friendOf() and friendTo() to make friends().

Has anyone figured this out?  I really need a solution where as @fretwellian described, I could retrieve all relationships whether it is user_id or friend_id.

I created a new relationship just inverting the foreign keys, it seems to work fin
public function friendsOf()
{
$friends = $this->belongsToMany('User', 'friend_user', 'friend_id', 'user_id');
return $friends;
}

@landadelcarmen / anyone Have you figured out a way to do this without creating a second query though? I've posted about this issue on SO. https://stackoverflow.com/questions/55113114/laravel-eloquent-inner-join-on-self-referencing-table

@RedPlatypus I am also still struggling with the same problem and I am at loss to find a solution, and I wonder that there are no better solutions than those in this post or the links that you listed in your stack overflow post. Making two queries is also no good solution when you want to find out the most recent friendship...
You might've seen that some answered to your question there. I was unfortunately not able to use the class that ifxcw contributed there.
Also Jonas Staudenmeir replied to your post and asked you to provide an example. I recently thought of using JSON to break this impasse and came across his laravel-hasmany-on-json-field class: https://stackoverflow.com/questions/47222856/laravel-hasmany-on-json-field . I am in the bit luckier position than you as I don't distinguish between the two friends. I only have the columns "friend1" and "friend2", so I thought I could merge them to "friends" and add something like "{]id1],[id2]}", or maybe {"friend1": 37, "friend2": 100}. But I haven't yet had time to check whether Jonas' class can solve this.
Lastly, in this regard, I also came across https://github.com/topclaudy/compoships, but if I see it correctly it seems to go in the other direction, not allowing "column1=1 OR column2=1" the opposite, "column1=1 AND column2=1".
Also union, merge, or push don't really solve the problem (https://stackoverflow.com/questions/29751859/laravel-5-hasmany-relationship-on-two-columns), but this turns it in a collection, so no more eager loading...
So I'm still searching... It's a bit frustrating as the solution with raw sql is so easy... Anyone else with a new idea?


Don't read from store inside of fetchOverInterface

We did this to make refetch return a result, but it's not a good approach.

@stubailo can you remind me why this is a bad thing? It may not be the cleanest thing to do, but I've never actually had any problems with that particular piece of code as far as I remember.


Develop

Codecov Report

Merging #9 (9910079) into master (8f8227d) will increase coverage by 0.90%.
The diff coverage is 76.69%.

@@            Coverage Diff             @@
##           master       #9      +/-   ##
==========================================
+ Coverage   59.50%   60.40%   +0.90%
==========================================
  Files           4        4
  Lines         242      293      +51
==========================================
+ Hits          144      177      +33
- Misses         82       98      +16
- Partials       16       18       +2

Impacted Files
Coverage Δ

api/v1alpha1/zz_generated.deepcopy.go
15.27% <14.28%> (-0.11%)
:arrow_down:

controllers/loudspeaker_controller.go
74.86% <79.77%> (-1.17%)
:arrow_down:

api/v1alpha1/loudspeaker_types.go
71.42% <100.00%> (+7.79%)
:arrow_up:

api/v1alpha1/loudspeaker_webhook.go
80.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Add AGersh79's file

create "my-slide" branch, in it new file, a commit about 2nd slide and pull request

thank you!


Replace terrain with virtual background

We decided to replace terrain with satellite or, even better, a standard map (less busy, better color contrast). and then a zooming in type of cone under the tabletop.

Is that just mapbox or smtg?


Add support for data-testid attribute to Input

We rely on data-testid attributes for our automated e2e and integration tests. We can't set the attribute value to the correct input element since setting that as a prop on an Input will set the attribute value on the wrapping div instead of the child input.
I've browsed the codebase and I've also come across this issue:
https://github.com/Semantic-Org/Semantic-UI-React/issues/2979
Not sure if this is the best way to solve it, so please comment if there's anything you want me to change. Thanks!

Codecov Report

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

@@           Coverage Diff           @@
##           master    #3334   +/-   ##
=======================================
  Coverage   99.89%   99.89%
=======================================
  Files         170      170
  Lines        2806     2806
=======================================
  Hits         2803     2803
  Misses          3        3

Continue to review full report at Codecov.

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

Is there any reason why this will not work for you?
<Input data-testid='foo' />

document.querySelector('[data-testid="foo"] input') // will point to input

@layershifter thanks for answering! At the moment we are doing exactly that. I'd still prefer if there was some kind of option to set the attribute directly on the input. Maybe another prop type on Input - eg innerInputAttributes?
Main reason is to be consistent - we have a convention of using data-testid on all interactive elements, this just makes us go a bit sideways. Not too big of a problem anyway :)

You can technically do this which I think will work for you in most cases.
<Input ...props>
  <input data-testid='foo' />
</Input>```

@brianespinosa thank you, I'll give it a try! I'd use that approach if there are no negative side effects.

We have a working solution there, so I'm going to close this.


GET repos endpoint error. Incompatible with "IP allow" rules?

So using GHEC with SSO and IP Allow whitelisting. I believe the PAT issued on my User is properly scoped for SSO in that Org, but my gut is telling me the IP allow is blocking your call into our Org?  Only see a 500 on my side so hard to tell.
Any chance you have a dedicated CIDR block for dependabot I could whitelist to test?

Hm. I have the same question for a GitHub-native Dependabot.
I thought that is consuming Git CIDR IPs - https://api.github.com/meta
But it's not like that, see the output of dig app.dependabot.com

You should now be able to use the IPs listed in the dependabot section in  https://api.github.com/meta

@jurre @feelepxyz Hi team! My GitHub Organization has IP restrictions and the Dependabot can't reach my org. As jurre posted (https://github.com/dependabot/dependabot-core/issues/2014#issuecomment-979984720), we can get the IP ranges of the Dependabot from the meta API but in the official doc, it says

We do not recommend allowing by IP address

Ref: About GitHub's IP addresses
I want to allow the Dependabot to get allowed without adding an IP range entry to my org's allowlist. Is it possible?
If so, it will help users maintain the Dependabot access and will reduce toil for monitoring the IP range changes by calling the meta API.
Thank you in advance!


Chrome to Crouton Install Issue

Please paste the output of the following command here: sudo edit-chroot -all

Please describe your issue:
Hey I've been following the updated tutorial to install Crouton and I'm a total newb so this may be something silly... Any help would be dope
If known, describe the steps to reproduce the issue:
I pull the command window:
crosh> shell (enter)
chronos@local host / $ sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton
install: cannot stat '/home/chronos/user/Downloads/crouton' : No such file or directory

@Chrome2Linux,
It just looks like you may not have the crouton installer in your Downloads folder.

You can grab the latest release from https://goo.gl/fd3zc.
Download it and save it in your Downloads folder.

Once that's done you should be able to continue with the steps you listed above.
Hope this helps,
-DennisLfromGA


Added telemetry using Kafka metrics

Adds telemetry measuring average batch size and amount of batches sent using custom metrics.

Closing this since it has been a draft for a few years, but thank you for the interest! Feel free to reopen this if/when you do revisit it.


Roll engine to 79332e5c42555875c7070c33810dab3f0012ace1

lgtm!
I restarted windows buildbot which seem to have failed due to timed out test, hopefully artifacts will be available soon.


Problems about the Unified Embedding alignment

Hi, great job. While debugging the code, I couldn't find this module. Is the "outputs_class = self.class_embed(decoder_output, features_clip)" in forward_prediction_head the module you are referring to?

self.class_embed = ZeroShotClassifier(256, num_classes, self.clip_text_path)
We perform unified embedding alignment in ZeroShotClassifier

Thanks. I find it.


[BEAM-2828] Moves Match into FileIO.match()/matchAll()

https://issues.apache.org/jira/browse/BEAM-2828
FileIO will later gain other methods, such as read()/write().
Also introduces FileIO.match().filepattern(...) as a shorthand for Create.of(filepattern).apply(FileIO.matchAll()).
Also introduces FileIO.MatchConfiguration - a common type to use
by various file-based IOs to reduce boilerplate, and uses it in TextIO.
R: @reuvenlax

Coverage decreased (-0.01%) to 69.964% when pulling bcad095f87436be7944dd7494ecad9b13af51557 on jkff:file-io into c33cb03403c4f6fdbb49a525f66f12210c00ea0a on apache:master.

Rebased, PTAL.

Rebased one more time.

Changes Unknown when pulling a9e3e82cadb5e92b430c632ca1503a45eaa2da6d on jkff:file-io into ** on apache:master**.

Coverage increased (+0.1%) to 69.835% when pulling 7425426e5394c5ce8e84959fd54cd0f1753efaab on jkff:file-io into 3aa2bef87c93d2844dd7c8dbaf45db75ec607792 on apache:master.

retest this please

Coverage increased (+0.07%) to 69.764% when pulling 7425426e5394c5ce8e84959fd54cd0f1753efaab on jkff:file-io into 3aa2bef87c93d2844dd7c8dbaf45db75ec607792 on apache:master.


Add a new test to Raptor to check all api reference docs have at least 1 example

All API method documents should have at least one example, as stated in the CDK. However, sometimes authors overlook this and don't add one.
We should check at the PR level that all documents living under api-reference/{version}/api have at least one example.

@millicentachieng as part of this feature, could we also count the total amount of examples there are? Or make API Doctor fail if they don't add the appropriate API Doctor validation tag to each example? I am referring to this:
<!-- {
  "blockType": "request",
  "name": "{unique_example_name}"
}-->

If the document doesn't have these code blocks, we can make it fail to ensure they are adding examples.
And in the case of resource documents we can check for this:
<!-- {
  "blockType": "resource",
  "optionalProperties": [],
  "keyProperty": "id",
<EMAIL_ADDRESS>"microsoft.graph.group"
}-->


fix: resize textarea only vertically

Description
textarea fields are capable of resizing horizontally at the moment.
this causes layout issues:

which even become worse when resizing the window as the textarea has a fixed horizontal width after resizing.

this PR adds resize: vertical to .field-type.textarea textarea which solves this problem.

[X] I have read and understand the CONTRIBUTING.md document in this repository

Type of change

[X] Bug fix (non-breaking change which fixes an issue)

Checklist:

[X] Existing test suite passes locally with my changes

Thank you @bigmistqke! Great catch!


Tell .gitattributes that .zip files are binary

The vendored ZIPs we still have are causing problems for me when
switching branches.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license.

Do we still vendor in .zip files?

Yes :)


Provide an example on how to loop over an array in json

Hi,
I have a path in json, which contains an array. I want to loop over this array.
Is there any tutorial or idea how to do this?
Thanks.

Hi m42e,
I have an update to the indexes[] ready to go that allows you to give it a path, & also a suffix flag that inclu grabs the 'root' or immediate index names from the given tiddler or sub path. That should do it for you. Need to run a couple more test cases, but it should be ready later today.
Best, Joshua

Thanks a lot, if there is anything I could do, let me know. I‘m not too much into JS to be honest

Hi! I found and squashed a few bugs, but this has been released.
See the announcement at: https://groups.google.com/forum/#!topic/tiddlywiki/z9DjVvm3Q1M
Best,
Joshua F

Hi. I found a bug in the node.js server install package, and also decided to change the flag syntax. Please see the new announcement: https://groups.google.com/d/msg/tiddlywiki/z9DjVvm3Q1M/eUWGTtBDBgAJ

Thanks for your support.


Redo log changefeed stucks after injecting KV failure

What did you do?

create redo log changefeed

cdc  cli  changefeed  create "--server=<IP_ADDRESS>:8301"  "--sink-uri=mysql://root:@downstream.cdc-testbed-tps-1892534-1-706:3306"  "--changefeed-id=redo-enable-cdc-all-node-restart-sync"  "--config=/tmp/changefeed.toml"

$ cat /tmp/changefeed.toml
[consistent]
level = "eventual"
nstorage = "s3://tmp/test-infra-redolog/redo-enable-cdc-all-node-restart-sync9ac9a259-7f35-4e58-926d-0d6d216693a9?access-key=minioadmin&secret-access-key=minioadmin&endpoint=http://minio-peer:9000&force-path-style=true
max-log-size = 64

run workload
Injact failure for all TiKV

[2023/08/16 19:45:41.280 +00:00] [INFO] [step.go:44] ["kvFailure: duration=1m0s,  allTiKV=true, failNode=0"]
[2023/08/16 19:45:41.280 +00:00] [INFO] [tikv_chaos.go:44] ["Inject TiKV failure for all nodes"]
[2023/08/16 19:46:41.385 +00:00] [INFO] [chaos.go:93] ["run chaos finished"]

What did you expect to see?
Changefeed should not stuck after TiKV failure restored
What did you see instead?
redo log changefeed stucks

"[meta_manager.go:334] [\"Redo meta has not changed for a long time, owner may be stuck\"] [namespace=default] [changefeed=redo-enable-cdc-all-node-restart-sync] [lastFlushTime=9m21.99436182s] [meta=\"{\\\"CheckpointTs\\\":443604045771833536,\\\"ResolvedTs\\\":443604045771833536}\"]"

Versions of the cluster
CDC version:
"[version.go:47] [\"Welcome to Change Data Capture (CDC)\"] [release-version=v7.4.0-alpha] [git-hash=dcfcb43a99bacd7639156421993a3a95284c5f45] [git-branch=heads/refs/tags/v7.4.0-alpha] [utc-build-time=\"2023-08-16 11:36:28\"] [go-version=\"go version go1.21.0 linux/amd64\"] [failpoint-build=false]"

/assign @CharlesCheung96

This issue also seen when running mysql sink changefeed and injecting tikv failures. (case: tikv_unavailable_sync)

This issue also seen in case of tikv network partition or cdc scale scenarios.


Add support for multiple ORs

Fixes #307

@madejejej why did you close it?

@solnic I won't have the time to work on it and I think it's better if there aren't any dead PRs?

@madejejej gotcha, I'm gonna get back to this anyway, just not sure when 🤷🏻


amp service ps should filter out SHUTDOWN services by default

Today this is what we have with amp service ps:
amp service ps pinger_pinger
[user bquenin @ localhost:50101]
ID                          IMAGE                     DESIRED STATE   CURRENT STATE   NODE ID                     ERROR
bvsyc15jhps1luwusgagk7np8   subfuzion/pinger:latest   RUNNING         STARTING        ekc32b3d202gpi7na7zsd1wcs
e9r3pkfosdqejm42uaewlhea3   subfuzion/pinger:latest   RUNNING         STARTING        ekc32b3d202gpi7na7zsd1wcs
g6aipi3iq9gtd80b14vh1tu9u   subfuzion/pinger:latest   RUNNING         STARTING        ekc32b3d202gpi7na7zsd1wcs
gs1uzj5lcm6av9oqnql5vwwmm   subfuzion/pinger:latest   SHUTDOWN        SHUTDOWN        ekc32b3d202gpi7na7zsd1wcs
mo5e37syvbtzp5d88k3i7ggq1   subfuzion/pinger:latest   RUNNING         RUNNING         ekc32b3d202gpi7na7zsd1wcs
o73o9bmkc158ci846sphcql94   subfuzion/pinger:latest   RUNNING         RUNNING         ekc32b3d202gpi7na7zsd1wcs
ppox1r73mimuvxiuifsa0mhs6   subfuzion/pinger:latest   RUNNING         STARTING        ekc32b3d202gpi7na7zsd1wcs
q4jx4m115746d2b6xovojl6qf   subfuzion/pinger:latest   RUNNING         STARTING        ekc32b3d202gpi7na7zsd1wcs
q57s7r44dz6g7huautq9yl594   subfuzion/pinger:latest   RUNNING         STARTING        ekc32b3d202gpi7na7zsd1wcs
rrjjta44ubu690fpx6zy02zn7   subfuzion/pinger:latest   RUNNING         STARTING        ekc32b3d202gpi7na7zsd1wcs
y2rnhn404en6z77pkd0otegv2   subfuzion/pinger:latest   RUNNING         RUNNING         ekc32b3d202gpi7na7zsd1wcs

We should only have RUNNING services by default and add a -a, --all option to include SHUTDOWN status.

why should we filter out? the docker service ps does a nice job showing the shutdown tasks, and even better it displays the time of the event. That's helpful to see if a service is stable or not.

@ndegory it's just a matter of clarity when you want to check what tasks are running. Think of it as the docker ps and docker ps -a where the former display running containers and the latter includes "dead" ones.

Makes sense. I was more thinking of docker service ps which is closer of what we want to achieve with amp service ps.  Doesn't matter for the long term anyway.


disable dragging for some cells

Hello Paul,
so in my app I want users to be able to delete cells that they created. so for example in a group chat you can only delete a message you create. so swipe to dismiss should be disabled for messages which the user didn't create.
Whats the best way to approach this?

In "SimpleItemTouchHelperCallback" you can return false in the "isLongPressDragEnabled" method

Sorry @pixelbendr, I seem to have missed the notification for this issue.
You'll notice that getMovementFlags provides a RecyclerView.ViewHolder parameter. This means that it's called for every item in the adapter, individually. If you want to disable movement for a specific item, you would return 0 for that ViewHolder. Eg.
@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
    final int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN;
    final int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END;
    return viewHolder.getItemViewType() == YourAdapter.Type.HEADER ? 0 : makeMovementFlags(dragFlags, swipeFlags);
}

Note: You'll also have to add a type check in onMove. Eg
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder source, RecyclerView.ViewHolder target) {
    // Restrict movement to source view type
    if (source.getItemViewType() != target.getItemViewType()) {
        return false;
    }

    // ...
}

Hello Paul,
The items I want to disable drag on have the same view type but different userId's, if you get what I mean.
in bind view I cast .get(i) to my model so I can do specifics. Am confused at how to get the userId's in the getMovementFlag method.


Backport #2116 to releases/2.6

Same as #2122 but against releases/2.6.

Can you pull in change from #2103 as well. This may be needed in your own PR as well, could be why there were so many conflicts.

#2116 is redundant. I'm applying it but keep taking my side instead of its side because I have added the fences with renderer none (since the Rouge yaml renderer is somewhat broken in Atom, and using none is better than letting Rouge guess the language). I don't think it is worth the trouble, but if I do see something else that it gives me, I'll push another commit. It gives me another 34 conflicts to work through.

@mstanleyjones understood, I am only comparing the final result rather than the commits that got us there. My suggestion would be to re-do the cherry pick and first cherry-pick #2103 then #2116. Still looks like this is more divergent from master than intended.

Sure, I can try again. Some of the divergence is from additions and deletions from the manifest in master as opposed to release/2.6 and release/2.5 branches.

Maybe this is better?

Current coverage is 51.17% (diff: 100%)

Merging #2123 into release/2.6 will decrease coverage by 10.01%

@@           release/2.6      #2123   diff @@
=============================================
  Files              126        126
  Lines            11382      11382
  Methods              0          0
  Messages             0          0
  Branches             0          0
=============================================
- Hits              6965       5825   -1140
- Misses            3526       4808   +1282
+ Partials           891        749    -142

Powered by Codecov. Last update 0241c48...dfdf0dc

LGTM
Let's open up separate issues/PRs to address @thaJeztah feedback. This is intended as a cherry-pick change and I don't want something to get fixed here and missed in master. I think the links could be an important issue since someone pulling in an example from master may find that added keys or defaults break their version.


Respect the order of responsible parties

The order of responsible party types is defined in GeodesyML in siteLog.xsd.
The order of responsible party values is defined by the order in which
they appear in a given GeodesyML site log document.

:+1: apart from failing build


Create azure_data_tables crate from azure_storage

As per: #483

@cataggar I've fixed up the conflicts in this PR.  If you merge this, then I'll fix the conflicts in the datalake PR https://github.com/Azure/azure-sdk-for-rust/pull/545


feat(nix): support flake.lock

Is this extension a filename?

Is this extension a filename?

Yes.


Azure Container Apps environment supported destination logs

According to this page, Azure Container Apps Environment should support numerous options as logs destination and Azure Portal seems to confirm this too.
However, this other page states "Currently only log-analytics is supported"
Ref.: https://learn.microsoft.com/en-us/azure/templates/microsoft.app/2022-01-01-preview/managedenvironments?pivots=deployment-language-arm-template
Looking to ARM, Bicep and Terraform documentation, it seems "log-analytics" is the only supported logs destination.
Please could you confirm what type of logs destinatation are currently supported by Azure Container Apps environment ?
Thanks
Giovanni

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

ID: d7c940f4-6c93-3dbe-ecdd-b45eddc08348
Version Independent ID: fe9d4a1a-2931-b31e-d141-1e7606661c25
Content: Log storage and monitoring options in Azure Container Apps
Content Source: articles/container-apps/log-options.md
Service: container-apps
GitHub Login: @v-jaswel
Microsoft Alias: v-wellsjason

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

Any update on this issue ?

Hello, @giovannifl - Thanks for reaching out! I can confirm that Log Analytics and the Azure Monitor are both supported as communicated via this documentation. It looks like the REST API docs are yet to be updated and there is an open issue with the ACA team here: https://github.com/microsoft/azure-container-apps/issues/741
If you're looking for guidance on achieving the Azure Monitor configuration via Bicep/ARM/Terraform, please consider opening a new post on the MS Q&A channel and we'd be happy to provide further assistance there!  If you're exploring possibilities with 3rd-party logging destinations, I think the discussions on the following issue will provide good context: https://github.com/microsoft/azure-container-apps/issues/289
Since we didn't determine any changes or faulty steps in the referenced documentation upon reviewing this feedback, we will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


FileNotFoundError: [Errono 2] No such file or directory: 'home/xxx/Trades/src/lib/.../data/mot17/annotations/var_half.json'

I got this error when running
sh experiments/mot17_test.sh.
Seems like I don't have the annotations file. But I have installed cocoapi by
pip install cython; pip install -U 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
I don't know how to solve it.

https://github.com/JialianW/TraDeS/blob/master/readme/DATA.md


Modify Polling times and procedure to check if the node is registered

@jesuspg @jframos

LGTM

LGTM

Coverage increased (+0.06%) to 46.56% when pulling e45bd0e4c1ac06dd4d30c16e1512757b5665b568 on jmmovilla:hotfix/2.4.1 into 042027c59c3e7fa9a2282d4a2822ce4161f66f48 on telefonicaid:hotfix/2.4.1.

LGTM


Refresh feedstoc

@lbdreyer I added your changes from #11 here.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Thank you @ocefpaf  That's incredibly helpful!

@lbdreyer should I add you as a maintainer too :grimacing:


Memory Allocation - Training Bug

Click to see bug report!
Issue Type
Bug
Source
source
Tensorflow Version
tf 2.5.2
Custom Code
Yes
OS Platform and Distribution
CentOS 7
Python version
3.6.13
CUDA/cuDNN version
11.6
GPU model and memory
NVIDIA V100S - 32 GB
Current Behaviour?
We are having a training problem while using maximum memory allocation on GPU. Weights of the TF and Keras based Convolutional-LSTM Neural Network model are updating but not training as expected on GPU.
We can train the model as expected on CPU only training and when we try with decreased memory allocation limit of GPU via the command tf.config.experimental.set_virtual_device_configuration(tf.config.list_physical_devices('GPU')[0], [tf.config.experimental.VirtualDeviceConfiguration( memory_limit = 22400 )]).
Standalone code to reproduce the issue
All codes, versions and hardware info, documentation and running directions are in our GitHub repo: github.com/ardamavi/PI-rCNN

Hi @ardamavi,
Thanks for writing us.I think tf.config.experimental.set_virtual_device_configuration() is deprecated in current versions. Please use tf.config.set_logical_device_configuration() instead.For more information on this API please refer the attached Documentation Link.
Also I request you to update TF version to 2.10 which is currently more stable version and use the attached link build/install  for checking compatibilities of CUDA,cuDNN. Request you to migrate to new version with compatible CUDA,cuDNN and let us know if problem still persists.
Thankyou !


[4.2] [ConstraintSystem] Attempt to select disjunctions that split constraint systems.

When selecting the next disjunction to attempt, try to find one that
is a disjunction of bindings where the type being bound is the
converted-to type in a conversion constraint. Attempting these early
makes it possible to split constraint systems, eliminating exponential
behavior.
Fixes: rdar://problem/40344044
(cherry picked from commit b92649a)

@swift-ci Please test