Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[grid] Add default sessionTimeout to NodeStatus to increase backward compatibility #15229

Merged
merged 2 commits into from
Feb 4, 2025

Conversation

VietND96
Copy link
Member

@VietND96 VietND96 commented Feb 4, 2025

User description

Thanks for contributing to Selenium!
A PR well described will help maintainers to quickly review and merge it

Before submitting your PR, please check our contributing guidelines.
Avoid large PRs, help reviewers by making them as simple and short as possible.

Motivation and Context

From 4.21.0+, there was an improvement where Node will expose the sessionTimeout via /status endpoint (NodeStatus) for RemoteNode can get that value for setting JdkHttpClient readtimeout. It helps RemoteWebDriver timeout behavior correctly. In PR #13854.

Recently, there have been a few concerns that a Node with an older version (4.20.0 backward) could not register to Hub (4.21+) with the reason "Session timeout must be set". It is due to Node endpoint /status doesn't expose sessionTimeout, and NodeStatus considered it is null when parsing JSON response.

Adding the default sessionTimeout (300 seconds) to NodeStatus. Later, any Node versions can register to Hub version 4.29.0+ in upcoming release.

We add this to increase backward compatibility, since there are people who are setting up Grid for cross-browser with multiple versions rely on docker-selenium (where a Node image with specific Grid version and browser version at the time that image was built).

java -jar selenium-server-4.28.1.jar hub --log-level FINEST                           
Feb 04, 2025 12:30:00 PM org.openqa.selenium.remote.tracing.opentelemetry.OpenTelemetryTracer createTracer
INFO: Using OpenTelemetry for tracing
Feb 04, 2025 12:30:00 PM org.openqa.selenium.events.zeromq.BoundZmqEventBus <init>
INFO: XPUB binding to [binding to tcp://*:4442, advertising as tcp://[fe80:0:0:0:1005:ef25:ba6a:6e41%en0]:4442], XSUB binding to [binding to tcp://*:4443, advertising as tcp://[fe80:0:0:0:1005:ef25:ba6a:6e41%en0]:4443]
Feb 04, 2025 12:30:00 PM org.openqa.selenium.events.zeromq.UnboundZmqEventBus <init>
INFO: Connecting to tcp://[fe80:0:0:0:1005:ef25:ba6a:6e41%en0]:4442 and tcp://[fe80:0:0:0:1005:ef25:ba6a:6e41%en0]:4443
Feb 04, 2025 12:30:00 PM org.openqa.selenium.events.zeromq.UnboundZmqEventBus <init>
INFO: Sockets created
Feb 04, 2025 12:30:01 PM org.openqa.selenium.events.zeromq.UnboundZmqEventBus <init>
INFO: Event bus ready
Feb 04, 2025 12:30:02 PM org.openqa.selenium.grid.commands.Hub execute
INFO: Started Selenium Hub 4.28.1 (revision 73f5ad48a2): http://192.168.1.101:4444
Feb 04, 2025 12:30:11 PM org.openqa.selenium.events.zeromq.UnboundZmqEventBus$PollingRunnable lambda$notifyListeners$2
WARNING: Caught exception from listener: org.openqa.selenium.events.EventListener@2ee9cf0
java.lang.IllegalArgumentException: Session timeout must be set
	at org.openqa.selenium.internal.Require.positive(Require.java:102)
	at org.openqa.selenium.grid.node.Node.<init>(Node.java:141)
	at org.openqa.selenium.grid.node.remote.RemoteNode.<init>(RemoteNode.java:92)
	at org.openqa.selenium.grid.distributor.local.LocalDistributor.register(LocalDistributor.java:324)
	at org.openqa.selenium.events.EventListener.accept(EventListener.java:42)
	at org.openqa.selenium.events.EventListener.accept(EventListener.java:24)
	at org.openqa.selenium.events.zeromq.UnboundZmqEventBus$PollingRunnable.lambda$notifyListeners$2(UnboundZmqEventBus.java:325)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:842)



java -jar selenium-server-4.17.0.jar node --session-timeout 400
12:30:09.922 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
12:30:09.925 INFO [OpenTelemetryTracer.createTracer] - Using OpenTelemetry for tracing
12:30:09.979 INFO [UnboundZmqEventBus.<init>] - Connecting to tcp://0.0.0.0:4442 and tcp://0.0.0.0:4443
12:30:10.000 INFO [UnboundZmqEventBus.<init>] - Sockets created
12:30:11.006 INFO [UnboundZmqEventBus.<init>] - Event bus ready
12:30:11.069 INFO [NodeServer.createHandlers] - Reporting self as: http://192.168.1.101:5555
12:30:11.085 INFO [NodeOptions.getSessionFactories] - Detected 10 available processors
12:30:11.085 INFO [NodeOptions.discoverDrivers] - Looking for existing drivers on the PATH.
12:30:11.086 INFO [NodeOptions.discoverDrivers] - Add '--selenium-manager true' to the startup command to setup drivers automatically.
12:30:11.208 WARN [SeleniumManager.lambda$runCommand$1] - There was an error managing chromedriver (Unable to discover proper chromedriver version in offline mode); using driver found in the cache
12:30:11.366 WARN [SeleniumManager.lambda$runCommand$1] - There was an error managing msedgedriver (Unable to discover proper msedgedriver version in offline mode); using driver found in the cache
12:30:11.552 WARN [SeleniumManager.lambda$runCommand$1] - There was an error managing geckodriver (Unable to discover proper geckodriver version in offline mode); using driver found in the cache
12:30:11.629 WARN [SeleniumManager.lambda$runCommand$1] - Unable to download safaridriver in offline mode
12:30:11.645 INFO [NodeOptions.report] - Adding Chrome for {"browserName": "chrome","platformName": "mac"} 10 times
12:30:11.645 INFO [NodeOptions.report] - Adding Safari for {"browserName": "safari","platformName": "mac"} 1 times
12:30:11.646 INFO [NodeOptions.report] - Adding Firefox for {"browserName": "firefox","platformName": "mac"} 10 times
12:30:11.646 INFO [NodeOptions.report] - Adding Edge for {"browserName": "MicrosoftEdge","platformName": "mac"} 10 times
12:30:11.672 INFO [Node.<init>] - Binding additional locator mechanisms: relative
12:30:11.749 INFO [NodeServer$1.start] - Starting registration process for Node http://192.168.1.101:5555
12:30:11.750 INFO [NodeServer.execute] - Started Selenium node 4.17.0 (revision e52b1be057*): http://192.168.1.101:5555
12:30:11.762 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
12:30:21.778 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
12:30:31.789 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
12:30:41.805 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
12:30:51.821 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
12:31:01.838 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
12:31:11.848 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
12:31:21.857 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
12:31:31.880 INFO [NodeServer$1.lambda$start$1] - Sending registration event...

Relates to: #14564, SeleniumHQ/docker-selenium#2615

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

PR Type

Bug fix, Enhancement


Description

  • Added a default sessionTimeout of 300 seconds in NodeStatus.

  • Improved backward compatibility for older Node versions registering to newer Hubs.

  • Ensured seamless integration for Nodes with missing sessionTimeout in /status endpoint.


Changes walkthrough 📝

Relevant files
Bug fix
NodeStatus.java
Add default sessionTimeout in NodeStatus                                 

java/src/org/openqa/selenium/grid/data/NodeStatus.java

  • Set default sessionTimeout to 300 seconds.
  • Modified NodeStatus.fromJson to handle missing sessionTimeout.
  • +1/-1     

    Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.
  • Copy link
    Contributor

    qodo-merge-pro bot commented Feb 4, 2025

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪
    🧪 No relevant tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Default Value

    The default session timeout of 300 seconds is hardcoded. Consider making this configurable via a constant or configuration parameter for better maintainability.

    Duration sessionTimeout = Duration.ofSeconds(300);

    Copy link
    Contributor

    qodo-merge-pro bot commented Feb 4, 2025

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Score
    General
    Make timeout value configurable

    Consider making the default session timeout configurable through a constant or
    system property instead of hardcoding it to 300 seconds

    java/src/org/openqa/selenium/grid/data/NodeStatus.java [79]

    -Duration sessionTimeout = Duration.ofSeconds(300);
    +Duration sessionTimeout = Duration.ofSeconds(DEFAULT_SESSION_TIMEOUT_SECONDS);
    • Apply this suggestion
    Suggestion importance[1-10]: 7

    Why: Making the timeout configurable via a constant improves maintainability and flexibility, allowing the value to be adjusted without code changes. This is a good practice for configuration values.

    7
    Learned
    best practice
    Add null validation check for required method parameters to prevent NullPointerException

    The fromJson method should validate that the input parameter is not null before
    using it. Add a null check at the start of the method to prevent potential
    NullPointerException.

    java/src/org/openqa/selenium/grid/data/NodeStatus.java [76]

     public static NodeStatus fromJson(JsonInput input) {
    +  Objects.requireNonNull(input, "JsonInput must not be null");
       NodeId nodeId = null;
       URI externalUri = null;
       int maxSessions = 0;
       Set<Slot> slots = null;
    • Apply this suggestion
    6

    Copy link
    Contributor

    qodo-merge-pro bot commented Feb 4, 2025

    CI Feedback 🧐

    (Feedback updated until commit bd9c5f3)

    A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

    Action: Ruby / Remote Tests (edge, windows) / Remote Tests (edge, windows)

    Failed stage: Run Bazel [❌]

    Failed test name: devtools-edge-remote

    Failure summary:

    The test devtools-edge-remote failed because the test case "notifies about document log messages"
    did not receive the expected log message format.

    Specifically:

  • Expected to receive a log message with attributes containing {:args => [hash_including("location" =>
    "anything")], :type => :log}
  • Instead received a ConsoleEvent object with different structure containing document properties
  • The test failed consistently across 3 attempts with the same error

  • Relevant error logs:
    1:  ##[group]Operating System
    2:  Microsoft Windows Server 2022
    ...
    
    607:  external/protobuf+/third_party/utf8_range/utf8_range.c(45): warning C4141: 'inline': used more than once
    608:  cl : Command line warning D9002 : ignoring unknown option '-std=c++14'
    609:  external/protobuf+/third_party/utf8_range/utf8_range.c(49): warning C4141: 'inline': used more than once
    610:  �[32mINFO: �[0mFrom Compiling absl/log/internal/nullguard.cc [for tool]:
    611:  external/protobuf+/third_party/utf8_range/utf8_range.c(178): warning C4141: 'inline': used more than once
    612:  cl : Command line warning D9002 : ignoring unknown option '-std=c++14'
    613:  �[32mINFO: �[0mFrom Compiling absl/time/internal/cctz/src/time_zone_posix.cc [for tool]:
    614:  cl : Command line warning D9002 : ignoring unknown option '-std=c++14'
    615:  �[32mINFO: �[0mFrom Compiling absl/base/internal/strerror.cc [for tool]:
    ...
    
    1393:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1297): warning C4141: 'inline': used more than once
    1394:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1191): warning C4141: 'inline': used more than once
    1395:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1297): warning C4141: 'inline': used more than once
    1396:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1191): warning C4141: 'inline': used more than once
    1397:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1297): warning C4141: 'inline': used more than once
    1398:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1191): warning C4141: 'inline': used more than once
    1399:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1297): warning C4141: 'inline': used more than once
    1400:  �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (71 source files):
    1401:  java\src\org\openqa\selenium\remote\ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1402:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1191): warning C4141: 'inline': used more than once
    1403:  private final ErrorCodes errorCodes;
    ...
    
    1412:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1191): warning C4141: 'inline': used more than once
    1413:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1297): warning C4141: 'inline': used more than once
    1414:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1191): warning C4141: 'inline': used more than once
    1415:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1297): warning C4141: 'inline': used more than once
    1416:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1191): warning C4141: 'inline': used more than once
    1417:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1297): warning C4141: 'inline': used more than once
    1418:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1191): warning C4141: 'inline': used more than once
    1419:  bazel-out/x64_windows-opt-exec-ST-d57f47055a04/bin/external/protobuf+/src/google/protobuf/_virtual_includes/protobuf_lite\google/protobuf/message_lite.h(1297): warning C4141: 'inline': used more than once
    1420:  java\src\org\openqa\selenium\remote\ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1421:  this.errorCodes = new ErrorCodes();
    1422:  ^
    1423:  java\src\org\openqa\selenium\remote\ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1424:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
    1425:  ^
    1426:  java\src\org\openqa\selenium\remote\Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1427:  ErrorCodes errorCodes = new ErrorCodes();
    1428:  ^
    1429:  java\src\org\openqa\selenium\remote\Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1430:  ErrorCodes errorCodes = new ErrorCodes();
    1431:  ^
    1432:  java\src\org\openqa\selenium\remote\ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1433:  response.setStatus(ErrorCodes.SUCCESS);
    1434:  ^
    1435:  java\src\org\openqa\selenium\remote\ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1436:  response.setState(ErrorCodes.SUCCESS_STRING);
    1437:  ^
    1438:  java\src\org\openqa\selenium\remote\W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1439:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
    1440:  ^
    1441:  java\src\org\openqa\selenium\remote\W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1442:  new ErrorCodes().getExceptionType((String) rawError);
    1443:  ^
    1444:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1445:  private final ErrorCodes errorCodes = new ErrorCodes();
    1446:  ^
    1447:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1448:  private final ErrorCodes errorCodes = new ErrorCodes();
    1449:  ^
    1450:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1451:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
    1452:  ^
    1453:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:101: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1454:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1455:  ^
    1456:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:103: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1457:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1458:  ^
    1459:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:117: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1460:  response.setStatus(ErrorCodes.SUCCESS);
    1461:  ^
    1462:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:118: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1463:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1464:  ^
    1465:  java\src\org\openqa\selenium\remote\codec\AbstractHttpResponseCodec.java:124: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1466:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    1467:  ^
    1468:  java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1469:  private final ErrorCodes errorCodes = new ErrorCodes();
    1470:  ^
    1471:  java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1472:  private final ErrorCodes errorCodes = new ErrorCodes();
    1473:  ^
    1474:  java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:93: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1475:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    1476:  ^
    1477:  java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:98: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1478:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    1479:  ^
    1480:  java\src\org\openqa\selenium\remote\codec\w3c\W3CHttpResponseCodec.java:145: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    1481:  response.setStatus(ErrorCodes.SUCCESS);
    ...
    
    1784:  �[32m[2,361 / 2,380]�[0m 6 / 31 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:fedcm-edge-remote; 30s ... (4 actions, 2 running)
    1785:  �[32m[2,362 / 2,380]�[0m 7 / 31 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:fedcm-edge-remote; 31s ... (4 actions, 1 running)
    1786:  �[32m[2,362 / 2,380]�[0m 7 / 31 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:fedcm-edge-remote; 42s ... (4 actions, 1 running)
    1787:  �[32m[2,362 / 2,380]�[0m 7 / 31 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:fedcm-edge-remote; 44s ... (4 actions, 1 running)
    1788:  �[32m[2,362 / 2,380]�[0m 7 / 31 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/edge:options-edge-remote; 23s ... (4 actions, 2 running)
    1789:  �[32m[2,363 / 2,380]�[0m 8 / 31 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/edge:options-edge-remote; 25s ... (4 actions, 1 running)
    1790:  �[32m[2,363 / 2,380]�[0m 8 / 31 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/edge:options-edge-remote; 35s ... (4 actions, 1 running)
    1791:  �[32m[2,363 / 2,380]�[0m 8 / 31 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/edge:options-edge-remote; 38s ... (4 actions, 1 running)
    1792:  �[32m[2,363 / 2,380]�[0m 8 / 31 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-edge-remote; 26s ... (4 actions, 2 running)
    1793:  �[32m[2,364 / 2,380]�[0m 9 / 31 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-edge-remote; 28s ... (4 actions, 1 running)
    1794:  �[32m[2,364 / 2,380]�[0m 9 / 31 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-edge-remote; 38s ... (4 actions, 1 running)
    1795:  �[32m[2,364 / 2,380]�[0m 9 / 31 tests;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver:error-edge-remote; 41s ... (4 actions, 1 running)
    ...
    
    1869:  �[32m[2,383 / 2,384]�[0m 28 / 31 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-edge-remote; 82s local, disk-cache
    1870:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:devtools-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/devtools-edge-remote/test_attempts/attempt_1.log)
    1871:  �[32m[2,383 / 2,384]�[0m 28 / 31 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-edge-remote; 83s local, disk-cache
    1872:  �[32m[2,383 / 2,384]�[0m 28 / 31 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-edge-remote; 165s local, disk-cache
    1873:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:devtools-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/devtools-edge-remote/test_attempts/attempt_2.log)
    1874:  �[32m[2,383 / 2,384]�[0m 28 / 31 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-edge-remote; 167s local, disk-cache
    1875:  �[32m[2,383 / 2,384]�[0m 28 / 31 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:devtools-edge-remote; 247s local, disk-cache
    1876:  �[31m�[1mFAIL: �[0m//rb/spec/integration/selenium/webdriver:devtools-edge-remote (see D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/devtools-edge-remote/test.log)
    1877:  �[31m�[1mFAILED: �[0m//rb/spec/integration/selenium/webdriver:devtools-edge-remote (Summary)
    ...
    
    1889:  ci: github
    1890:  rbe: false
    1891:  ruby: ruby 3.1.6p260 (2024-05-29 revision a777087be6) [x64-mingw-ucrt]
    1892:  Selenium::WebDriver::DevTools
    1893:  sends commands
    1894:  maps methods to classes
    1895:  supports events
    1896:  #<Thread:0x000001ed9e68ba68 D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/devtools-edge-remote.cmd.runfiles/_main/rb/lib/selenium/webdriver/common/websocket_connection.rb:133 run> terminated with exception (report_on_exception is true):
    1897:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/devtools-edge-remote.cmd.runfiles/_main/rb/spec/integration/selenium/webdriver/devtools_spec.rb:51:in `block (4 levels) in <module:WebDriver>': This is fine! (RuntimeError)
    1898:  from D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/devtools-edge-remote.cmd.runfiles/_main/rb/lib/selenium/webdriver/common/websocket_connection.rb:143:in `block in callback_thread'
    1899:  propagates errors in events
    1900:  notifies about log messages
    1901:  notifies about document log messages (FAILED - 1)
    ...
    
    1913:  allows to pin script
    1914:  ensures pinned script is available on new pages
    1915:  allows to unpin script
    1916:  ensures unpinned scripts are not available on new pages
    1917:  handles arguments in pinned script
    1918:  supports async pinned scripts
    1919:  Failures:
    1920:  1) Selenium::WebDriver::DevTools notifies about document log messages
    1921:  Failure/Error:
    ...
    
    1924:  )
    1925:  expected [#<Selenium::WebDriver::DevTools::ConsoleEvent:0x000001ed9f9433e0 @type=:log, @timestamp=2025-02-04 0...t:58694/javascriptPage.html"}, {"name" => "compatMode", "type" => "string", "value" => "CSS1Compat"}]}}]>] to include (an object having attributes {:args => [hash_including("location" => "anything")], :type => :log})
    1926:  Diff:
    1927:  @@ -1 +1 @@
    1928:  -[(an object having attributes {:args => [hash_including("location" => "anything")], :type => :log})]
    1929:  +[#<Selenium::WebDriver::DevTools::ConsoleEvent:0x000001ed9f9433e0 @type=:log, @timestamp=2025-02-04 07:59:04 2407547/4194304 +0000, @args=[{"type"=>"object", "subtype"=>"node", "className"=>"HTMLDocument", "description"=>"#document", "objectId"=>"8746154644233692948.1.1", "preview"=>{"type"=>"object", "subtype"=>"node", "description"=>"#document", "overflow"=>true, "properties"=>[{"name"=>"location", "type"=>"object", "value"=>"Location"}, {"name"=>"implementation", "type"=>"object", "value"=>"DOMImplementation"}, {"name"=>"URL", "type"=>"string", "value"=>"http://localhost:58694/javascriptPage.html"}, {"name"=>"documentURI", "type"=>"string", "value"=>"http://localhost:58694/javascriptPage.html"}, {"name"=>"compatMode", "type"=>"string", "value"=>"CSS1Compat"}]}}]>]
    1930:  # ./rb/spec/integration/selenium/webdriver/devtools_spec.rb:115:in `block (2 levels) in <module:WebDriver>'
    1931:  Finished in 1 minute 14.82 seconds (files took 0.93791 seconds to load)
    1932:  20 examples, 1 failure
    1933:  Failed examples:
    ...
    
    1943:  ci: github
    1944:  rbe: false
    1945:  ruby: ruby 3.1.6p260 (2024-05-29 revision a777087be6) [x64-mingw-ucrt]
    1946:  Selenium::WebDriver::DevTools
    1947:  sends commands
    1948:  maps methods to classes
    1949:  supports events
    1950:  #<Thread:0x00000259c13086b8 D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/devtools-edge-remote.cmd.runfiles/_main/rb/lib/selenium/webdriver/common/websocket_connection.rb:133 run> terminated with exception (report_on_exception is true):
    1951:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/devtools-edge-remote.cmd.runfiles/_main/rb/spec/integration/selenium/webdriver/devtools_spec.rb:51:in `block (4 levels) in <module:WebDriver>': This is fine! (RuntimeError)
    1952:  from D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/devtools-edge-remote.cmd.runfiles/_main/rb/lib/selenium/webdriver/common/websocket_connection.rb:143:in `block in callback_thread'
    1953:  propagates errors in events
    1954:  notifies about log messages
    1955:  notifies about document log messages (FAILED - 1)
    ...
    
    1967:  allows to pin script
    1968:  ensures pinned script is available on new pages
    1969:  allows to unpin script
    1970:  ensures unpinned scripts are not available on new pages
    1971:  handles arguments in pinned script
    1972:  supports async pinned scripts
    1973:  Failures:
    1974:  1) Selenium::WebDriver::DevTools notifies about document log messages
    1975:  Failure/Error:
    ...
    
    1978:  )
    1979:  expected [#<Selenium::WebDriver::DevTools::ConsoleEvent:0x00000259c2564398 @type=:log, @timestamp=2025-02-04 0...t:59232/javascriptPage.html"}, {"name" => "compatMode", "type" => "string", "value" => "CSS1Compat"}]}}]>] to include (an object having attributes {:args => [hash_including("location" => "anything")], :type => :log})
    1980:  Diff:
    1981:  @@ -1 +1 @@
    1982:  -[(an object having attributes {:args => [hash_including("location" => "anything")], :type => :log})]
    1983:  +[#<Selenium::WebDriver::DevTools::ConsoleEvent:0x00000259c2564398 @type=:log, @timestamp=2025-02-04 08:00:28 58585/524288 +0000, @args=[{"type"=>"object", "subtype"=>"node", "className"=>"HTMLDocument", "description"=>"#document", "objectId"=>"-3661542950491017678.1.1", "preview"=>{"type"=>"object", "subtype"=>"node", "description"=>"#document", "overflow"=>true, "properties"=>[{"name"=>"location", "type"=>"object", "value"=>"Location"}, {"name"=>"implementation", "type"=>"object", "value"=>"DOMImplementation"}, {"name"=>"URL", "type"=>"string", "value"=>"http://localhost:59232/javascriptPage.html"}, {"name"=>"documentURI", "type"=>"string", "value"=>"http://localhost:59232/javascriptPage.html"}, {"name"=>"compatMode", "type"=>"string", "value"=>"CSS1Compat"}]}}]>]
    1984:  # ./rb/spec/integration/selenium/webdriver/devtools_spec.rb:115:in `block (2 levels) in <module:WebDriver>'
    1985:  Finished in 1 minute 15.22 seconds (files took 1.03 seconds to load)
    1986:  20 examples, 1 failure
    1987:  Failed examples:
    ...
    
    1997:  ci: github
    1998:  rbe: false
    1999:  ruby: ruby 3.1.6p260 (2024-05-29 revision a777087be6) [x64-mingw-ucrt]
    2000:  Selenium::WebDriver::DevTools
    2001:  sends commands
    2002:  maps methods to classes
    2003:  supports events
    2004:  #<Thread:0x000001b95d16cbd8 D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/devtools-edge-remote.cmd.runfiles/_main/rb/lib/selenium/webdriver/common/websocket_connection.rb:133 run> terminated with exception (report_on_exception is true):
    2005:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/devtools-edge-remote.cmd.runfiles/_main/rb/spec/integration/selenium/webdriver/devtools_spec.rb:51:in `block (4 levels) in <module:WebDriver>': This is fine! (RuntimeError)
    2006:  from D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/bin/rb/spec/integration/selenium/webdriver/devtools-edge-remote.cmd.runfiles/_main/rb/lib/selenium/webdriver/common/websocket_connection.rb:143:in `block in callback_thread'
    2007:  propagates errors in events
    2008:  notifies about log messages
    2009:  notifies about document log messages (FAILED - 1)
    ...
    
    2021:  allows to pin script
    2022:  ensures pinned script is available on new pages
    2023:  allows to unpin script
    2024:  ensures unpinned scripts are not available on new pages
    2025:  handles arguments in pinned script
    2026:  supports async pinned scripts
    2027:  Failures:
    2028:  1) Selenium::WebDriver::DevTools notifies about document log messages
    2029:  Failure/Error:
    ...
    
    2032:  )
    2033:  expected [#<Selenium::WebDriver::DevTools::ConsoleEvent:0x000001b95f358238 @type=:log, @timestamp=2025-02-04 0...t:59772/javascriptPage.html"}, {"name" => "compatMode", "type" => "string", "value" => "CSS1Compat"}]}}]>] to include (an object having attributes {:args => [hash_including("location" => "anything")], :type => :log})
    2034:  Diff:
    2035:  @@ -1 +1 @@
    2036:  -[(an object having attributes {:args => [hash_including("location" => "anything")], :type => :log})]
    2037:  +[#<Selenium::WebDriver::DevTools::ConsoleEvent:0x000001b95f358238 @type=:log, @timestamp=2025-02-04 08:01:51 258403/2097152 +0000, @args=[{"type"=>"object", "subtype"=>"node", "className"=>"HTMLDocument", "description"=>"#document", "objectId"=>"-2027013098552545540.1.1", "preview"=>{"type"=>"object", "subtype"=>"node", "description"=>"#document", "overflow"=>true, "properties"=>[{"name"=>"location", "type"=>"object", "value"=>"Location"}, {"name"=>"implementation", "type"=>"object", "value"=>"DOMImplementation"}, {"name"=>"URL", "type"=>"string", "value"=>"http://localhost:59772/javascriptPage.html"}, {"name"=>"documentURI", "type"=>"string", "value"=>"http://localhost:59772/javascriptPage.html"}, {"name"=>"compatMode", "type"=>"string", "value"=>"CSS1Compat"}]}}]>]
    2038:  # ./rb/spec/integration/selenium/webdriver/devtools_spec.rb:115:in `block (2 levels) in <module:WebDriver>'
    2039:  Finished in 1 minute 13.88 seconds (files took 0.92528 seconds to load)
    2040:  20 examples, 1 failure
    2041:  Failed examples:
    2042:  rspec ./rb/spec/integration/selenium/webdriver/devtools_spec.rb:104 # Selenium::WebDriver::DevTools notifies about document log messages
    2043:  ================================================================================
    2044:  �[32m[2,384 / 2,385]�[0m 29 / 31 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:log_inspector-edge-remote; 0s disk-cache
    2045:  �[32m[2,384 / 2,385]�[0m 29 / 31 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/bidi:log_inspector-edge-remote
    2046:  �[32m[2,384 / 2,385]�[0m 29 / 31 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:log_inspector-edge-remote; 1s local, disk-cache
    2047:  �[32m[2,384 / 2,385]�[0m 29 / 31 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:log_inspector-edge-remote; 15s local, disk-cache
    2048:  �[32m[2,385 / 2,386]�[0m 30 / 31 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-edge-remote; 0s disk-cache
    2049:  �[32m[2,385 / 2,386]�[0m 30 / 31 tests, �[31m�[1m1 failed�[0m;�[0m [Sched] Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-edge-remote
    2050:  �[32m[2,385 / 2,386]�[0m 30 / 31 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-edge-remote; 1s local, disk-cache
    2051:  �[32m[2,385 / 2,386]�[0m 30 / 31 tests, �[31m�[1m1 failed�[0m;�[0m Testing //rb/spec/integration/selenium/webdriver/bidi:browsing_context-edge-remote; 15s local, disk-cache
    2052:  �[32mINFO: �[0mFound 31 test targets...
    2053:  �[32mINFO: �[0mElapsed time: 1567.063s, Critical Path: 663.58s
    2054:  �[32mINFO: �[0m2125 processes: 1192 disk cache hit, 839 internal, 93 local, 1 worker.
    2055:  �[32mINFO: �[0mBuild completed, 1 test FAILED, 2125 total actions
    2056:  //rb/spec/integration/selenium/webdriver:action_builder-edge-remote      �[0m�[32mPASSED�[0m in 28.9s
    2057:  //rb/spec/integration/selenium/webdriver:bidi-edge-remote                �[0m�[32mPASSED�[0m in 15.0s
    2058:  //rb/spec/integration/selenium/webdriver:driver-edge-remote              �[0m�[32mPASSED�[0m in 33.8s
    2059:  //rb/spec/integration/selenium/webdriver:element-edge-remote             �[0m�[32mPASSED�[0m in 62.9s
    2060:  //rb/spec/integration/selenium/webdriver:error-edge-remote               �[0m�[32mPASSED�[0m in 15.2s
    ...
    
    2078:  //rb/spec/integration/selenium/webdriver/bidi:network-edge-remote        �[0m�[32mPASSED�[0m in 15.1s
    2079:  //rb/spec/integration/selenium/webdriver/bidi:script-edge-remote         �[0m�[32mPASSED�[0m in 15.0s
    2080:  //rb/spec/integration/selenium/webdriver/edge:driver-edge-remote         �[0m�[32mPASSED�[0m in 34.6s
    2081:  //rb/spec/integration/selenium/webdriver/edge:options-edge-remote        �[0m�[32mPASSED�[0m in 22.4s
    2082:  //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote        �[0m�[32mPASSED�[0m in 15.5s
    2083:  //rb/spec/integration/selenium/webdriver/edge:service-edge-remote        �[0m�[32mPASSED�[0m in 21.8s
    2084:  //rb/spec/integration/selenium/webdriver/remote:driver-edge-remote       �[0m�[32mPASSED�[0m in 29.6s
    2085:  //rb/spec/integration/selenium/webdriver/remote:element-edge-remote      �[0m�[32mPASSED�[0m in 17.0s
    2086:  //rb/spec/integration/selenium/webdriver:devtools-edge-remote            �[0m�[31m�[1mFAILED�[0m in 3 out of 3 in 82.7s
    2087:  Stats over 3 runs: max = 82.7s, min = 81.2s, avg = 82.0s, dev = 0.6s
    2088:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/devtools-edge-remote/test.log
    2089:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/devtools-edge-remote/test_attempts/attempt_1.log
    2090:  D:/_bazel/execroot/_main/bazel-out/x64_windows-fastbuild/testlogs/rb/spec/integration/selenium/webdriver/devtools-edge-remote/test_attempts/attempt_2.log
    2091:  Executed 31 out of 31 tests: 30 tests pass and �[0m�[31m�[1m1 fails locally�[0m.
    2092:  There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.
    2093:  �[0m
    2094:  ##[error]Process completed with exit code 1.
    2095:  Post job cleanup.
    2096:  ##[group]Save cache for external-protobuf+
    2097:  [command]"C:\Program Files\Git\usr\bin\tar.exe" --posix -cf cache.tzst --exclude cache.tzst -P -C D:/a/selenium/selenium --files-from manifest.txt --force-local --use-compress-program "zstd -T0"
    2098:  Failed to save: Unable to reserve cache with key setup-bazel-2-win32-external-protobuf+-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, another job may be creating this cache. More details: Cache already exists. Scope: refs/pull/15229/merge, Key: setup-bazel-2-win32-external-protobuf+-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, Version: 282da8e8aa10c0a9cbe2b45395fb6898f77c1c2eff3b0f1124f9e03f763b83e3
    2099:  Successfully saved cache
    2100:  ##[endgroup]
    2101:  ##[group]Save cache for external-rules_java++toolchains+remotejdk17_win
    2102:  [command]"C:\Program Files\Git\usr\bin\tar.exe" --posix -cf cache.tzst --exclude cache.tzst -P -C D:/a/selenium/selenium --files-from manifest.txt --force-local --use-compress-program "zstd -T0"
    2103:  Failed to save: Unable to reserve cache with key setup-bazel-2-win32-external-rules_java++toolchains+remotejdk17_win-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, another job may be creating this cache. More details: Cache already exists. Scope: refs/pull/15229/merge, Key: setup-bazel-2-win32-external-rules_java++toolchains+remotejdk17_win-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, Version: 90729dbf814602feff7eb57f1860ac19e3ab53912192fa89372dfa2c5d54a3a6
    2104:  Successfully saved cache
    2105:  ##[endgroup]
    2106:  ##[group]Save cache for external-rules_java++toolchains+remotejdk21_win
    2107:  [command]"C:\Program Files\Git\usr\bin\tar.exe" --posix -cf cache.tzst --exclude cache.tzst -P -C D:/a/selenium/selenium --files-from manifest.txt --force-local --use-compress-program "zstd -T0"
    2108:  Failed to save: Unable to reserve cache with key setup-bazel-2-win32-external-rules_java++toolchains+remotejdk21_win-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, another job may be creating this cache. More details: Cache already exists. Scope: refs/pull/15229/merge, Key: setup-bazel-2-win32-external-rules_java++toolchains+remotejdk21_win-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, Version: c401fbb5aabf43e97d1323392ff7d524dbd3096a4c58b97bfc1295b3c8dff450
    2109:  Successfully saved cache
    2110:  ##[endgroup]
    2111:  ##[group]Save cache for external-rules_java++toolchains+remote_java_tools
    2112:  [command]"C:\Program Files\Git\usr\bin\tar.exe" --posix -cf cache.tzst --exclude cache.tzst -P -C D:/a/selenium/selenium --files-from manifest.txt --force-local --use-compress-program "zstd -T0"
    2113:  Failed to save: Unable to reserve cache with key setup-bazel-2-win32-external-rules_java++toolchains+remote_java_tools-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, another job may be creating this cache. More details: Cache already exists. Scope: refs/pull/15229/merge, Key: setup-bazel-2-win32-external-rules_java++toolchains+remote_java_tools-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, Version: 77baf506136da078fd15b6dc5c3885c0acc9297d1ddcc42b6f13beee736c5a96
    2114:  Successfully saved cache
    2115:  ##[endgroup]
    2116:  ##[group]Save cache for external-rules_java++toolchains+remote_java_tools_windows
    2117:  [command]"C:\Program Files\Git\usr\bin\tar.exe" --posix -cf cache.tzst --exclude cache.tzst -P -C D:/a/selenium/selenium --files-from manifest.txt --force-local --use-compress-program "zstd -T0"
    2118:  Failed to save: Unable to reserve cache with key setup-bazel-2-win32-external-rules_java++toolchains+remote_java_tools_windows-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, another job may be creating this cache. More details: Cache already exists. Scope: refs/pull/15229/merge, Key: setup-bazel-2-win32-external-rules_java++toolchains+remote_java_tools_windows-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, Version: c509f27d274cfa63b319aaed150e7b19ca8150ae539c6d06156c4379b824cd92
    2119:  Successfully saved cache
    2120:  ##[endgroup]
    2121:  ##[group]Save cache for external-rules_kotlin+
    2122:  [command]"C:\Program Files\Git\usr\bin\tar.exe" --posix -cf cache.tzst --exclude cache.tzst -P -C D:/a/selenium/selenium --files-from manifest.txt --force-local --use-compress-program "zstd -T0"
    2123:  Failed to save: Unable to reserve cache with key setup-bazel-2-win32-external-rules_kotlin+-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, another job may be creating this cache. More details: Cache already exists. Scope: refs/pull/15229/merge, Key: setup-bazel-2-win32-external-rules_kotlin+-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, Version: 11256c495d9e6ceebdda40d6a947a7845aa01d346695168977e5317fffee8119
    2124:  Successfully saved cache
    2125:  ##[endgroup]
    2126:  ##[group]Save cache for external-rules_nodejs++node+nodejs_windows_amd64
    2127:  [command]"C:\Program Files\Git\usr\bin\tar.exe" --posix -cf cache.tzst --exclude cache.tzst -P -C D:/a/selenium/selenium --files-from manifest.txt --force-local --use-compress-program "zstd -T0"
    2128:  Failed to save: Unable to reserve cache with key setup-bazel-2-win32-external-rules_nodejs++node+nodejs_windows_amd64-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, another job may be creating this cache. More details: Cache already exists. Scope: refs/pull/15229/merge, Key: setup-bazel-2-win32-external-rules_nodejs++node+nodejs_windows_amd64-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, Version: c1f20b2677a846f30ffe4551c12e7762ba7e66f19a5c9db891debf26abd45377
    2129:  Successfully saved cache
    2130:  ##[endgroup]
    2131:  ##[group]Save cache for external-rules_python++python+python_3_9_x86_64-pc-windows-msvc
    2132:  [command]"C:\Program Files\Git\usr\bin\tar.exe" --posix -cf cache.tzst --exclude cache.tzst -P -C D:/a/selenium/selenium --files-from manifest.txt --force-local --use-compress-program "zstd -T0"
    2133:  Failed to save: Unable to reserve cache with key setup-bazel-2-win32-external-rules_python++python+python_3_9_x86_64-pc-windows-msvc-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, another job may be creating this cache. More details: Cache already exists. Scope: refs/pull/15229/merge, Key: setup-bazel-2-win32-external-rules_python++python+python_3_9_x86_64-pc-windows-msvc-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, Version: 10891c96588778e9186cdaa43e1956a0ae22af378e5d9e324e0e2bbee90b6153
    2134:  Successfully saved cache
    2135:  ##[endgroup]
    2136:  ##[group]Save cache for external-rules_ruby++ruby+bundle
    2137:  [command]"C:\Program Files\Git\usr\bin\tar.exe" --posix -cf cache.tzst --exclude cache.tzst -P -C D:/a/selenium/selenium --files-from manifest.txt --force-local --use-compress-program "zstd -T0"
    2138:  Failed to save: Unable to reserve cache with key setup-bazel-2-win32-external-rules_ruby++ruby+bundle-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, another job may be creating this cache. More details: Cache already exists. Scope: refs/pull/15229/merge, Key: setup-bazel-2-win32-external-rules_ruby++ruby+bundle-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, Version: 82a42f036633afbeb7d36397a1b8052a192cb4852e731d7b8244298b7ff00407
    2139:  Successfully saved cache
    2140:  ##[endgroup]
    2141:  ##[group]Save cache for external-rules_ruby++ruby+ruby
    2142:  [command]"C:\Program Files\Git\usr\bin\tar.exe" --posix -cf cache.tzst --exclude cache.tzst -P -C D:/a/selenium/selenium --files-from manifest.txt --force-local --use-compress-program "zstd -T0"
    2143:  Failed to save: Unable to reserve cache with key setup-bazel-2-win32-external-rules_ruby++ruby+ruby-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, another job may be creating this cache. More details: Cache already exists. Scope: refs/pull/15229/merge, Key: setup-bazel-2-win32-external-rules_ruby++ruby+ruby-6842481fecc91f84cbabf67154567f0f83eba503f8b317dc664034052e8c8fdf, Version: 0f42545bc634bea5bca449ea2d9d2c3a92989686c47662a13e216d5059fe07e8
    

    @VietND96 VietND96 added the C-grid label Feb 4, 2025
    @VietND96 VietND96 requested a review from pujagani February 4, 2025 08:12
    Copy link
    Member

    @diemol diemol left a comment

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    I am fine with merging this but in general users need to have all components on the same version.

    @VietND96
    Copy link
    Member Author

    VietND96 commented Feb 4, 2025

    @diemol. Yes, ideally should have both in the same version. However, some users still need the old browser version.
    By the way, we have the fix in both core and docker-selenium also deploy multiple browser versions on top of latest Grid. I believe this is a strong motivation to keep users upgrading the latest versions frequently.

    @VietND96 VietND96 merged commit 1b7742e into trunk Feb 4, 2025
    26 of 33 checks passed
    @VietND96 VietND96 deleted the default-sessionTimeout-nodeStatus branch February 4, 2025 09:19
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    2 participants