av9ash/GitBugs huggingface dataset:
Bug: Fix flaky NetstatsBootstrapWithEntireSSTablesCompressionStreamingTest.testWithStreamingEntireSSTablesWithoutCompression 
Status: Resolved
Priority: Normal
Resolution: Cannot Reproduce
Created: 03/Feb/22 16:45
Resolved: 11/Apr/22 14:35

Failed 4 times in the last 30 runs. Flakiness: 17%, Stability: 86%

Error Message

Timeout occurred. Please note the time in the report does not reflect the time until the timeout.

Stacktrace

junit.framework.AssertionFailedError: Timeout occurred. Please note the time in the report does not reflect the time until the timeout.
Bug: Humongous Allocations after upgrading to 4.0
Status: Resolved
Priority: Normal
Resolution: Not A Problem
Created: 28/Feb/22 17:36
Resolved: 11/May/22 15:27

I have seen reports of increased Humongous Allocations after upgrading to 4.0 when using G1.  This is extremely detrimental to how G1 operates and seriously affects GC pauses.
Bug: -dc option for repair, prevents incremental repairs
Status: Open
Priority: Normal
Created: 23/Mar/22 15:39

By default running `{*}nodetool repair{*}` should trigger incremental repairs, but this does not happen if you use the `{*}-dc{*}` flag, even though the repair summary says `{*}incremental: true{*}`.

You can replicate the issue with the following commands:
{code:bash}
ccm create test-incremental-repairs -v 4.0.1 -n 3 -s
ccm node1 cqlsh -e "CREATE KEYSPACE keyspace1 WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1': 2 };"
ccm stress write
ccm node1 nodetool "repair keyspace1 standard1 -dc datacenter1"
find ~/.ccm/test-incremental-repairs/*/data0/keyspace1/standard1* -name *Data.db -exec <PATH_TO_TOOLS>/bin/sstablemetadata {} \; | grep Repaired
ccm node1 nodetool "repair keyspace1 standard1"
find ~/.ccm/test-incremental-repairs/*/data0/keyspace1/standard1* -name *Data.db -exec <PATH_TO_TOOLS>/bin/sstablemetadata {} \; | grep Repaired
{code}
You'll notice that the output for the first `{*}find{*}` command will all be `{*}Repaired at: 0{*}`, but the second `{*}find{*}` command will give you results like `{*}Repaired at: 1648044754464 (03/23/2022 14:12:34){*}`. 
At the same time, both `{*}nodetool repair{*}` commands will output like the following:
{code:bash}
[2022-03-23 15:15:52,500] Starting repair command #2 (20f12190-aabc-11ec-a3d4-e9e5a941ef6c), repairing keyspace keyspace1 with repair options (parallelism: parallel, primary range: false, incremental: true, job threads: 1, ColumnFamilies: [standard1], dataCenters: [datacenter1], hosts: [], previewKind: NONE, # of ranges: 2, pull repair: false, force repair: false, optimise streams: false, ignore unreplicated keyspaces: false)
{code}
Indicating `{*}incremental: true{*}` for both of them.
Bug: Test Failure: org.apache.cassandra.distributed.upgrade.MixedModeAvailabilityV3XTest.testAvailability
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 26/Jan/22 19:24
Resolved: 05/Jul/22 11:35

https://ci-cassandra.apache.org/job/Cassandra-4.0/312/testReport/org.apache.cassandra.distributed.upgrade/MixedModeAvailabilityV3XTest/testAvailability/

Failed 1 times in the last 5 runs. Flakiness: 25%, Stability: 80%

Error Message
Unexpected error while reading in case write-read consistency ONE-ALL with upgraded coordinator and 2 nodes down

{code}
Stacktrace
junit.framework.AssertionFailedError: Unexpected error while reading in case write-read consistency ONE-ALL with upgraded coordinator and 2 nodes down
	at org.apache.cassandra.distributed.upgrade.MixedModeAvailabilityTestBase$Tester.test(MixedModeAvailabilityTestBase.java:142)
	at org.apache.cassandra.distributed.upgrade.MixedModeAvailabilityTestBase.lambda$testAvailability$2(MixedModeAvailabilityTestBase.java:91)
	at org.apache.cassandra.distributed.upgrade.UpgradeTestBase$TestCase.run(UpgradeTestBase.java:231)
	at org.apache.cassandra.distributed.upgrade.MixedModeAvailabilityTestBase.testAvailability(MixedModeAvailabilityTestBase.java:93)
	at org.apache.cassandra.distributed.upgrade.MixedModeAvailabilityTestBase.testAvailability(MixedModeAvailabilityTestBase.java:61)
	at org.apache.cassandra.distributed.upgrade.MixedModeAvailabilityTestBase.testAvailability(MixedModeAvailabilityTestBase.java:56)
	at org.apache.cassandra.distributed.upgrade.MixedModeAvailabilityV3XTest.testAvailability(MixedModeAvailabilityV3XTest.java:33)
	at org.apache.cassandra.distributed.upgrade.MixedModeAvailabilityTestBase$Tester.maybeFail(MixedModeAvailabilityTestBase.java:166)
	at org.apache.cassandra.distributed.upgrade.MixedModeAvailabilityTestBase$Tester.test(MixedModeAvailabilityTestBase.java:134)
{code}
Bug: Allow node to reject internode messages that create work for the MUTATION stage
Status: Open
Priority: Normal
Created: 28/Jan/22 22:12

When a node is struggling under the weight of a compaction backlog and becomes a cause of increased read latency for clients, we have two safety valves:

1.) Disabling the native protocol server, which stops the node from coordinating reads and writes.
2.) Jacking up the severity on the node, which tells the dynamic snitch to avoid the node for reads from other coordinators.

These are useful, but we don’t appear to have any mechanism that would allow us to temporarily reject internode hint, batch, and mutation messages that could further delay resolution of the compaction backlog. There is a parameter in {{cassandra.yaml}} called {{hinted_handoff_throttle}} (formerly {{hinted_handoff_throttle_in_kb}}) that allows us to control the rate at which we read hints before they are delivered, but how fast that should happen and whether it should happen at all are two different questions.

The proposal here is to add this rejection mechanism and publish it via JMX, along with any metrics and logging that would be necessary to make its effects visible. (Ex. Hint delivery already has metrics around success, failure, and timeouts, which would be helpful around this.) The error-handling pathways for hints, writes, and batches should already be capable of handling one more type of error (i.e. “that replica is overloaded”), but some non-spammy logging around that probably wouldn’t hurt.

In implementation space, one idea that would minimize the amount of surgery we need to do is making the decision around whether to send back a failure message directly in {{InboundSink}}. This would avoid having to duplicate the logic in multiple downstream handlers.
Bug: Test Failure: dtest-upgrade.upgrade_tests.bootstrap_upgrade_test.TestBootstrapUpgrade.test_failed_bootstrap_wiped_node_can_join
Status: Open
Priority: Normal
Created: 26/Jan/22 19:18

https://ci-cassandra.apache.org/job/Cassandra-4.0/308/testReport/dtest-upgrade.upgrade_tests.bootstrap_upgrade_test/TestBootstrapUpgrade/test_failed_bootstrap_wiped_node_can_join/

Failed 1 times in the last 24 runs. Flakiness: 4%, Stability: 95%

Error Message
assert not True  +  where True = <bound method Node.is_running of <ccmlib.node.Node object at 0x7f47fc3591f0>>()  +    where <bound method Node.is_running of <ccmlib.node.Node object at 0x7f47fc3591f0>> = <ccmlib.node.Node object at 0x7f47fc3591f0>.is_running

{code}
Stacktrace
self = <upgrade_tests.bootstrap_upgrade_test.TestBootstrapUpgrade object at 0x7f47fc370ee0>

    def test_failed_bootstrap_wiped_node_can_join(self):
        """
            @jira_ticket CASSANDRA-9765
            Test that if a node fails to bootstrap, it can join the cluster even if the data is wiped.
            """
        cluster = self.cluster
        cluster.set_environment_variable('CASSANDRA_TOKEN_PREGENERATION_DISABLED', 'True')
        cluster.populate(1)
        cluster.set_configuration_options(values={'stream_throughput_outbound_megabits_per_sec': 1})
        cluster.start()
    
        stress_table = 'keyspace1.standard1'
    
        # write some data, enough for the bootstrap to fail later on
        node1 = cluster.nodelist()[0]
        node1.stress(['write', 'n=100K', 'no-warmup', '-rate', 'threads=8'])
        node1.flush()
    
        session = self.patient_cql_connection(node1)
        original_rows = list(session.execute("SELECT * FROM {}".format(stress_table,)))
    
        # Add a new node, bootstrap=True ensures that it is not a seed
        node2 = new_node(cluster, bootstrap=True)
    
        # kill node2 in the middle of bootstrap
        t = KillOnBootstrap(node2)
        t.start()
    
        node2.start()
        t.join()
>       assert not node2.is_running()
E       assert not True
E        +  where True = <bound method Node.is_running of <ccmlib.node.Node object at 0x7f47fc3591f0>>()
E        +    where <bound method Node.is_running of <ccmlib.node.Node object at 0x7f47fc3591f0>> = <ccmlib.node.Node object at 0x7f47fc3591f0>.is_running

bootstrap_test.py:742: AssertionError
{code}
Bug: Intermittent failure on org.apache.cassandra.distributed.test.UnableToParseClientMessageTest.badHeader
Status: Open
Priority: Normal
Created: 25/Mar/22 14:48

Intermittent failure on {{{}org.apache.cassandra.distributed.test.UnableToParseClientMessageTest.badHeader{}}}:

[https://ci-cassandra.apache.org/job/Cassandra-4.0/363/testReport/org.apache.cassandra.distributed.test/UnableToParseClientMessageTest/badHeader_version_4_v4__2/]
{code:java}
Error Message
Expecting actual not to be empty
Stacktrace
junit.framework.AssertionFailedError: 
Expecting actual not to be empty
	at org.apache.cassandra.distributed.test.UnableToParseClientMessageTest.test(UnableToParseClientMessageTest.java:159)
	at org.apache.cassandra.distributed.test.UnableToParseClientMessageTest.badHeader(UnableToParseClientMessageTest.java:100)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Standard Output
INFO  [main] <main> 2022-03-22 12:45:37,371 YamlConfigurationLoader.java:97 - Configuration location: file:/home/cassandra/cassandra/test/conf/cassandra.yaml
DEBUG [main] <main> 2022-03-22 12:45:37,375 YamlConfigurationLoader.java:116 - Loading settings from file:/home/cassandra/cassandra/test/conf/cassandra.yaml
INFO  [main] <main> 2022-03-22 12:45:37,661 Config.java:706 - Node configuration:[allocate_tokens_for_keyspace=null; allocate_tokens_for_local_replication_factor=null; allow_extra_insec
...[truncated 127387 chars]...
55,015 StorageService.java:2784 - Node /127.0.0.1:7012 state jump to shutdown
DEBUG [node1_isolatedExecutor:3] node1 2022-03-22 12:45:55,016 StorageService.java:2781 - Node /127.0.0.1:7012 state shutdown, token [9223372036854775807]
INFO  [node1_isolatedExecutor:3] node1 2022-03-22 12:45:55,017 StorageService.java:2784 - Node /127.0.0.1:7012 state jump to shutdown
INFO  [node1_isolatedExecutor:14] node1 2022-03-22 12:45:57,023 MessagingService.java:441 - Waiting for messaging service to quiesce
{code}
This failure can also be reproduced on CircleCI test multiplexer for trunk:

[https://app.circleci.com/pipelines/github/adelapena/cassandra/1442/workflows/b46d2561-1a76-4c75-9f19-9075f42750fb/jobs/14724]

There is only one recent failure on Jenkins, and the multiplexer only hits it once in 500 runs, so flakiness seems very low.
Bug: Test Failure: org.apache.cassandra.cql3.validation.miscellaneous.CrcCheckChanceTest.testChangingCrcCheckChanceOldFormat
Status: Resolved
Priority: Normal
Resolution: Cannot Reproduce
Created: 08/Mar/22 17:01
Resolved: 25/May/22 11:17

https://ci-cassandra.apache.org/job/Cassandra-trunk/992/testReport/org.apache.cassandra.cql3.validation.miscellaneous/CrcCheckChanceTest/testChangingCrcCheckChanceOldFormat_2/

bq. Error setting schema for test (query was: CREATE KEYSPACE IF NOT EXISTS cql_test_keyspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'})

1 failure
Bug: Test failures: org.apache.cassandra.distributed.test.ring.BootstrapTest.bootstrapTest
Status: Open
Priority: Normal
Created: 25/Feb/22 18:16

I see one failure in Jenkins but it seems more flaky this week as I have it failing in CircleCI with almost all my rung with Midres so seems like worth to check what happened.

[https://ci-cassandra.apache.org/job/Cassandra-trunk/959/testReport/org.apache.cassandra.distributed.test.ring/BootstrapTest/bootstrapTest/]

https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/1404/workflows/5bb5412a-87a9-4b5f-94bd-ab0cd618e0b9/jobs/9205
Bug: Workaround the need to use ant script task in build.xml
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 04/Jan/22 01:43
Resolved: 24/Jan/22 15:16

In order to use ant script task with Java 17 we would need to introduce Graal JS and other dependencies as Nashorn was removed.

My plan is to try to workaround the usage of ant script task by creating my own custom ant tasks and not introducing new dependencies to the project.
Bug: Fix flaky test - dtest.repair_tests.repair_test.TestRepair.test_dc_parallel_repair
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 31/Jan/22 15:40
Resolved: 10/Feb/23 17:18

Failed 4 times in the last 26 runs. Flakiness: 28%, Stability: 84%
Error Message

cassandra.DriverException: ID mismatch while trying to reprepare (expected b'ba2c66a4f13080265ea718e037637d4a', got b'52faf62235132756a26828817a81168d'). This prepared statement won't work anymore. This usually happens when you run a 'USE...' query after the statement was prepared.
Bug: Fix flaky test - dtest-novnode.repair_tests.repair_test.TestRepair.test_simple_sequential_repair
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 04/Feb/22 17:49
Resolved: 08/Feb/23 18:11

Failed 2 times in the last 9 runs. Flakiness: 37%, Stability: 77%
Error Message

cassandra.DriverException: ID mismatch while trying to reprepare (expected b'ba2c66a4f13080265ea718e037637d4a', got b'52faf62235132756a26828817a81168d'). This prepared statement won't work anymore. This usually happens when you run a 'USE...' query after the statement was prepared.

Stacktrace

self = <repair_tests.repair_test.TestRepair object at 0x7ff6850f5a60>

    def test_simple_sequential_repair(self):
        """
            Calls simple repair test with a sequential repair
            """
>       self._simple_repair(sequential=True)

repair_tests/repair_test.py:363:
Bug: Pre hashed passwords in CQL
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 02/Feb/22 09:49
Resolved: 23/Mar/22 06:30

As seen on CASSANDRA-16801 and friends we are working across the system with plain text passwords. These can be unintentionally revealed by intermediate systems. Allowing the use of hashed passwords should mitigate that. The idea is to add a new option {{HASHED PASSWORD}} for {{CREATE/ALTER ROLE/USER}}. Examples:

{noformat}
CREATE ROLE foo WITH login = true AND hashed password = '$2a$10$JSJEMFm6GeaW9XxT5JIheuEtPvat6i7uKbnTcxX3c1wshIIsGyUtG';
ALTER ROLE foo WITH hashed password = '$2a$10$JSJEMFm6GeaW9XxT5JIheuEtPvat6i7uKbnTcxX3c1wshIIsGyUtG';
{noformat}

To generate the password hash, there will be a new tool {{hash_password}} in resources/cassandra/bin

Based on original works from [~snazy]
Bug: Fix flaky test - dtest.secondary_indexes_test.TestSecondaryIndexes.test_6924_dropping_ks
Status: Resolved
Priority: Normal
Resolution: Cannot Reproduce
Created: 02/Feb/22 13:20
Resolved: 08/Jun/22 10:39

Failed 1 times in the last 30 runs. Flakiness: 6%, Stability: 96%
Error Message

cassandra.OperationTimedOut: errors={'127.0.0.2:9042': 'Client request timeout. See Session.execute[_async](timeout)'}, last_host=127.0.0.2:9042
Bug: DOC - Update 3.11 Backups page to use nodetool refresh instead of import
Status: Open
Priority: Normal
Created: 16/Mar/22 13:50

I've found a typo shown in official Cassandra website when I was looking for Cassandra backup & restore solution. I believe there's no nodetool import option available. It might be nodetool refresh?

[https://cassandra.apache.org/doc/3.11/cassandra/operating/backups.html]
h2. [Restoring from Incremental Backups and Snapshots|https://cassandra.apache.org/doc/3.11/cassandra/operating/backups.html#restoring-from-incremental-backups-and-snapshots]
The two main tools/commands for restoring a table after it has been dropped are:
 * sstableloader
 * nodetool import

Ref: [https://cassandra.apache.org/doc/3.11/cassandra/tools/nodetool/refresh.html]
Bug: DOCS - Improve audit logging documentation for production
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 06/Jan/22 19:11
Resolved: 23/Jan/23 09:35

After using audit logging in production, it turns out that documentation is lacking some important information.

Namely:
 * {{roll_cycle}} can be overriden by Chronicle Queue
 * {{max_log_size}} is ignored if {{archive_command}} option is set
 * {{archive_command}} prevents Chronicle Queue Shrink Manager from working
Bug: Fix failing tests - TestUpgrade_[version]_To_indev_3_11_x
Status: Open
Priority: Normal
Created: 02/Feb/22 13:47

Failed 30 times in the last 30 runs. Flakiness: 0%, Stability: 0%

2.1, 2.2, and 3.0 upgrades of this flavor to 3.11 are all broken or flaky with subprocess exit errors.
Bug: Report compacted bytes metric periodically
Status: Triage Needed
Priority: Normal
Created: 15/Mar/22 13:55

Currently the compacted bytes metrics are incremented only at the end of the compaction, which can take a long time to update for long running compactions.

We should periodically (ie. every 1 minute, configurable) update the compacted bytes metric to improve compaction throughput observability.

This is issue is analogous of CASSANDRA-16325 but for compaction instead of streaming.
Bug: Test Failure: python dtest test_parallel_upgrade
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 25/Jan/22 16:42
Resolved: 25/Jan/22 16:49

https://app.circleci.com/pipelines/github/josh-mckenzie/cassandra/168/workflows/1d30a113-c14b-4cf4-a631-bedb9eb65762/jobs/1446

hires config and test timed out. Haven't tried repro locally but rest of test run was quite clean.
 
upgrade_tests.upgrade_through_versions_test.TestProtoV3Upgrade_AllVersions_RandomPartitioner_EndsAt_3_11_X_HEAD
upgrade_tests/upgrade_through_versions_test.py

{code}
self = <upgrade_tests.upgrade_through_versions_test.TestProtoV3Upgrade_AllVersions_RandomPartitioner_EndsAt_3_11_X_HEAD object at 0x7fb66707f5c0>

    def test_parallel_upgrade(self):
        """
            Test upgrading cluster all at once (requires cluster downtime).
            """
>       self.upgrade_scenario()

upgrade_tests/upgrade_through_versions_test.py:313: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
upgrade_tests/upgrade_through_versions_test.py:420: in upgrade_scenario
    self.upgrade_to_version(version_meta, internode_ssl=internode_ssl)
upgrade_tests/upgrade_through_versions_test.py:486: in upgrade_to_version
    node.set_install_dir(version=version_meta.version)
../env3.6/lib/python3.6/site-packages/ccmlib/node.py:325: in set_install_dir
    self.__install_dir = self.node_setup(version, verbose=verbose)
../env3.6/lib/python3.6/site-packages/ccmlib/node.py:313: in node_setup
    dir, v = setup(version, verbose=verbose)
../env3.6/lib/python3.6/site-packages/ccmlib/repository.py:99: in setup
    download_version(version, verbose=verbose, binary=binary)
../env3.6/lib/python3.6/site-packages/ccmlib/repository.py:349: in download_version
    __download(archive_url, target, show_progress=verbose)
../env3.6/lib/python3.6/site-packages/ccmlib/repository.py:546: in __download
    buffer = u.read(block_sz)
/usr/lib/python3.6/http/client.py:467: in read
    n = self.readinto(b)
/usr/lib/python3.6/http/client.py:511: in readinto
    n = self.fp.readinto(b)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <socket.SocketIO object at 0x7fb666fa2dd8>
b = <memory at 0x7fb667167c48>

    def readinto(self, b):
        """Read up to len(b) bytes into the writable buffer *b* and return
            the number of bytes read.  If the socket is non-blocking and no bytes
            are available, None is returned.
    
            If *b* is non-empty, a 0 return value indicates that the connection
            was shutdown at the other end.
            """
        self._checkClosed()
        self._checkReadable()
        if self._timeout_occurred:
            raise OSError("cannot read from timed out object")
        while True:
            try:
>               return self._sock.recv_into(b)
E               Failed: Timeout >900.0s

/usr/lib/python3.6/socket.py:586: Failed
{code}
Bug: Test Failure: dtest-upgrade.upgrade_tests.upgrade_through_versions_test.TestProtoV4Upgrade_AllVersions_RandomPartitioner_EndsAt_Trunk_HEAD.test_parallel_upgrade_with_internode_ssl
Status: Resolved
Priority: Normal
Resolution: Duplicate
Created: 26/Jan/22 17:46
Resolved: 12/May/22 08:16

https://ci-cassandra.apache.org/job/Cassandra-4.0/317/testReport/dtest-upgrade.upgrade_tests.upgrade_through_versions_test/TestProtoV4Upgrade_AllVersions_RandomPartitioner_EndsAt_Trunk_HEAD/test_parallel_upgrade_with_internode_ssl/

Failed 3 times in the last 30 runs. Flakiness: 17%, Stability: 90%
Error Message
Failed: Timeout >900.0s

{code}
Stacktrace
self = <upgrade_tests.upgrade_through_versions_test.TestProtoV4Upgrade_AllVersions_RandomPartitioner_EndsAt_Trunk_HEAD object at 0x7fb2116ae970>

    def test_parallel_upgrade_with_internode_ssl(self):
        """
            Test upgrading cluster all at once (requires cluster downtime), with internode ssl.
            """
>       self.upgrade_scenario(internode_ssl=True)

upgrade_tests/upgrade_through_versions_test.py:326: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
upgrade_tests/upgrade_through_versions_test.py:420: in upgrade_scenario
    self.upgrade_to_version(version_meta, internode_ssl=internode_ssl)
upgrade_tests/upgrade_through_versions_test.py:481: in upgrade_to_version
    node.drain()
../venv/lib/python3.8/site-packages/ccmlib/node.py:1540: in drain
    self.nodetool("drain")
../venv/lib/python3.8/site-packages/ccmlib/node.py:1005: in nodetool
    return handle_external_tool_process(p, ['nodetool', '-h', 'localhost', '-p', str(self.jmx_port)] + shlex.split(cmd))
../venv/lib/python3.8/site-packages/ccmlib/node.py:2297: in handle_external_tool_process
    out, err = process.communicate()
/usr/lib/python3.8/subprocess.py:1028: in communicate
    stdout, stderr = self._communicate(input, endtime, timeout)
/usr/lib/python3.8/subprocess.py:1868: in _communicate
    ready = selector.select(timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selectors.PollSelector object at 0x7fb2117d8850>, timeout = None

    def select(self, timeout=None):
        # This is shared between poll() and epoll().
        # epoll() has a different signature and handling of timeout parameter.
        if timeout is None:
            timeout = None
        elif timeout <= 0:
            timeout = 0
        else:
            # poll() has a resolution of 1 millisecond, round away from
            # zero to wait *at least* timeout seconds.
            timeout = math.ceil(timeout * 1e3)
        ready = []
        try:
>           fd_event_list = self._selector.poll(timeout)
E           Failed: Timeout >900.0s

/usr/lib/python3.8/selectors.py:415: Failed
{code}