Allow more time for agent threads to terminate in HCRLateAttachWorkload

Signed-off-by: Simon Rushton<EMAIL_ADDRESS>

Fixes https://github.com/AdoptOpenJDK/openjdk-systemtest/issues/411

This PR makes the following changes (see also https://github.com/AdoptOpenJDK/openjdk-systemtest/issues/411)

Changes the references to the mini-mix workload to the util workload. The test was actually running the util workload, not the mini-mix workload.
Increases the time the workload process runs from 5 minutes to 10 minutes.
When the four minutes of running the agent process threads has elapsed, monitors the threads for up to 5 mins rather than the current 20 seconds. This is a maximum of 9 minutes, so the workload process will still be running at this point.
When all the agent threads have terminated the workload process is terminated (killed). The poll interval is 10 seconds, so the test will terminate as soon as the agent threads have all finished.
If the agent threads are still running after waiting 5 minutes the test fails as it does now (the assumption is that they are hung and will never terminate.
Some additional test output is now created to help the reader see what the test is doing.

Running the tests many times when testing the PR showed that the threads normally terminate well within the 5 minutes but not always within the 20 seconds currently allowed.
Sample output from the test before the change:
12:40:59  STF 12:40:58.982 - +------ Step 1 - Run MiniMix load test
12:40:59  STF 12:40:58.982 - | Start background process
12:40:59  STF 12:40:58.982 - |   Program:     /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdkbinary/j2sdk-image/bin/java
12:40:59  STF 12:40:58.982 - |   Mnemonic:    LT
12:40:59  STF 12:40:58.982 - |   Echo:        ECHO_ON
12:40:59  STF 12:40:58.982 - |   Expectation: CLEAN_RUN within 10m
12:40:59  STF 12:40:58.982 - |
12:40:59  STF 12:40:58.983 - Running command: /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdkbinary/j2sdk-image/bin/java --enable-preview --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED -classpath /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/stf/stf.load/bin:/home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/stf/stf.core/bin:/home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/systemtest_prereqs/log4j/log4j-api.jar:/home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/systemtest_prereqs/log4j/log4j-core.jar:/home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/systemtest_prereqs/junit/junit.jar:/home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/systemtest_prereqs/junit/hamcrest-core.jar:/home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/systemtest_prereqs/asm/asm.jar:/home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/openjdk-systemtest/openjdk.test.lang/bin:/home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/openjdk-systemtest/openjdk.test.util/bin:/home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/openjdk-systemtest/openjdk.test.math/bin net.adoptopenjdk.loadTest.LoadTest -resultsDir /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdk-tests/TKG/output_16145982039162/HCRLateAttachWorkload_previewEnabled_0/20210301-124055-HCRLateAttachWorkload/results -resultsPrefix 1.LT. -timeLimit 5m -reportFailureLimit 1 -abortAtFailureLimit 10 -maxTotalLogFileSpace 200M -maxSingleLogSize 1/25 -suite.mini-mix.inventoryFile /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdk-tests/TKG/output_16145982039162/HCRLateAttachWorkload_previewEnabled_0/20210301-124055-HCRLateAttachWorkload/results/1.LT.inventory/openjdk.test.load/config/inventories/util/util.xml -suite.mini-mix.inventoryExcludeFile /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdk-tests/TKG/output_16145982039162/HCRLateAttachWorkload_previewEnabled_0/20210301-124055-HCRLateAttachWorkload/results/1.LT.inventory/openjdk.test.load/config/inventories/util/util_exclude.xml -suite.mini-mix.threadCount 3 -suite.mini-mix.selection sequential -suite.mini-mix.seed -1 -suite.mini-mix.repeatCount 1 -suite.mini-mix.thinkingTime 0ms..0ms
12:40:59  STF 12:40:58.983 - Redirecting stderr to /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdk-tests/TKG/output_16145982039162/HCRLateAttachWorkload_previewEnabled_0/20210301-124055-HCRLateAttachWorkload/results/1.LT.stderr
12:40:59  STF 12:40:58.983 - Redirecting stdout to /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdk-tests/TKG/output_16145982039162/HCRLateAttachWorkload_previewEnabled_0/20210301-124055-HCRLateAttachWorkload/results/1.LT.stdout
12:40:59  STF 12:40:59.000 -
12:40:59  STF 12:40:59.000 - +------ Step 2 - Run StringModifierAgent
12:40:59  STF 12:40:59.000 - | Start background process
12:40:59  STF 12:40:59.000 - |   Program:     /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdkbinary/j2sdk-image/bin/java
12:40:59  STF 12:40:59.000 - |   Mnemonic:    AG
12:40:59  STF 12:40:59.000 - |   Echo:        ECHO_ON
12:40:59  STF 12:40:59.000 - |   Expectation: CLEAN_RUN within 10m
12:40:59  STF 12:40:59.000 - |
12:40:59  STF 12:40:59.001 - Running command: /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdkbinary/j2sdk-image/bin/java --enable-preview --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED -classpath /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/openjdk-systemtest/openjdk.test.debugging/bin/StringModifierAgent.jar:/home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdkbinary/j2sdk-image/lib/tools.jar net.adoptopenjdk.test.hcrAgent.agent.Attacher 24775 /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/openjdk-systemtest/openjdk.test.debugging/bin/StringModifierAgent.jar duration=240
12:40:59  STF 12:40:59.001 - Redirecting stderr to /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdk-tests/TKG/output_16145982039162/HCRLateAttachWorkload_previewEnabled_0/20210301-124055-HCRLateAttachWorkload/results/2.AG.stderr
12:40:59  STF 12:40:59.001 - Redirecting stdout to /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdk-tests/TKG/output_16145982039162/HCRLateAttachWorkload_previewEnabled_0/20210301-124055-HCRLateAttachWorkload/results/2.AG.stdout
12:40:59  STF 12:40:59.003 -
12:40:59  STF 12:40:59.003 - +------ Step 3 - Wait for Agent to complete, followed by the MiniMix test seconds later.
12:40:59  STF 12:40:59.003 - | Wait for processes to meet expectations
12:40:59  STF 12:40:59.003 - |   Processes: [LT, AG]
12:40:59  STF 12:40:59.003 - |
12:40:59  STF 12:40:59.003 - Monitoring processes: AG  LT
12:41:00  AG  12:40:59 > Will attempt to attach to JVM with pid 24775
12:41:00  AG  12:40:59 > Attach will be done using agent jar file: /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/jvmtest/system/openjdk-systemtest/openjdk.test.debugging/bin/StringModifierAgent.jar
12:41:00  LT  The agent's agentmain method was called.
12:41:00  LT  To re-run this agent with these options, pass this option to the agent on the command line: "percentage=50,threads=10,threadsTimeout=60000,duration=240,seed=8636069992862578289"
12:41:02  LT  12:41:01.583 - Load test parameters
12:41:02  LT  12:41:01.624 -   Time limited         = true
12:41:02  LT  12:41:01.625 -   Time limit         = 5m
12:41:02  LT  12:41:01.626 -   abortIfOutOfMemory   = true
12:41:02  LT  12:41:01.627 -   reportFailureLimit   = 1
12:41:02  LT  12:41:01.628 -   abortAtFailureLimit  = 10
12:41:02  LT  12:41:01.630 -   maxTotalLogFileSpace = 209715200
12:41:02  LT  12:41:01.631 -   maxSingleLogSize     = 8388608
12:41:02  LT  12:41:01.632 - Parameters for suite 0
12:41:02  LT  12:41:01.633 -   Suite name     = mini-mix
12:41:02  LT  12:41:01.635 -   Number threads = 3
12:41:02  LT  12:41:01.636 -   Supplied seed  = -1
12:41:02  LT  12:41:01.637 -   Inventory file = /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdk-tests/TKG/output_16145982039162/HCRLateAttachWorkload_previewEnabled_0/20210301-124055-HCRLateAttachWorkload/results/1.LT.inventory/openjdk.test.load/config/inventories/util/util.xml
12:41:02  LT  12:41:01.638 -   Exclude file   = /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdk-tests/TKG/output_16145982039162/HCRLateAttachWorkload_previewEnabled_0/20210301-124055-HCRLateAttachWorkload/results/1.LT.inventory/openjdk.test.load/config/inventories/util/util_exclude.xml
12:41:02  LT  12:41:01.640 -   Number tests   = -1
12:41:02  LT  12:41:01.641 -   Repeat count   = 1
12:41:02  LT  12:41:01.642 -   Thinking time  = 0ms..0ms
12:41:02  LT  12:41:01.643 -   Selection mode = sequential
12:41:02  LT  12:41:01.679 - Parsing inventory file. Root=/home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdk-tests/TKG/output_16145982039162/HCRLateAttachWorkload_previewEnabled_0/20210301-124055-HCRLateAttachWorkload/results/1.LT.inventory File=openjdk.test.load/config/inventories/util/util.xml
12:41:02  LT  12:41:01.741 - Reading exclusion file. File=openjdk.test.load/config/inventories/util/util_exclude.xml
12:41:02  LT  12:41:01.742 - Parsing inventory file. Root=/home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdk-tests/TKG/output_16145982039162/HCRLateAttachWorkload_previewEnabled_0/20210301-124055-HCRLateAttachWorkload/results/1.LT.inventory File=openjdk.test.load/config/inventories/util/util_exclude.xml
12:41:02  LT  12:41:01.774 - Final test list:
12:41:02  LT  12:41:01.780 -   0 ArbitraryJava[net.adoptopenjdk.test.util.calendars.CalendarTest run]  Weighting=1
12:41:02  LT  12:41:01.781 -   1 ArbitraryJava[net.adoptopenjdk.test.util.hashmap.Hog run]  Weighting=1
12:41:02  LT  12:41:01.782 -   2 JUnit[net.adoptopenjdk.test.util.lilac.TestArrays]  Weighting=1
12:41:02  LT  12:41:01.783 -   4 JUnit[net.adoptopenjdk.test.util.treemap.TreeMapAPITest]  Weighting=1
12:41:02  LT  12:41:01.783 -   5 JUnit[net.adoptopenjdk.test.util.treemap.TreeMapTest]  Weighting=1
12:41:02  LT  12:41:02.316 - Starting thread. Suite=0 thread=0
12:41:02  LT  12:41:02.323 - Starting thread. Suite=0 thread=1
12:41:02  LT  12:41:02.323 - Starting thread. Suite=0 thread=2
12:41:24  LT  12:41:22.418 - Completed 6.7%. Number of tests started=59
12:41:43  LT  12:41:42.354 - Completed 13.4%. Number of tests started=84 (+25)
12:42:03  LT  12:42:02.395 - Completed 20.1%. Number of tests started=109 (+25)
12:42:25  LT  12:42:22.319 - Completed 26.7%. Number of tests started=124 (+15)
12:42:44  LT  12:42:42.362 - Completed 33.4%. Number of tests started=134 (+10)
12:43:02  LT  12:43:02.285 - Completed 40.1%. Number of tests started=154 (+20)
12:43:24  LT  12:43:22.308 - Completed 46.8%. Number of tests started=169 (+15)
12:43:44  LT  12:43:42.347 - Completed 53.5%. Number of tests started=179 (+10)
12:44:06  LT  12:44:02.376 - Completed 60.2%. Number of tests started=194 (+15)
12:44:24  LT  12:44:22.298 - Completed 66.8%. Number of tests started=214 (+20)
12:44:43  LT  12:44:42.324 - Completed 73.5%. Number of tests started=239 (+25)
12:45:03  LT  12:45:02.351 - Completed 80.2%. Number of tests started=269 (+30)
12:45:25  LT  12:45:22.376 - Completed 86.9%. Number of tests started=279 (+10)
12:45:44  LT  12:45:42.297 - Completed 93.6%. Number of tests started=289 (+10)
12:46:00  STF 12:45:58.495 - Heartbeat: Process LT  is still running
12:46:01  LT  The agent's transformer threads failed to finish in time. The agent will now throw a RuntimeException.
12:46:01  LT  stderr Exception in thread "Attachment 43197" java.lang.reflect.InvocationTargetException
12:46:01  LT  stderr 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:46:01  LT  stderr 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
12:46:01  LT  stderr 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
12:46:01  LT  stderr 	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
12:46:01  LT  stderr 	at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:515)
12:46:01  LT  stderr 	at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:537)
12:46:01  LT  stderr 	at java.base/openj9.internal.tools.attach.target.Attachment.loadAgentLibraryImpl(Native Method)
12:46:01  LT  stderr 	at java.base/openj9.internal.tools.attach.target.Attachment.loadAgentLibrary(Attachment.java:356)
12:46:01  LT  stderr 	at java.base/openj9.internal.tools.attach.target.Attachment.parseLoadAgent(Attachment.java:334)
12:46:01  LT  stderr 	at java.base/openj9.internal.tools.attach.target.Attachment.doCommand(Attachment.java:200)
12:46:01  LT  stderr 	at java.base/openj9.internal.tools.attach.target.Attachment.run(Attachment.java:160)
12:46:01  LT  stderr Caused by: java.lang.RuntimeException: At least one agent thread did not end within 20 seconds.
12:46:01  LT  stderr 	at net.adoptopenjdk.test.hcrAgent.agent.StringModifierAgent.agentmain(StringModifierAgent.java:152)
12:46:01  LT  stderr 	... 11 more
12:46:01  LT  stderr Agent failed to start!
12:46:01  LT  stderr JVMJ9TI064E Agent initialization function Agent_OnAttach failed for library instrument, return code 102
12:46:01  AG  stderr Exception in thread "main" com.sun.tools.attach.AgentInitializationException: ATTACH_ERR AgentInitializationException102
12:46:01  AG  stderr 	at jdk.attach/com.ibm.tools.attach.attacher.OpenJ9VirtualMachine.parseResponse(OpenJ9VirtualMachine.java:372)
12:46:01  AG  stderr 	at jdk.attach/com.ibm.tools.attach.attacher.OpenJ9VirtualMachine.loadAgent(OpenJ9VirtualMachine.java:265)
12:46:01  AG  stderr 	at net.adoptopenjdk.test.hcrAgent.agent.Attacher.main(Attacher.java:75)
12:46:01  STF 12:46:01.008 - **FAILED** Process AG  ended with exit code (1) and not the expected exit code/s (0)
12:46:01  STF 12:46:01.008 - Monitoring Report Summary:
12:46:01  STF 12:46:01.008 -   o Process AG  ended with exit code (1) and not the expected exit code/s (0)
12:46:01  STF 12:46:01.008 -   o Process LT  is still running
12:46:01  STF 12:46:01.010 - Killing processes: AG  LT
12:46:01  STF 12:46:01.010 -   o Process AG  pid 24776 is not running
12:46:01  STF 12:46:01.010 -   o Process LT  pid 24775 stop()
12:46:11  STF 12:46:10.011 -   o Process LT  pid 24775 killed
12:46:11  LT  12:46:02.881 - Completed 100.0%. Number of tests started=309 (+20)
12:46:11  LT  12:46:02.897 - Thread completed. Suite=0 thread=0
12:46:11  LT  12:46:07.145 - Thread completed. Suite=0 thread=1
12:46:11  LT  12:46:08.790 - Thread completed. Suite=0 thread=2
12:46:11  LT  12:46:09.192 - Test stopped due to reaching runtime limit
12:46:11  LT  12:46:09.192 - Load test completed
12:46:11  LT  12:46:09.385 -   Ran     : 309
12:46:11  LT  12:46:09.386 -   Passed  : 309
12:46:11  LT  12:46:09.386 -   Failed  : 0
12:46:11  LT  12:46:09.395 -   Result  : PASSED
12:46:11  **FAILED** at step 3 (Wait for Agent to complete, followed by the MiniMix test seconds later.). Expected return value=0 Actual=1 at /home/jenkins/workspace/Test_openjdk16_j9_extended.system_aarch64_linux/openjdk-tests/TKG/../TKG/output_16145982039162/HCRLateAttachWorkload_previewEnabled_0/20210301-124055-HCRLateAttachWorkload/execute.pl line 153.
12:46:11  STF 12:46:10.346 - **FAILED** execute script failed. Expected return value=0 Actual=1

Sample output from the test after the change:
17:12:11  STF 17:12:11.152 - +------ Step 1 - Run load test
17:12:11  STF 17:12:11.152 - | Start background process
17:12:11  STF 17:12:11.152 - |   Program:     /home/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/bin/java
17:12:11  STF 17:12:11.152 - |   Mnemonic:    LT
17:12:11  STF 17:12:11.152 - |   Echo:        ECHO_ON
17:12:11  STF 17:12:11.152 - |   Expectation: NEVER
17:12:11  STF 17:12:11.152 - |
17:12:11  STF 17:12:11.154 - Running command: /home/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/bin/java --enable-preview --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED -classpath /home/jenkins/workspace/Grinder/jvmtest/system/stf/stf.load/bin:/home/jenkins/workspace/Grinder/jvmtest/system/stf/stf.core/bin:/home/jenkins/workspace/Grinder/jvmtest/system/systemtest_prereqs/log4j/log4j-api.jar:/home/jenkins/workspace/Grinder/jvmtest/system/systemtest_prereqs/log4j/log4j-core.jar:/home/jenkins/workspace/Grinder/jvmtest/system/systemtest_prereqs/junit/junit.jar:/home/jenkins/workspace/Grinder/jvmtest/system/systemtest_prereqs/junit/hamcrest-core.jar:/home/jenkins/workspace/Grinder/jvmtest/system/systemtest_prereqs/asm/asm.jar:/home/jenkins/workspace/Grinder/jvmtest/system/openjdk-systemtest/openjdk.test.lang/bin:/home/jenkins/workspace/Grinder/jvmtest/system/openjdk-systemtest/openjdk.test.util/bin:/home/jenkins/workspace/Grinder/jvmtest/system/openjdk-systemtest/openjdk.test.math/bin net.adoptopenjdk.loadTest.LoadTest -resultsDir /home/jenkins/workspace/Grinder/openjdk-tests/TKG/output_16147051278022/HCRLateAttachWorkload_previewEnabled_0/20210302-171208-HCRLateAttachWorkload/results -resultsPrefix 1.LT. -timeLimit 10m -reportFailureLimit 1 -abortAtFailureLimit 10 -maxTotalLogFileSpace 200M -maxSingleLogSize 1/25 -suite.util.inventoryFile /home/jenkins/workspace/Grinder/openjdk-tests/TKG/output_16147051278022/HCRLateAttachWorkload_previewEnabled_0/20210302-171208-HCRLateAttachWorkload/results/1.LT.inventory/openjdk.test.load/config/inventories/util/util.xml -suite.util.inventoryExcludeFile /home/jenkins/workspace/Grinder/openjdk-tests/TKG/output_16147051278022/HCRLateAttachWorkload_previewEnabled_0/20210302-171208-HCRLateAttachWorkload/results/1.LT.inventory/openjdk.test.load/config/inventories/util/util_exclude.xml -suite.util.threadCount 3 -suite.util.selection sequential -suite.util.seed -1 -suite.util.repeatCount 1 -suite.util.thinkingTime 0ms..0ms
17:12:11  STF 17:12:11.154 - Redirecting stderr to /home/jenkins/workspace/Grinder/openjdk-tests/TKG/output_16147051278022/HCRLateAttachWorkload_previewEnabled_0/20210302-171208-HCRLateAttachWorkload/results/1.LT.stderr
17:12:11  STF 17:12:11.154 - Redirecting stdout to /home/jenkins/workspace/Grinder/openjdk-tests/TKG/output_16147051278022/HCRLateAttachWorkload_previewEnabled_0/20210302-171208-HCRLateAttachWorkload/results/1.LT.stdout
17:12:11  STF 17:12:11.170 -
17:12:11  STF 17:12:11.170 - +------ Step 2 - Run StringModifierAgent
17:12:11  STF 17:12:11.170 - | Start background process
17:12:11  STF 17:12:11.170 - |   Program:     /home/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/bin/java
17:12:11  STF 17:12:11.170 - |   Mnemonic:    AG
17:12:11  STF 17:12:11.170 - |   Echo:        ECHO_ON
17:12:11  STF 17:12:11.170 - |   Expectation: CLEAN_RUN within 10m
17:12:11  STF 17:12:11.170 - |
17:12:11  STF 17:12:11.171 - Running command: /home/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/bin/java --enable-preview --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED -classpath /home/jenkins/workspace/Grinder/jvmtest/system/openjdk-systemtest/openjdk.test.debugging/bin/StringModifierAgent.jar:/home/jenkins/workspace/Grinder/openjdkbinary/j2sdk-image/lib/tools.jar net.adoptopenjdk.test.hcrAgent.agent.Attacher 57322 /home/jenkins/workspace/Grinder/jvmtest/system/openjdk-systemtest/openjdk.test.debugging/bin/StringModifierAgent.jar duration=240
17:12:11  STF 17:12:11.171 - Redirecting stderr to /home/jenkins/workspace/Grinder/openjdk-tests/TKG/output_16147051278022/HCRLateAttachWorkload_previewEnabled_0/20210302-171208-HCRLateAttachWorkload/results/2.AG.stderr
17:12:11  STF 17:12:11.171 - Redirecting stdout to /home/jenkins/workspace/Grinder/openjdk-tests/TKG/output_16147051278022/HCRLateAttachWorkload_previewEnabled_0/20210302-171208-HCRLateAttachWorkload/results/2.AG.stdout
17:12:11  STF 17:12:11.173 -
17:12:11  STF 17:12:11.173 - +------ Step 3 - Wait for Agent to complete
17:12:11  STF 17:12:11.173 - | Wait for processes to meet expectations
17:12:11  STF 17:12:11.173 - |   Processes: [LT, AG]
17:12:11  STF 17:12:11.173 - |
17:12:11  STF 17:12:11.173 - Monitoring processes: AG  LT
17:12:12  AG  17:12:11 > Will attempt to attach to JVM with pid 57322
17:12:12  AG  17:12:11 > Attach will be done using agent jar file: /home/jenkins/workspace/Grinder/jvmtest/system/openjdk-systemtest/openjdk.test.debugging/bin/StringModifierAgent.jar
17:12:12  LT  The agent's agentmain method was called.
17:12:12  LT  To re-run this agent with these options, pass this option to the agent on the command line: "percentage=50,threads=10,threadsTimeout=300000,duration=240,seed=-2027776481273639667"
17:12:12  LT  Initialising all of the threads.
17:12:12  LT  Starting thread 0
17:12:12  LT  Starting thread 1
17:12:12  LT  Starting thread 2
17:12:12  LT  Starting thread 3
17:12:12  LT  Starting thread 4
17:12:12  LT  Starting thread 5
17:12:12  LT  Starting thread 6
17:12:12  LT  Starting thread 7
17:12:12  LT  Starting thread 8
17:12:12  LT  Starting thread 9
17:12:12  LT  Threads are all initialised.
17:12:12  LT  Entering the loop that will replace dead threads with live ones until we run out of time.

17:12:16  LT  17:12:15.713 - Load test parameters
17:12:16  LT  17:12:15.984 -   Time limited         = true
17:12:16  LT  17:12:15.985 -   Time limit         = 10m
17:12:16  LT  17:12:15.986 -   abortIfOutOfMemory   = true
17:12:16  LT  17:12:15.986 -   reportFailureLimit   = 1
17:12:16  LT  17:12:15.987 -   abortAtFailureLimit  = 10
17:12:16  LT  17:12:15.988 -   maxTotalLogFileSpace = 209715200
17:12:16  LT  17:12:15.989 -   maxSingleLogSize     = 8388608
17:12:16  LT  17:12:15.990 - Parameters for suite 0
17:12:16  LT  17:12:15.991 -   Suite name     = util
17:12:16  LT  17:12:15.991 -   Number threads = 3
17:12:16  LT  17:12:15.992 -   Supplied seed  = -1
17:12:16  LT  17:12:15.993 -   Inventory file = /home/jenkins/workspace/Grinder/openjdk-tests/TKG/output_16147051278022/HCRLateAttachWorkload_previewEnabled_0/20210302-171208-HCRLateAttachWorkload/results/1.LT.inventory/openjdk.test.load/config/inventories/util/util.xml
17:12:16  LT  17:12:15.994 -   Exclude file   = /home/jenkins/workspace/Grinder/openjdk-tests/TKG/output_16147051278022/HCRLateAttachWorkload_previewEnabled_0/20210302-171208-HCRLateAttachWorkload/results/1.LT.inventory/openjdk.test.load/config/inventories/util/util_exclude.xml
17:12:16  LT  17:12:15.995 -   Number tests   = -1
17:12:16  LT  17:12:15.995 -   Repeat count   = 1
17:12:16  LT  17:12:15.996 -   Thinking time  = 0ms..0ms
17:12:16  LT  17:12:15.996 -   Selection mode = sequential
17:12:16  LT  17:12:16.022 - Parsing inventory file. Root=/home/jenkins/workspace/Grinder/openjdk-tests/TKG/output_16147051278022/HCRLateAttachWorkload_previewEnabled_0/20210302-171208-HCRLateAttachWorkload/results/1.LT.inventory File=openjdk.test.load/config/inventories/util/util.xml
17:12:16  LT  17:12:16.289 - Reading exclusion file. File=openjdk.test.load/config/inventories/util/util_exclude.xml
17:12:16  LT  17:12:16.289 - Parsing inventory file. Root=/home/jenkins/workspace/Grinder/openjdk-tests/TKG/output_16147051278022/HCRLateAttachWorkload_previewEnabled_0/20210302-171208-HCRLateAttachWorkload/results/1.LT.inventory File=openjdk.test.load/config/inventories/util/util_exclude.xml
17:12:16  LT  17:12:16.314 - Final test list:
17:12:16  LT  17:12:16.329 -   0 ArbitraryJava[net.adoptopenjdk.test.util.calendars.CalendarTest run]  Weighting=1
17:12:16  LT  17:12:16.329 -   1 ArbitraryJava[net.adoptopenjdk.test.util.hashmap.Hog run]  Weighting=1
17:12:16  LT  17:12:16.331 -   2 JUnit[net.adoptopenjdk.test.util.lilac.TestArrays]  Weighting=1
17:12:16  LT  17:12:16.331 -   4 JUnit[net.adoptopenjdk.test.util.treemap.TreeMapAPITest]  Weighting=1
17:12:16  LT  17:12:16.331 -   5 JUnit[net.adoptopenjdk.test.util.treemap.TreeMapTest]  Weighting=1
17:12:17  LT  17:12:16.802 - Starting thread. Suite=0 thread=0
17:12:17  LT  17:12:16.806 - Starting thread. Suite=0 thread=1
17:12:17  LT  17:12:16.806 - Starting thread. Suite=0 thread=2

17:12:39  LT  17:12:36.857 - Completed 3.3%. Number of tests started=44

17:12:57  LT  17:12:56.803 - Completed 6.7%. Number of tests started=79 (+35)

17:13:19  LT  17:13:16.829 - Completed 10.0%. Number of tests started=104 (+25)

17:13:38  LT  17:13:36.864 - Completed 13.4%. Number of tests started=235 (+131)

17:14:00  LT  17:13:56.787 - Completed 16.7%. Number of tests started=290 (+55)

17:14:18  LT  17:14:16.813 - Completed 20.0%. Number of tests started=309 (+19)

17:14:38  LT  17:14:36.837 - Completed 23.4%. Number of tests started=329 (+20)

17:14:57  LT  17:14:56.858 - Completed 26.7%. Number of tests started=349 (+20)

17:15:19  LT  17:15:16.836 - Completed 30.1%. Number of tests started=364 (+15)

17:15:38  LT  17:15:36.852 - Completed 33.4%. Number of tests started=384 (+20)

17:15:59  LT  17:15:56.831 - Completed 36.7%. Number of tests started=394 (+10)

17:16:15  LT  Finished creating threads. started 51 transformation threads in total
17:16:15  LT  We've reached the duration, and will now wait 300000 milliseconds for the last few agents to finish.

17:16:17  LT  17:16:16.856 - Completed 40.1%. Number of tests started=409 (+15)

17:16:24  LT  Thread 0 is still running
17:16:24  LT  Thread 1 is still running
17:16:24  LT  Thread 3 is still running
17:16:24  LT  Thread 4 is still running
17:16:24  LT  Thread 5 is still running
17:16:24  LT  Thread 6 is still running
17:16:24  LT  Thread 7 is still running
17:16:24  LT  Thread 8 is still running
17:16:24  LT  Thread 9 is still running
17:16:24  LT  Finished timeout loop iteration 1. There are 9 threads still running

17:16:35  LT  Thread 0 is still running
17:16:35  LT  Thread 1 is still running
17:16:35  LT  Thread 3 is still running
17:16:35  LT  Thread 5 is still running
17:16:35  LT  Thread 6 is still running
17:16:35  LT  Thread 7 is still running
17:16:35  LT  Thread 8 is still running
17:16:35  LT  Thread 9 is still running
17:16:35  LT  Finished timeout loop iteration 2. There are 8 threads still running

17:16:37  LT  17:16:36.776 - Completed 43.4%. Number of tests started=419 (+10)

17:16:45  LT  Thread 0 is still running
17:16:45  LT  Thread 3 is still running
17:16:45  LT  Thread 5 is still running
17:16:45  LT  Thread 6 is still running
17:16:45  LT  Thread 7 is still running
17:16:45  LT  Thread 8 is still running
17:16:45  LT  Thread 9 is still running
17:16:45  LT  Finished timeout loop iteration 3. There are 7 threads still running

17:16:55  LT  Thread 0 is still running
17:16:55  LT  Thread 3 is still running
17:16:55  LT  Thread 5 is still running
17:16:55  LT  Thread 6 is still running
17:16:55  LT  Thread 7 is still running
17:16:55  LT  Thread 8 is still running
17:16:55  LT  Thread 9 is still running
17:16:55  LT  Finished timeout loop iteration 4. There are 7 threads still running

17:16:57  LT  17:16:56.800 - Completed 46.8%. Number of tests started=444 (+25)

17:17:05  LT  Thread 0 is still running
17:17:05  LT  Thread 3 is still running
17:17:05  LT  Thread 6 is still running
17:17:05  LT  Thread 7 is still running
17:17:05  LT  Thread 8 is still running
17:17:05  LT  Thread 9 is still running
17:17:05  LT  Finished timeout loop iteration 5. There are 6 threads still running

17:17:11  STF 17:17:10.490 - Heartbeat: Process AG  is still running

17:17:14  LT  Thread 0 is still running
17:17:14  LT  Thread 7 is still running
17:17:14  LT  Thread 8 is still running
17:17:14  LT  Thread 9 is still running
17:17:14  LT  Finished timeout loop iteration 6. There are 4 threads still running

17:17:18  LT  17:17:16.819 - Completed 50.1%. Number of tests started=464 (+20)

17:17:24  LT  Thread 7 is still running
17:17:24  LT  Thread 8 is still running
17:17:24  LT  Thread 9 is still running
17:17:24  LT  Finished timeout loop iteration 7. There are 3 threads still running

17:17:34  LT  Finished timeout loop iteration 8. There are 0 threads still running
17:17:34  LT  The agent is leaving the agentmain method and shutting down.

17:17:35  STF 17:17:34.051 - Monitoring Report Summary:
17:17:35  STF 17:17:34.051 -   o Process AG  ended with the expected exit code (0)
17:17:35  STF 17:17:34.051 -   o Process LT  is still running as expected
17:17:35  STF 17:17:34.052 -
17:17:35  STF 17:17:34.053 - +------ Step 4 - Stop LT process
17:17:35  STF 17:17:34.053 - | Kill running processes
17:17:35  STF 17:17:34.053 - |   Processes: [LT]
17:17:35  STF 17:17:34.053 - |
17:17:35  STF 17:17:34.053 - Killing processes: LT
17:17:35  STF 17:17:34.053 -   o Process LT  pid 57322 stop()

17:17:45  STF 17:17:44.054 -   o Process LT  pid 57322 terminate()
17:17:45  STF 17:17:45.055 -   o Process LT  pid 57322 killed
17:17:45  LT  17:17:36.842 - Completed 53.4%. Number of tests started=529 (+65)
17:17:45  STF 17:17:45.055 - EXECUTE stage completed
17:17:45  STF 17:17:45.510 -
17:17:45  STF 17:17:45.510 - ====================   T E A R D O W N   ====================
17:17:45  STF 17:17:45.510 - Running teardown: perl /home/jenkins/workspace/Grinder/openjdk-tests/TKG/../TKG/output_16147051278022/HCRLateAttachWorkload_previewEnabled_0/20210302-171208-HCRLateAttachWorkload/tearDown.pl
17:17:45  STF 17:17:45.614 - TEARDOWN stage completed
17:17:45  STF 17:17:45.621 -
17:17:45  STF 17:17:45.621 - =====================   R E S U L T S   =====================
17:17:45  STF 17:17:45.621 - Stage results:
17:17:45  STF 17:17:45.621 -   setUp:     pass
17:17:45  STF 17:17:45.621 -   execute:   pass
17:17:45  STF 17:17:45.621 -   teardown:  pass
17:17:45  STF 17:17:45.621 -
17:17:45  STF 17:17:45.621 - Overall result: PASSED
17:17:46
17:17:46  HCRLateAttachWorkload_previewEnabled_0_PASSED

@lumpfish : Could we run a grinder to ensure that all these changes will be working fine in Jenkins builds?

Found a grinder run off of this branch: https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/7420/parameters/

Yes, I just submitted https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/7420/console.  The output above was from Jenkins jobs too - they get deleted pretty quickly - so I thought I'd paste it there so we have a record of what the output used to look like.


modify sample code

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[x] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

modify sample code

@googlebot I signed it!

@googlebot I signed it!

@googlebot I signed it!

@googlebot I signed it!

@googlebot I signed it!

@googlebot I signed it!

@googlebot I signed it!

@googlebot I signed it!


fix the clang/gcc warning

Were you able to reproduce it tho?

I can repro the warning in some scenarios, not all.


Not an Issue, A REQUEST

It would be great if the lasersaber from this mod was compatible with reserved weapon slot. At the moment it just goes into the item bar.
https://thunderstore.io/c/lethal-company/p/OrianaGames/LethalCorporation/

You would probably want to tell the dev of that mod. I do have examples on the ReservedItemSlotCore mod's page on how mod devs can add their items into existing reserved item slots. Alternatively, you can add the item in yourself by adding it to the list of items in the ReservedWeaponSlot mod's config file.


Episode Browser not updating Status after Playback

When in the Episode Browser screen and playing back a video, the watched status isn't being updated on the screen.  This works correctly in the Movies and Seasons screens, but not on the Episodes screen.
Probably a good time to consolidate all that update logic to it's own View and Presenter.  This way the logic isn't repeated in multiple places and the view can be reused.
So create a PosterIndicatorImageView, that extends the FrameLayout, and inflates the poster_indicator_view.xml file.   This new view should be used in place of where poster_indicator_view is currently being inflated in the various Adaptors.
Logic that would typically reside in an Adaptor should be moved to the view, and and Event registered in the presenter that will update the information.  The presenter should only respond to the event based on the information stored in the view tag.
So the viewTag shouldn't store the information itself, but should pass that information to the presenter, so it knows what events it can respond too.   In general this should be the unique identifier for the episode.   When an UpdatePosterEvent is sent, it needs to include the unique identifier, and then the presenter can determine off that whether it responds and tells the view to update itself.

Actually this doesn't need a presenter, but could move all the view displaying into the view itself.  Do the simpliest thing that can possibly work.

Investigate if the views are giving stable ids in the adapters.  If not, use the videoContentInfo.id() method for the stable ids.   In addition, can use MVP on the ViewHolders.
https://gist.github.com/senneco/ef2910a5b53aacdb053ebca21b10ef77

More information on using the ViewHolder to implement the View and the use the presenter.
https://www.philosophicalhacker.com/post/unit-testable-recycler-views/

This was an issue with how the recycler views were being fetch.  Simplified the logic here and also made sure to only execute the code if the correct RequestCode had been submitted.  This was launching all the time and in many cases could crash the app when the wrong video content type was received.


Add option to pass additional maven options

It would like to use specific options to maven in order to add settings lik -X or -ntp.
For the moment, it's not possible.

If the option would make sense in general, like -ntp, it should be add to maven.js.
Other options like -X should be enabled via the options object and could then be applied in maven.js. The options would need to get passed in somehow. Similar to the processAllModules option.

I don't like the idea to be able to pass arbitrary options to the command line. But I am open to arguments :)

If the option would make sense in general, like -ntp, it should be add to maven.js.
Other options like -X should be enabled via the options object and could then be applied in maven.js. The options would need to get passed in somehow. Similar to the processAllModules option.

Hello @simonseyock
For -ntp, I don't see why people wouldn't want to have it hardcoded in the tool because it causes lots of log entries by maven. So maybe the solution is to add it in maven.js indeed.
For others options, I think it's valuable to allow people to use any options maven can handle so a way of doing that should be provided to users of your library.

I agree about -ntp.
The problem that I see, is that we then pass options from some configuration file directly onto the command line. I don't know if that is a huge problem, but I do not know all the implications of that.

Well, we already discussed this topic on https://github.com/terrestris/maven-semantic-release/issues/17 about the fact that allowing the usage of "any" options on the command line could be a problem. From my point of view I understand the risk, but I don't think the solution is to prevent users to use maven options in your tool. This is why I'm telling that it is the responsability of the CI pipeline maintainer to check that no one uses it badly and to protect variable so that they cannot be read by unauthorized people or whatever.
So my point is still to allow people to use maven option freely 😀
At least if we agree on -ntp maybe we can create this change ?

-ntp is added as default and -X can be activated via the debug option now


⚠ Bofrost.be has degraded performance

In b2d08e7, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2408 ms

Resolved: Bofrost.be performance has improved in fe0a17c.


New Product PURIS

Product name: PURIS
GitHub users to invite: @ReneSchroederLJ @tom-rm-meyer-ISST
Validation / approved by: @tom-rm-meyer-ISST
including new GitHub-team, ArgoCD and Vault
Repository is not needed, work will be done with Tractus-X: https://github.com/eclipse-tractusx/puris
We need to test our functionalities to be release in the v24.08.
If possible, also please copy the Vault values from https://vault.demo.catena-x.net/ui/vault/secrets/puris

@ReneSchroederLJ if they offer a private repository we should take it to feed configuration from file

@ReneSchroederLJ product-puris was created

Access to ArgoCD and Vault was granted.
Regarding the copying values for vault. We dont have any permission so we are not able to do it.
@SebastianBezold do you see a way how this could be handled?

Access to ArgoCD and Vault was granted. Regarding the copying values for vault. We dont have any permission so we are not able to do it. @SebastianBezold do you see a way how this could be handled?

The teams could use the Vault CLI to export their secrets from the consortia instance and import them to any other instance


cp: cannot stat '/docker-entrypoint-initdb.d/*': No such file or directory

Hi there,
I was trying to set up an oracle database for development purposes.
Unfortunately on my PC as well as on every colleague's PC we get the error:
cp: cannot stat '/docker-entrypoint-initdb.d/*': No such file or directory
It seems to have be connected to the changes added about 20 hours ago.

Reverted this PR.
Please check 30 minutes later

THanks for the quick reaction :)

Np,
Just leave a feedback on statues after this revert

Thanks it's starting again!


fix(aws): Update logging to be clearer with stopped/non running instances

OSD-11754

/lgtm
/approve


Too easy to pass extreme-variance

Description
def f(a: list[int | str]):
    pass

def g(a: str | list):
    pass

Suggestion
Maybe we can use definition to make challenge strict.

Could you clarify a bit on the modification?

Could you clarify a bit on the modification?

"""
TODO: Annotate function `foo`, to make tests pass.
"""
from collections.abc import Sequence

def foo(args: Sequence[int | str]):
    pass

## End of your code ##
foo(1)  # expect-type-error
foo("1")
foo(b"1")
foo([1, "2"])
foo((1, "2", *[3 for _ in range(233)]))
foo({1})  # expect-type-error

Thanks! Tested it and it did solve the issue. I'll make a PR.
Also, I didn't know bytes is actually represented as a sequence of int, learned something new :)

It is still too easy to pass the challenge.
def f(a: list[int | str]):
    pass

def g(a: str | bytes | list | tuple):
    pass

Enabling strict mode would break other challenges, and I don't want to enable it since most people likely don't enable it.
Thinking twice, the current checks are not perfect but should be good enough. g((1, "2", *(3 for _ in range(233)))) doesn't seem to provide much value? at least it doesn't guard against str | tuple | bytes | list.


Auto transform Int <-> String or Build in transformer

id <- (map["id"], TransformOf<Int, String>(fromJSON: { Int($0!) }, toJSON: { $0.map { String($0) } }))

I hope the transform such as Int <-> String can be done automatic, the ObjectMapper can try to transform JSON String to Int if I declare a Int? property
In Objective-C a lot library having this done for me, which make my life easier
I am not sure if we can't do this in Swift , we can provide some build in transformer such as StringToIntTransformer()

Looking forward to this improvement !
:D

I just found some build in transformer in Tests/CustomTransformTests.swift, this helps a lot
But I still hope some basic transform can be done automatically, such as String -> Int , instead of (map[ "xxx" ], StringToIntTransform())

I would be happy to accept a Pull Request with a simple StringToIntTransform.


[HOLD] When pressing back from Step 2 (Connect Bank Manually), it navigate to Connect Bank Account page.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open workspace => connect bank account manually, enter valid information for first 3 steps, close the page.
Go to Workspace => connect bank account manually again => Continue with setup => Press back to go back to Step 2, press Back again.
Notice that when you are at step 2 and press back, it navigate to Connect Bank Account page.

Expected Result:
It should navigate to step 1, when user press back at step 2.
##Actual Result:
When you are at step 2 and press back, it navigate to Connect Bank Account page.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] MacOS / Chrome / Safari

Version Number: v1.2.67-6
Reproducible in staging?: Y
Reproducible in production?: Could not check
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/217670587-6bfe2cb3-254a-410f-9d92-330557a15fbe.mov
https://user-images.githubusercontent.com/43996225/217670678-2d4d979f-d96b-41c0-9850-3450cde56525.mp4
Expensify/Expensify Issue URL:
Issue reported by: @hungvu193
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1675844399748989
View all open jobs on GitHub

Triggered auto assignment to @miljakljajic (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

I'm not able to reproduce this: it takes me back to step 1, as expected:

@miljakljajic Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

bumped on the slack thread

Holding for this: https://github.com/Expensify/App/issues/11768

Still holding!

Holding

Holding

Holding

Still holding!

Still held

Seems this issue is fixed with navigation reboot, am I eligible for reporting bonus? @miljakljajic


how to define the root url?

eg:  #/nav/n4/miscellaneous
the url "/nav/n4" ,i don't see where does it config ?

Hey @MicroLord this seemed to be an issue as of Ionic Angular 3.5. Did you upgrade to Ionic 3.6.1?
You can see a discussion about it here: https://github.com/ionic-team/ionic/issues/12346

Thank u , yesterday i upgrade the angular , ionic does not , still 3.10.3


not a complaint

Thank you for your generosity producing a not-evil fork of chromium.  I don't know what will happen with adblocking with the evil rewrites of v3 manifest but I trust people like you will be at the forefront protecting us.  Does Pirvaxy (Privoxy) stand a chance of a come-back?  I'm not sure which I like better ungoogled-chromium or thorium, but much love all the same.
cheers

I guess in regards to V3, several people (not just Alex) could try to get together and write a platform that could act as a layer disallowing ad-attacks, such as via the evil manifest. I don't think this is solely up to thorium, and I am also not sure how much time Alex could invest, considering that the whole browser is so much more than merely the question over as to whether Google can abuse people and force them to see ads, as opposed to everything else people may use a browser these days. The browser is kind of the central entry point to information for almost everything nowadays. Just look how much time people spend on their smartphones, including on the streets, transportation etc...


node-sass compile time missing folder.

I'm not sure if there's somewhere you'd rather I put an error report, but I just did a fresh install and tried npm start. This is my console log for the start, I haven't touched any code, all dependencies seem to have installed fine (except FSevents), and localhost:3000/ just shows Not Found. I checked the node-sass folder, and there's no vendor folder, so it's no surprise it wasn't found...
colemanl@ubuntu:~/dev/cps$ npm start

><EMAIL_ADDRESS>start /home/colemanl/dev/cps
> better-npm-run start

running better-npm-run in /home/colemanl/dev/cps
Executing script: start

to be executed: babel-node bin/server
  app:config Creating default configuration. +0ms
  app:config Looking for environment overrides for NODE_ENV "development". +42ms
  app:config Found overrides, applying to default configuration. +22ms
  app:webpack:config Create configuration. +3s
  app:webpack:config Enable plugins for live development (HMR, NoErrors). +23ms
  app:server:webpack-dev Enable webpack dev middleware. +742ms
  app:server:webpack-hmr Enable Webpack Hot Module Replacement (HMR). +146ms
  app:bin:server Server is now running at http://localhost:3000. +21ms
webpack built 2abd9dd14c8a3294cff9 in 10027ms
Hash: 2abd9dd14c8a3294cff9
Version: webpack 1.13.0
Time: 10027ms
                                Asset     Size  Chunks       Chunk Names
          app.2abd9dd14c8a3294cff9.js   718 kB       0       app
    1.counter.2abd9dd14c8a3294cff9.js  43.7 kB       1       counter
       vendor.2abd9dd14c8a3294cff9.js   382 kB       2       vendor
      app.2abd9dd14c8a3294cff9.js.map   850 kB       0       app
1.counter.2abd9dd14c8a3294cff9.js.map  54.4 kB       1       counter
   vendor.2abd9dd14c8a3294cff9.js.map   456 kB       2       vendor

ERROR in ENOENT: no such file or directory, scandir '/home/colemanl/dev/cps/node_modules/node-sass/vendor'
 @ ./src/layouts/CoreLayout/CoreLayout.scss 4:14-284 13:2-17:4 14:20-290

ERROR in ENOENT: no such file or directory, scandir '/home/colemanl/dev/cps/node_modules/node-sass/vendor'
 @ ./src/styles/core.scss 4:14-269 13:2-17:4 14:20-275

ERROR in ENOENT: no such file or directory, scandir '/home/colemanl/dev/cps/node_modules/node-sass/vendor'
 @ ./src/routes/Home/components/HomeView.scss 4:14-291 13:2-17:4 14:20-297

ERROR in ENOENT: no such file or directory, scandir '/home/colemanl/dev/cps/node_modules/node-sass/vendor'
 @ ./src/components/Header/Header.scss 4:14-280 13:2-17:4 14:20-286

ERROR in ENOENT: no such file or directory, scandir '/home/colemanl/dev/cps/node_modules/node-sass/vendor'
 @ ./src/components/Counter/Counter.scss 4:14-281 13:2-17:4 14:20-287
Child html-webpack-plugin for "index.html":
         Asset    Size  Chunks       Chunk Names
    index.html  546 kB       0
webpack: bundle is now VALID.

I checked out previous commits and saw the recent node-sass upgrade, so I ran npm install --save<EMAIL_ADDRESS>and I think there are some dependency problems, but the npm start worked and I can see the web app now.

Thanks for the report and the update. If I've read this right you say it's working now by upgrading node-sass, so I'm going to close this for now since all future users should be installing the required/fixed version as well.
Let me know if I'm wrong in this assumption, in which case we can reopen.

Sorry, I was trying to say that I fixed it by downgrading node-sass to
3.3.3. I looked at the commits and saw that it was recently changed from
3.3.3 to a newer version, and I undid that and now it works.
On May 10, 2016 8:19 AM, "David Zukowski"<EMAIL_ADDRESS>wrote:

Thanks for the report and the update. If I've read this right you say it's
working now by upgrading node-sass, so I'm going to close this for now
since all future users should be installing the required/fixed version as
well.
Let me know if I'm wrong in this assumption, in which case we can reopen.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/davezuko/react-redux-starter-kit/issues/791#issuecomment-218140631

Oh seriously? What's the latest version of node-sass that you tried and didn't work? At this point it might just be something that needs to be filed in their repo; I'm searching through their issues right now.
Sorry for misreading that!

Previously the requirement I had installed was ^3.7.0, I've only tried that
one and 3.3.3, so I'm not sure which version it actually breaks at. I'm
also not sure why this would just be affecting me either - I'm running a
really fresh install of Ubuntu 16.04 on my work computer that I just got
last week.
On May 10, 2016 8:42 AM, "David Zukowski"<EMAIL_ADDRESS>wrote:

Oh seriously? What's the latest version of node-sass that you tried and
didn't work? At this point it might just be something that needs to be
filed in their repo; I'm searching through their issues right now.
Sorry for misreading that!
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/davezuko/react-redux-starter-kit/issues/791#issuecomment-218145473

I also have this warning now since I downgraded:
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.

Thanks @liamcoau ! I encountered the same issue and got it (temporarily) fixed by downgrading node-sass to 3.3.3 too. Apparently they changed something which caused includePaths to be ignored.

Simlar problem with node-sass v3.7.0. I get the following error:
Error: ENOENT: no such file or directory, scandir 'C:\Working\my-app\node-sass\vendor'
In the package.json file it is looking for the "vendor" directory, which doesn't exist:
"files": [
"bin",
"binding.gyp",
"lib",
"scripts",
"src",
"vendor"
],
Rolling back "node-sass" to "3.4.0" temporarily fixed the issue for me. However, I am now locked into this version.

Before I've had problems with a missing vendor directory in other packages,
and t required a npm build to generate system specific files.
On Tue, Jun 21, 2016 at 12:45 PM, dustin-page<EMAIL_ADDRESS>wrote:

Simlar problem with node-sass v3.7.0. I get the following error:
Error: ENOENT: no such file or directory, scandir
'C:\Working\my-app\node-sass\vendor'
In the package.json file it is looking for the "vendor" directory, which
doesn't exist:
"files": [
"bin",
"binding.gyp",
"lib",
"scripts",
"src",
"vendor"
],
Rolling back "node-sass" to "3.4.0" temporarily fixed the issue for me.
However, I am now locked into this version.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/davezuko/react-redux-starter-kit/issues/791#issuecomment-227482397,
or mute the thread
https://github.com/notifications/unsubscribe/AB4mDB24mByYmtRgq9EX4dkVFaJHFxpjks5qOAcugaJpZM4IaQec
.

I've just encountered this same problem on Ubuntu 14.04.
I didn't have the problem when running the babel-node server under Mac OSX.
Is it just me or did other people have to add a tonne of dependencies to their package.json file to resolve all the module dependency problems? I might file a separate issue for this.
There is no npm build function.
Also now when I downgrade node-sass I get this:
npm ERR! peerinvalid The package<EMAIL_ADDRESS>does not satisfy its siblings' peerDependencies requirements! npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>So the sass-loader is complaining because the version of node-sass is too old.

I ran into this and was able to get around it by removing the node-sass folder entirely from node_modules and asking npm to reinstall it.

That's great, @r4j4h was that with the latest version of node-sass?

@JMacLulich I figured out this problem according to r4j4h's comment. And, the version of node-sass is 3.7.0.

@Alex1990 thanks, that helps alot, I can bump my version back up to 3.7.0 and rebuild the node-sass folder.
I found this command npm rebuild node-sass seemed to fix some of my issues.

Figured out according to r4j4h's comment !

Sorry for not responding sooner, it was the latest version at time of my writing at least. Thank you @Alex1990  for filling in for me. Glad I could help! =)

i have @3.8.0 i upgrade down to @3.4.0 And it works now.

@3.10.1 also breaks.

I did an npm cache clear && npm install -g --save-deve node-sass, and "we're back!".

I don't know why, it works with @r4j4h's comment: after reinstall, the folder vender just shows up. It has nothing to do with node-sass version.

Working around this by adding mkdir -p node_modules/node-sass/vendor to my prepublish script.

I am facing same issue with node-sass. If i do npm uninstall node-sass and npm install node-sass (or )
npm rebuild node-sass. Issue is resolved. But want to know how to avoid doing that. Why first time npm install is not installing node-sass correctly....

This also happens on Heroku from time to time. I found the only way to deal with this is randomly upgrading and downgrading to another version helps. But I hope this bug is eliminated soon

Also seeing this on Heroku

Had this issue today. Using yarn.
I added a package (yarn add moment) that didn't change any other dependency. Suddenly yarn start didn't work (couldn't find node-sass/vendor). Removed node-sass from node-modules, then added the package since it clearly was a dependency: yarn add node-sass and ran yarn start without problems.

+1
rm -rf node_modules/node-sass
yarn add node-sass
it works

I have the same issue on Dokku. Shouldn't this issue be reopened?

Thanks @liamcoau, you saved lot of debugging time.

i have this issue with yarn2nix and i filed a bug there as well:
https://github.com/moretea/yarn2nix/issues/12#issuecomment-338763993
why does node-sass rely on the rebuild and why can't it be installed properly otherwise? i tried a few different versions of node-sass and neither builds.


Create requirements.txt for Vue js application

@tunveyyy could you please update the file and close this issue.


Fix/bottomsheet ios resizing

The bottomsheet was not correctly resized while rotating from portrait to landscape.
The bottom sheet is now always using the full screen width on resize like it is doing when opening it in the disired orientation.
The child is informed about the resizing before it will render itself. When the child height is dependent on its width (fixed ration), it was not able to resize correctly, because it was only rendered before the parent (bottomsheet) was resized.

@alexander-mai thanks! there are actually a lot of changes there. Will have to test that all.
Will let you know. Thanks

Hello @farfromrefug,
what do you think when you can process my pull requests?

@alexander-mai your PR broke a lot of thing. Safe area are not handled correctly anymore.
I will try and handle what you want to right way.
plus it needs to be optional. I kind of like the not full width in landscape

Hello @farfromrefug,
I tried this on iPhone with and without Safe areas. The flags for bottom and top safe areas are handled correctly in my app and in demo app.
The full with on landscape ios zthe same behaviour like the current implementation.
The difference is, that on current implementation the width will not be resized correctly.
When opend in Landscape, the bottomsheet is opened in full width. After rotating to portrait, the width is reduced to the device width. After rotating back to landscape, the width still remains on portrtait width.

@alexander-mai testing you PR everything was out of place and options to ignore safe areas were not working anymore.
And yes i do see the issue you are talking about. And it is a real issue somewhere else. The safe area size returned is not always correct. For now i dont see an easy fix. I tried a few things without success. I will have to look deeper into this.


[HIGH-VOLUNTEER PORTAL] Change "Failed" Background Check Message

Since we put a pin in issue #75 @JasonTheAdams because we realized there was a lot more to it than what was originally realized, I decided to start a new thread to get this simple task completed of changing that failed message. It was displayed on someone's Volunteer Status and they actually sent an email to boardmembers@sdrt and ended up missing Tuesday's Returning Tutor Orientation (doh!). I figured out why this was happening and it shouldn't happen again, but want to cover my bases in case.
Please change the FAILED messaged from:
"Your background check did not clear. You are not allowed to tutor with us at this time. If you have questions about this at all, please contact<EMAIL_ADDRESS>To NEW MESSAGE:
"Your Background Check or Minors Registration Form is not up-to-date. For more information on how to start a new background check, please contact<EMAIL_ADDRESS>

Hey @dreazee!
I've resolved this in faae7ba and pushed the changes live. 👍


Add MTLBlitOption::None

Wouldn't BGRA copy work fine with MTLBlitOptionNone?

Ah I didn't see that in here https://developer.apple.com/documentation/metal/mtlblitoption and didn't realize it existed
Much better, thanks.

The way it can be used today is via MTLBlitOption::empty(), and that's what we are doing in wgpu. Do we still need to add None constant with this in mind?

Ah, when I originally opened this issue I was actually wondering how WebGPU implemented CommandEncoder.copy_texture_to_buffer without being able to omit the blip option. Now I see.

My thinking:

If you navigate to MTLBlitOption in your IDE you only see the blitflags! struct definition.

If you go to the API docs you see a failed build. I'm not sure what docs rs' story is for mac builds these days.

If I'm coming from a Swift/Objective-C/etc background to Rust, I'm looking for the enum variant and will be confused when I don't see it.

So, right now, if you're unfamiliar with the bitflags crate you have no reasonable way of knowing that it's possible to do MTLBlitOption::empty().
My vote would be that ::None is more user friendly (I would have seen it when I navigated to the source code and never opened this issue in the first place) and more consistent with the official Apple docs, with no downsides that I can think of.
So, I think that we should add it.
Of course let me know if you disagree.

I see pros and cons about exposing None, but ultimately I'm fine either way, as long as we expose it consistently in all the bitflags.

If I'm coming from a Swift/Objective-C/etc background to Rust, I'm looking for the enum variant and will be confused when I don't see it.

I think this is a core of the issue. This isn't an enum!
And what makes it look like an enum is the snake-case variants. All the bitflags in the while are all upper-cased, like MTLBlitOption::DEPTH_FROM_DEPTH_STENCIL.
The problem with None is that it's not a flag, unlike all others, and it's not necessary. One way to approach this would be to document all the bitflag types as bitflags, to avoid confusion.
Briefly looking at the other types, I see MTLFunctionOptions which already has None variant. So at least adding None here is somewhat consistent, hence we can proceed.
In the longer term, I'd like to see real idiomatic use of bitflags here, but it's a minor wish :).

I think this is a core of the issue. This isn't an enum!

Ahhhh, right good point thanks.


setTempOffset and setHumOffset

It looks like the header has definitions for setTempOffset/getTempOffset and setHumOffset/getHumOffset and the class has the variables, but it doesn't seem that the implementation is missing.

  I see it now...

Q: do I need to improve documentation, comments or readme.md ?

Hi,
Your code and documentation are really nice, no improvements needed.  Also, a big thank you for putting it out there, it has really helped me.  Your efforts are very much appreciated.
I made a really bad mistake and jumped to a conclusion that was wrong.  I forgot to connect the dots in my code and didn't catch that until just after I clicked save...  Totally my bad in multiple ways.
Thanks for asking,
Jim

From: Rob Tillaart @.>
Sent: Tuesday, March 1, 2022 1:04 AM
To: RobTillaart/DHTNew @.>
Cc: Jim Christenson @.>; State change @.>
Subject: Re: [RobTillaart/DHTNew] setTempOffset and setHumOffset (Issue #74)
Q: do I need to improve documentation, comments or readme.md ?
—
Reply to this email directly, view it on GitHubhttps://github.com/RobTillaart/DHTNew/issues/74#issuecomment-1055093347, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACG3FHJYN4WHC356T7W7ZJ3U5W6RJANCNFSM5PSL4L7A.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you modified the open/close state.Message ID: @.***>


Authenticate middleware use an invalid method on AuthManager

Laravel Version: 5.*
PHP Version: *
Database Driver & Version: n/a

Description:
I found that Illuminate\Contracts\Auth\Guard interface does not define the authenticate method.
This method is directly used inside the Illuminate\Auth\Middleware\Authenticate middleware.
This method is defined in the Illuminate\Auth\GuardHelper trait but what if I don't need it ?
Steps To Reproduce:
If you create your own application guard by implementing Illuminate\Contracts\Auth\Guard interface, you get an Unknown method error when the Authenticate middleware is applied.
Possible solution
Maybe the best solution is to use an existing Guard method instead of adding authenticate method signature to Guard interface.

I have a same error...


Feature: Handle types of uploads in Images signup

I want to add middleware to accept only images in frontend.

Assign me under GSSOC'23

@AtriSukul1508  Can you assign me this task under GSSOC'23


Cleanup and test crowdfund contract

Resolves #9.
Important points about this PR-

I don't see why the user would want to partially withdraw a balance from an expired crowdfund, so I removed the amount from withdraw.
The owner can currently call deposit, so should the owner be allowed to withdraw a deposit? If not, the owner shouldn't be able to call deposit.
I updated deadline from i64 to u64. I64 may have been used intentionally, but I'm not sure why so let me know if that should be reverted.
There are two TODO's in the test advance_ledger function. This shouldn't affect the tests, but it should still be cleaned up.

If you're updating the cargo dependency git hashes you'll also need to update the token contract, otherwise you'll just get    0: "unexpected environment interface version"

I initially used i64, because of this bug: https://github.com/stellar/soroban-cli/pull/118, so yeah let's use u64 now. :+1:

@paulbellamy I updated the token contract and tested with rm -rf .soroban ; make && ./initialize.sh using the latest version of the cli from soroban-cli/main.


Added new CLIs for CSS cluster management

Added CLIs for new CSS cluster APIs.
- css cluster add nodes
- css cluster replace node
- css cluster retry upgrade job
- css cluster scale in
- css cluster scale in node type
- css cluster update flavor
- css cluster update kernel
- css cluster update name
- css cluster update password
- css cluster update security group
- css cluster update security mode
- css cluster upgrade status
- css cluster version upgrades list

recheck


[branch-2.0](schema change) opt cooldown data schema change

Proposed changes
This PR solves 3 problems of schema change for cooldown data:

Schema change will build a new tablet for base tablet, and all replicas do this separately, so the cooldown data SC writes all replicas to the remote storage, But the cooldown rowsets just need one master replica to cooldown, the other replicas follow the master. To optimize this issue, Doris can just write the new rowsets to the local storage, and the tablet will cooldown this rowsets automatically for just one mater replica.

In schema change job and rollup job, FE generates createReplicaTask, which specifies the storage policy of the tablets to create, table's storage policy may be empty if we just set the partitions' storage policy, so we use partition's storage policy instead of table.

checks the target tablets in the loop of data conversion, and terminates the data conversion thread if the tablet is been dropped.

run buildall

run p0

run p0

run p0

run p0

run buildall

run feut


amazon connector needs to decode HTML entity references in album title

album titles with punctuation or accent are encoded with HTML entity references.
artist names nor track titles are not.
I don't know why, but that's the way it is.

You omitted trim function in the filter configuration (that was used in default filter). Is it an intentional change?

No, it isn't.  What is the correct manner to add a filter with keeping the default?

Connector.filter = new MetadataFilter({
	album: MetadataFilter.decodeHtmlEntities,
	all: MetadataFilter.trim
 });

Artist and track will be filtered by 'trim' function only, whereas album will be filtered by both functions.

Thank you for the comment.
I've pushed the fix to include the trim filter.


[ISSUE #7300] jRaft-Controller Implemention

Which Issue(s) This PR Fixes

Fixes #7300
Brief Description
Use JRaft to Implement Controller.
New Configuration
# 可选 jRaft、DLedger，默认 DLedger
controllerType=jRaft

# jRaft 相关
# 选举超时时间，默认 1 秒
jRaftElectionTimeoutMs=1000
# 进行 Snapshot 的间隔，默认 1 小时，此处建议更长的时间，如 1 天、3 天
jRaftSnapshotIntervalSecs=3600
# group id
jRaftGroupId=jRaft-Controller
# 本机 jraft 的地址
jRaftServerId=localhost:9880
# jraft 组的地址
jRaftInitConf=localhost:9880,localhost:9881,localhost:9882
# jRaft Controller 中，jRaft 与 提供给 Broker 的 RPCService 不共用套接字资源，下面设置的是 Controller 上监听 Broker RPC 的端口。注意 IP 与端口要与 jRaftInitConf 一一对应。
jRaftControllerRPCAddr=localhost:9770,localhost:9771,localhost:9772

Design
On the Broker side, the JRaft Controller did not make any modifications and continued to use all the designs and concepts of DLedger Controller, such as Epoch and SyncStateSet.
On the Controller side, JRaft Controller not only migrated, but also refactored the original components and code logic, not only supporting SnapShot functionality, but also solving the unreasonable aspects of the original design, making the Controller conform to linear consistency.
How Did You Test This Change?
Use Openchaos to test it.

Codecov Report

Merging #7301 (7529187) into develop (d000ef9) will decrease coverage by 0.37%.
Report is 2 commits behind head on develop.
The diff coverage is 14.61%.

@@              Coverage Diff              @@
##             develop    #7301      +/-   ##
=============================================
- Coverage      42.63%   42.27%   -0.37%
- Complexity      9453     9465      +12
=============================================
  Files           1151     1167      +16
  Lines          82669    83535     +866
  Branches       10771    10829      +58
=============================================
+ Hits           35246    35314      +68
- Misses         43018    43813     +795
- Partials        4405     4408       +3

Files Changed
Coverage Δ

...a/org/apache/rocketmq/common/ControllerConfig.java
0.00% <0.00%> (ø)

.../apache/rocketmq/controller/ControllerStartup.java
0.00% <ø> (ø)

...etmq/controller/elect/impl/DefaultElectPolicy.java
81.57% <ø> (ø)

...ache/rocketmq/controller/impl/JRaftController.java
0.00% <0.00%> (ø)

...q/controller/impl/JRaftControllerStateMachine.java
0.00% <0.00%> (ø)

...tmq/controller/impl/closure/ControllerClosure.java
0.00% <0.00%> (ø)

.../controller/impl/event/AlterSyncStateSetEvent.java
87.50% <ø> (ø)

...cketmq/controller/impl/event/ControllerResult.java
76.00% <ø> (ø)

...tmq/controller/impl/event/ListEventSerializer.java
0.00% <0.00%> (ø)

.../controller/impl/heartbeat/BrokerIdentityInfo.java
42.10% <0.00%> (ø)

... and 31 more

... and 23 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Please provide the logical deployment structure for the following components: broker, jarftGroup, ControllerManager, and JraftController @yulangz

Hello, I am replicating and enhancing the jraft experiment. I would like to consult you on the following questions:

In your experiment, are the controller, broker, etc. all deployed on the same machine? Because I noticed that you modified the code to use different ports such as localhost:9770, 9771, 9772, etc.
So if I have three distributed controllers, will they all expose ports 9880 and 9770 to the broker by default? Does the broker need any configuration for this?
Could you provide a complete sample configuration file for the proxy and broker? I would like to keep the parameters mostly the same.

Hello, I am replicating and enhancing the jraft experiment. I would like to consult you on the following questions:您好，我正在复制和增强 jraft 实验。我想就以下问题咨询您：

In your experiment, are the controller, broker, etc. all deployed on the same machine? Because I noticed that you modified the code to use different ports such as localhost:9770, 9771, 9772, etc.在您的实验中，控制器、代理等是否都部署在同一台机器上？因为我注意到您修改了代码以使用不同的端口，例如 localhost：9770、9771、9772 等。
So if I have three distributed controllers, will they all expose ports 9880 and 9770 to the broker by default? Does the broker need any configuration for this?因此，如果我有三个分布式控制器，它们是否默认都向代理公开端口 9880 和 9770？代理是否需要对此进行任何配置？
Could you provide a complete sample configuration file for the proxy and broker? I would like to keep the parameters mostly the same.您能否为代理和代理提供完整的示例配置文件？我想保持参数基本相同。

1 yes
2 yes, broker  only change controllerAddr={NS_IP1}:9770,{NS_IP2}:9770,{NS_IP3}:9770
3 ns (with controller)
enableControllerInNamesrv=true
	controllerType=jRaft
	jRaftElectionTimeoutMs=1000
	jRaftSnapshotIntervalSecs=3600
	jRaftGroupId=jRaft-Controller
	jRaftServerId={LOCAL_IP}:9880
	jRaftInitConf={NS_IP1}:9880,{NS_IP2}}:9880,{NS_IP3}:9880
	jRaftControllerRPCAddr={NS_IP1}:9770,{NS_IP2}:9770,{NS_IP3}:9770

broker
enableControllerMode=true
controllerAddr={NS_IP1}:9770,{NS_IP2}:9770,{NS_IP3}:9770

I will take over this pull request later.
cc @yulangz


rgw/admin: add creation time to bucket

The API endpoint for bucket stats includes a creation_time field which is not included in the admin.Bucket struct. This simply adds the field.
Checklist

[x] Added tests for features and functional changes
[x] Public functions and types are documented
[x] Standard formatting is applied to Go code
[x] Is this a new API? Added a new file that begins with //go:build ceph_preview
[x] Ran make api-update to record new APIs

New or infrequent contributors may want to review the go-ceph Developer's Guide including the section on how we track API Status and the API Stability Plan.
The go-ceph project uses mergify. View the mergify command guide for information on how to interact with mergify. Add a comment with @Mergifyio rebase to rebase your PR when github indicates that the PR is out of date with the base branch.

@mergifyio rebase

I have added a test, but I am not sure it is the right place to add a test for this. It tests that the creation date was within a reasonable duration as I couldn't see a way to make the test server return a known date. It might be better to test the other end. I also made a test with a mock response similar to what is going on in TestUnmarshal, but that would add some burden in the future when the response is changed. Happy to add that instead or aswell?

I have added a test, but I am not sure it is the right place to add a test for this. It tests that the creation date was within a reasonable duration as I couldn't see a way to make the test server return a known date. It might be better to test the other end. I also made a test with a mock response similar to what is going on in TestUnmarshal, but that would add some burden in the future when the response is changed. Happy to add that instead or aswell?

@phlogistonjohn since you asked for the unit test, you want to take a final look.

Great, I am happy that there is a test. My lack of knowledge around specific of RGW make me hesitant to approve the PR though. It has my tacit approval now :-)

@mergifyio rebase

The nautilus test is now failing in the same location:
{"bucket":"test","num_shards":0,"tenant":"","zonegroup":"8fb5e482-7816-4c4a-bf48-c7c0f29bec50","placement_rule":"default-placement","explicit_placement":{"data_pool":"","data_extra_pool":"","index_pool":""},"id":"b872f21e-d86c-4c80-9d87-d6550b207fe0.4151.1","marker":"b872f21e-d86c-4c80-9d87-d6550b207fe0.4151.1","index_type":"Normal","owner":"admin","ver":"0#1","master_ver":"0#0","mtime":"2024-05-20 13:57:38.916311Z","max_marker":"0#","usage":{},"bucket_quota":{"enabled":false,"check_on_raw":false,"max_size":-1,"max_size_kb":0,"max_objects":-1}}
=== NAME  TestRadosGWTestSuite/TestBucket
    bucket_test.go:46:
        	Error Trace:	/go/src/github.com/ceph/go-ceph/rgw/admin/bucket_test.go:46
        	Error:      	Expected value not to be nil.
        	Test:       	TestRadosGWTestSuite/TestBucket
--- FAIL: TestRadosGWTestSuite (1.56s)
    --- FAIL: TestRadosGWTestSuite/TestBucket (1.56s)
        --- PASS: TestRadosGWTestSuite/TestBucket/list_buckets (0.05s)
        --- PASS: TestRadosGWTestSuite/TestBucket/info_non-existing_bucket (0.04s)
        --- PASS: TestRadosGWTestSuite/TestBucket/info_existing_bucket (0.04s)
        --- FAIL: TestRadosGWTestSuite/TestBucket/existing_bucket_has_valid_creation_date (0.04s)
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x9fee34]

goroutine 41 [running]:
testing.tRunner.func1.2({0xa87fc0, 0x13f2930})
	/opt/go/src/testing/testing.go:1631 +0x24a
testing.tRunner.func1()
	/opt/go/src/testing/testing.go:1634 +0x377
panic({0xa87fc0?, 0x13f2930?})
	/opt/go/src/runtime/panic.go:770 +0x132
github.com/ceph/go-ceph/rgw/admin.(*RadosGWTestSuite).TestBucket.func4(0xc000550340?)
	/go/src/github.com/ceph/go-ceph/rgw/admin/bucket_test.go:47 +0x1d4
testing.tRunner(0xc000550340, 0xc00053af30)
	/opt/go/src/testing/testing.go:1689 +0xfb
created by testing.(*T).Run in goroutine 21
	/opt/go/src/testing/testing.go:1742 +0x390
FAIL	github.com/ceph/go-ceph/rgw/admin	1.569s
FAIL

I suspect this may be a real regression. Someone please look into this. Thanks!

@mergifyio rebase

- and:
  - label=API
  - "#approved-reviews-by>=1"
  - "updated-at<10 days ago"

kicked in 😀 .


Release AIP 1.23.0

thanks

Hi @ronibd0. I actually assumed you were a bot. Can I ask what you are trying to accomplish with this PR?


MRTK Profile Inspector Performance Improvements

Overview
Major changes

Adds the MixedRealityProfileUtility class. This class is responsible for listening for asset changes and caching available profiles by type and service type. Prior to this change inspectors were searching for ScriptableObject instances every redraw.
Changes profiles from object fields to dropdown lists and moves profile drawing from BaseMixedRealityProfileInspector to MixedRealityInspectorUtilities. The GUIContent for these lists are cached.
Adds a 'View Asset' button to profile fields - clicking this reveals the ScriptableObject asset in the project view.
Removes object picker window functionality from MixedRealityToolkitInspector, since dropdowns are effectively the same.

Changes

Addresses: #6120

Verification

As a reviewer, it is possible to check out this change locally by using the following
commands (substituting {PR_ID} with the ID of this pull request):
git fetch origin pull/{PR_ID}/head:name_of_local_branch
git checkout name_of_local_branch

Seems related to #5791, did you know about that PR? Can you share similarities and differences?

I really like the dropdown idea! Will make profiles much easier to find.

Reading the issue you filed, I saw you said "Observer poor performance", this is more out of curiosity but what are you seeing? I actually haven't noticed any issues myself (but of course different projects/dev machines etc etc). If you run a scene and show the inspector on the side, do you notice a before/after in FPS on the visual profiler

Reading the issue you filed, I saw you said "Observer poor performance", this is more out of curiosity but what are you seeing?

@Troy-Ferrell maybe @Cameron-Micka can share some of the feedback we've been getting. In my experience button clicks are sluggish and resizing the inspector is tough, especially in 2019.

Out of curiosity, do you have numbers on the perf difference before/after?

I don't - it's tricky to guage because it varies based on how many / which profile inspectors are rendering at once. But each call to ScriptableObjectExtensions was taking anywhere from 20-120ms, and many happening each OnInspectorGUI call, so you could get some pretty laggy spikes. With this change you only see those spikes the first time a profile type is rendered.

Seems related to #5791, did you know about that PR? Can you share similarities and differences?

@julenka We're trying to solve the same problem but we're caching things in different ways. This PR responds better to asset changes (not just recompilation) so the cache doesn't get stale.

@Troy-Ferrell our partner onsite this week was seeing (if I had to guesstimate) about a 5Hz refresh of the MRTK Profile inspector when using it. Resizing the inspector it became very apparent. Their laptops were pretty modest, and they were using Unity 2019. So maybe there is a 2019 regression?

@Troy-Ferrell If they are the same, then why change?
They're the same in the sense that they both present a set of available options. But I feel dropdowns are more user-friendly. A dropdown removes all ambiguity about what to select and how. An object field + a separate pop-up window is an opportunity for accidental closure / confusion about its relationship to the profile / etc. I feel the same way about the clone window - someday I'm going to get rid of that thing.

@Troy-Ferrell If they are the same, then why change?
They're the same in the sense that they both present a set of available options. But I feel dropdowns are more user-friendly. A dropdown removes all ambiguity about what to select and how. An object field + a separate pop-up window is an opportunity for accidental closure / confusion about its relationship to the profile / etc. I feel the same way about the clone window - someday I'm going to get rid of that thing.

That's true. I hate when the popup window goes to my far left monitor but I am working on my far right, etc.


[proto] Another attemp to rewrite RandomCrop

This approach makes sense to me. I didn't check that the entire logic is correct (I know you are looking into correcting some minor issue) but the overall strategy looks good.


Different log file for each manager process

In the documentation on setting up a compute manager, it says to specify the log file with
logfile: qcfractal-manager.log

I'm going to be having a whole lot of managers all running at once on different nodes of a cluster.  I want each one to write to a different log file.  Since some of the other fields seem to support environment variables, I was hoping I could just write
logfile: "qcfractal-manager-${SLURM_JOBID}.log"

but that doesn't work.  Is there an easy way to make each job use a different log file?

To get a log file per job, what I've done on various HPC clusters is to use envsubst to create a config file specific for that job, with environment variables like you have here substituted in. That config file is then used by the compute manager started by the job.
Something like:
envsubst < config.yml > configs/config.${SLURM_JOBID}.yaml

qcfractal-compute-manager --config configs/config.${SLURM_JOBID}.yaml

The way outlined above is probably the best you could do now. You could also automatically create directories and copy a config, and have a relative path to a logfile there.
I did fix this for the future in #768 , so thanks for the suggestion :)

That works.  Thanks!


passing any to short-circuit and/or (||/&&) loses more precision than necessary

TypeScript playground link
function f1(n: number, a: any): void {
  const b1: boolean = a || n;  // BAD: no error reported; 'b1' might get assigned a number
  const b2: boolean = n || a;  // BAD: no error reported; 'b2' might get assigned a number
  const b3: boolean = a && n;  // GOOD: Type 'number' is not assignable to type 'boolean'
  const b4: boolean = n && a;  // BAD: no error reported; 'b4' might get assigned a number
}

// Maybe closer to root cause:
function f2(v: number | any): void {
  const b: boolean = v;  // BAD, I think?
}

T | any and T & any are always any, regardless of T.  This is by design.  Long story short - if you want type safety, you need to get rid of the anys posthaste.

Is the reasoning around this design described anywhere?  For example, in an existing issue?

Simply because that’s what any does, it disables type checking in contexts where it occurs.  It’s not really “the widest possible type” like intuition tends to suggest—it’s more of a special “don’t type-check this” flag that you can use in place of a type.
Here’s an issue about it: https://github.com/microsoft/TypeScript/issues/18568
In this particular case, you have an expression of the form x || y.  The compiler needs a type for that expression so it constructs a union TypeOfX | TypeOfY.  If either one is any, the whole type becomes any.

I realize that that's what TypeScript is doing and it's not an unreasonable choice.  But I ran into this problem in real-world code and was surprised by it, so I'm just wondering if it's worth doing better.

It’s not really “the widest possible type” like intuition tends to suggest—it’s more of a special “don’t type-check this” flag that you can use in place of a type.

Yes, that's exactly the reason this is an issue.  If it were simply the widest possible type (say, top), then treating top | number like top is be fine because we'd eventually catch the error when trying to assign that to boolean.
Thanks for the link to the issue!  One difference there is that the issue there is for auto-complete, not for type checking itself.  (It would have affected type checking if it were on the return type, though.)
A comment on that issue suggests that there's an important optimization that depends on having any subsume the whole union.  On the face of it, it seems like tracking string | number is just as expensive as tracking any | number, but I don't know anything about the TypeScript compiler code.

If you want an actual top type, use unknown instead of any.

No, I don't want top.  I was just saying that treating any | T as any would be 100% ok if it were "the widest possible type".
But since it actually means "don't type-check this", collapsing any | T to any loses some precision in real-world code in a way that surprised me.


Upgrading to 2.0.0-beta3 and enabling homepage

Resolves #8

Looks good

Lets make sure we test this before we deploy

Yeah, I won't be pushing the changes until tomorrow and we can deploy privately to ensure all is good.


Programmatic way to exit drawing mode when done drawing

What's the right way for me to end a drawing mode? Example use case: The user can either draw a rectangle or a polygon; when they have finished dragging the rectangle or closed the polygon, the mode should stop and the cursor should change back to the normal browsing/panning one (The library seems to swallow keyboard events while a mode is active too).
Thanks!

Hey @bdon - I was just looking at the API and you're right that there probably isn't a good way to do this right now. The default behaviour is to stay in the mode after geometry completion.
The hack work around I came up with would be something like:
	draw.on("change", (_, type) => {
	    if (type === "created") {
		    polygonMode.stop();
	    }
	});

However, firstly I'd need to verify this works as expected (bit strapped for time at the moment), but also I think this isn't a great developer experience and also is probably error prone.
Some potential options would be to:

Add a boolean parameter such as 'exitOnCreate' to the mode constructors which allows for this behaviour
Work out if there's a way to make the the draw.on('created' approach nicer
Provide event callbacks on modes themselves and look at seeing if there's a nice way of doing it that way

Let me have a think about this - also appreciate any thoughts you may have. Regarding the keyboard events, I assume you mean that it is swallowing them outside of Terra Draw i.e. you are adding a native event handler on the map DOM element and they are being swallowed there?

The way Leaflet.Editable handles this is via commit: events:
map.on("editable:drawing:commit", e => setGeomFromDrawing(e))

I guess that assumes that all modes have a well-defined end point, but that might not be true for modes that have more complex interactions, like drawing a polygon and then drawing holes inside the polygon.

re: events, I think it has to do with the modes as well - I'm using https://github.com/maplibre/maplibre-gl-geocoder which exists as DOM elements on the map, and when I attempt to type in the geocoder while I'm in a mode it seems to get intercepted by the hotkeys.

@bdon I've add something similar to this now in version 0.0.1-alpha.31.
You can use it like this:
	draw.on("finish", (id) => {
		// Feature if you need it
		const feature = draw.getSnapshot().find((feature) => feature.id === id);

		// Exit this drawing mode if necessary
		draw.setMode("static");
	});

Let me know if that works for you?
I tried to replicate the issue with the keys but I was not able to get the behaviour you're describing. The keyboards event seemed to come through to other event listeners regardless of the mode I was in. I will keep digging but if you have any more clues would be great to hear!

Yes, the finish event works perfect for what I'm trying to do. Thanks for that!
Still working on debugging the keypress issue

Here is a standalone HTML page that reproduces the problem:
When draw.start() is called, somewhere an event preventDefault() is happening that means the input element attached as a control at the top right doesn't respond.
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta
      name="viewport"
      content="initial-scale=1,maximum-scale=1,user-scalable=no"
    />

Thanks for this @bdon - I'm away for a few days but will take a look into this when I get back!

Just a short update - I managed to narrow this down. It seems this only applies to native events for elements inside the container. If the container is outside it does not swallow the event:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta
      name="viewport"
      content="initial-scale=1,maximum-scale=1,user-scalable=no"
    />

However I can see for Mapbox controls and other similar widgets this will be painful. I may need to rethink how to handle this as the current default rotation/scaling key bindings are already used by the browser (control + r to rotate and control + s to scale). I could look at find a default intuitive keybinding that is not in use by the browser/mapping libraries or instead could make the preventDefault call configurable. Let me have a think what might make sense.

I'm closing this as the original core issue for exiting drawing mode now has a solution. I have opened #40 specifically for the keyboard events 👍🏻 I also think I have a reasonable fix for the issue!


Add @cnsstu.catholic.edu.au (St Andrews Catholic College)

The domain WHOIS info for cnsstu.catholic.edu.au is:
Domain Name: cnsstu.catholic.edu.au
Registrant Contact Name: Executive Director
Tech Contact Name: Michael Norman
Registrant: Catholic Education Office - Cairns
Eligibility Type: Other.
This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

The domain WHOIS info for cnsstu.catholic.edu.au is:
Domain Name: cnsstu.catholic.edu.au
Registrant Contact Name: Executive Director
Tech Contact Name: Michael Norman
Registrant: Catholic Education Office - Cairns
Eligibility Type: Other.
This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@tokyocplusplus Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


All lambda functions have IAM policy for logging

Note: If your feature-request is regarding the AWS Amplify Console service, please log it in the
official AWS Amplify Console forum

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
When creating a Lambda function with only API access no IAM policy is attached.  This prevents the lambda from be able to log to cloudwatch.    For example, if you add AUTH access to a lambda it does create an IAM role with the lambda-execution-policy policy attached
Describe the solution you'd like
A clear and concise description of what you want to happen.
For any function added with amplify add function create an IAM role with the lambda-execution-policy attached as the following:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:us-east-1:667713841636:log-group:/aws/lambda/LAMBDA_NAME-ENVIRONMENT:log-stream:*",
            "Effect": "Allow"
        }
    ]
}

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
When adding a lambda I always add AUTH read access.
Additional context
Add any other context or screenshots about the feature request here.

Hey @wderezin, wanted to follow up on this issue. Are you still experiencing the behaviour?

Closing as this issue has since been resolved. After adding a Lambda function with access to an API we see there is a Lambda execution IAM policy in the function's CloudFormation template.
"lambdaexecutionpolicy": {
      "DependsOn": [
        "LambdaExecutionRole"
      ],
      "Type": "AWS::IAM::Policy",
      "Properties": {
        "PolicyName": "lambda-execution-policy",
        "Roles": [
          {
            "Ref": "LambdaExecutionRole"
          }
        ],
        "PolicyDocument": {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
              ],
              "Resource": {
                "Fn::Sub": [
                  "arn:aws:logs:${region}:${account}:log-group:/aws/lambda/${lambda}:log-stream:*",
                  {
                    "region": {
                      "Ref": "AWS::Region"
                    },
                    "account": {
                      "Ref": "AWS::AccountId"
                    },
                    "lambda": {
                      "Ref": "LambdaFunction"
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    },


sys.exit(2) from isct scripts causing warnings in Sphinx build

isct_convert_binary_to_trilinear and isct_test_ants both end using sys.exit(2).
Sphinx interprets this non-zero exit code as a failure of some sort and throws a warning.
WARNING: Unexpected return code 2 from command 'isct_convert_binary_to_trilinear -h'
WARNING: Unexpected return code 2 from command 'isct_test_ants -h'

These will need to be dealt with if we want to use sphinx.fail_on_warning to help catch documentation issues.

See also the documentation for sys.exit()

The optional argument arg can be an integer giving the exit status (defaulting to zero), or another type of object. If it is an integer, zero is considered “successful termination” and any nonzero value is considered “abnormal termination” by shells and the like. Most systems require it to be in the range 0–127, and produce undefined results otherwise. Some systems have a convention for assigning specific meanings to specific exit codes, but these are generally underdeveloped; Unix programs generally use 2 for command line syntax errors and 1 for all other kind of errors.


Make possible to be strict about format in JsonBodyListener

Description
Steps to reproduce the issue:

Have a Symfony controller action that return this kind of response:

return new JsonResponse(['key' => $request->get('key')]);

then request this action like that:

# We don't set any Accept nor Content-Type header
curl -d '{"key": "value"} http://domain.tld/path

Describe the results you received:
HTTP/1.1 200 OK

{"key": null}

Describe the results you expected:
HTTP/1.1 406 Not Acceptable

Note: Here we consider that we implement HTTP content negociation the right way so the client must provide a Content-Type header.
From where to start
The actual part of JsonBodyListener incrimined code is:
https://github.com/rezzza/symfony-json-rest-api/blob/67639f9383eb4637f6ea56eed136af5373282428/src/JsonBodyListener.php#L34-L40
Other source(s) to watch for inspiration
FOSRestBundle FormatListener.php#L58-L75:
            $format = $request->getRequestFormat(null);
            if (null === $format) {
                $accept = $this->formatNegotiator->getBest('');
                if (null !== $accept && 0.0 < $accept->getQuality()) {
                    $format = $request->getFormat($accept->getValue());
                    if (null !== $format) {
                        $request->attributes->set('media_type', $accept->getValue());
                    }
                }
            }

            if (null === $format) {
                if ($event->getRequestType() === HttpKernelInterface::MASTER_REQUEST) {
                    throw new NotAcceptableHttpException('No matching accepted Response format could be determined');
                }

                return;
            }

We need the routing part

ping @tyx I guess this is closed by #21 and #23?


A warning on MBR vs GPT partitioned disks would be helpful

It might be useful to amend this document with a note on MBR disks, warning that extension past 2 TB would not be possible for MBR partitioned disks.

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

ID: ccc58c74-7913-f1f6-8681-1823bbd8f050
Version Independent ID: c11bab28-a82a-29a1-84bf-fb3dfb9a5cb2
Content: Expand the OS drive of a Windows VM in an Azure
Content Source: articles/virtual-machines/windows/expand-os-disk.md
Service: virtual-machines-windows
Sub-service: disks
GitHub Login: @kirpasingh
Microsoft Alias: kirpas

@TEKAzure Thanks for the feedback.
Its actually mentioned in the FAQ.
@kirpasingh Can we link the FAQ to this DOC. Please suggest

@TEKAzure a fix has been submitted. Once the PR merges the changes will go live after a few hours.


chore: bdd-nh-1582433778 to 0.0.1

chore: Promote bdd-nh-1582433778 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment