[
https://issues.apache.org/jira/browse/CASSANDRA-18880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17769625#comment-17769625
]
Ekaterina Dimitrova commented on CASSANDRA-18880:
-------------------------------------------------
{quote}That makes sense, but I don't think a function should replace itself
with an attribute of the same name whose value is the static output of the
function.
{quote}
Agreed, that was my next suggestion. :) Also, it seems we do it the way you do
in your patch in other tests too, like in transient_replication_ring.py.
{quote} ([smoke
test|https://app.circleci.com/pipelines/github/driftx/cassandra/1304/workflows/caf14e3f-3e30-40aa-a5dd-7caebcc76769/jobs/54913])
{quote}
For the record, the test failure was not reproducible in CI even before the
patch. Also, considering our findings, I expect it will fail when we run the
whole class, not only a single test.
I ran the whole test class locally with your patch. There is one test failure:
{code:java}
===============================================================================================================================
warnings summary
===============================================================================================================================
dtest.py:49
/cassandra-dtest/dtest.py:49: DeprecationWarning: distutils Version classes
are deprecated. Use packaging.version instead.
MAJOR_VERSION_4 = LooseVersion('4.0')
dtest.py:50
/cassandra-dtest/dtest.py:50: DeprecationWarning: distutils Version classes
are deprecated. Use packaging.version instead.
MAJOR_VERSION_5 = LooseVersion('5.0')
../dtest/lib/python3.8/site-packages/ccmlib/common.py:773: 1 warning
transient_replication_test.py: 71 warnings
/dtest/lib/python3.8/site-packages/ccmlib/common.py:773: DeprecationWarning:
distutils Version classes are deprecated. Use packaging.version instead.
return LooseVersion(match.group(1))
transient_replication_test.py: 980 warnings
/dtest/lib/python3.8/site-packages/setuptools/_distutils/version.py:345:
DeprecationWarning: distutils Version classes are deprecated. Use
packaging.version instead.
other = LooseVersion(other)
transient_replication_test.py::TestTransientReplicationRepairStreamEntireSSTable::test_speculative_write_repair_cycle
transient_replication_test.py::TestTransientReplicationRepairStreamEntireSSTable::test_primary_range_repair
transient_replication_test.py::TestTransientReplicationRepairStreamEntireSSTable::test_optimized_primary_range_repair
transient_replication_test.py::TestTransientReplicationRepairStreamEntireSSTable::test_optimized_primary_range_repair_with_lcs
transient_replication_test.py::TestTransientReplicationRepairStreamEntireSSTable::test_transient_incremental_repair
transient_replication_test.py::TestTransientReplicationRepairStreamEntireSSTable::test_full_repair_from_full_replica
transient_replication_test.py::TestTransientReplicationRepairStreamEntireSSTable::test_full_repair_from_transient_replica
/cassandra-dtest/conftest.py:439: DeprecationWarning: distutils Version
classes are deprecated. Use packaging.version instead.
since = LooseVersion(since_str_or_list)
transient_replication_test.py: 189 warnings
/dtest/lib/python3.8/site-packages/ccmlib/common.py:481: DeprecationWarning:
distutils Version classes are deprecated. Use packaging.version instead.
version = LooseVersion(str(version))
transient_replication_test.py: 22 warnings
/cassandra-dtest/dtest.py:294: DeprecationWarning: distutils Version classes
are deprecated. Use packaging.version instead.
if LooseVersion('4.0') <= cassandra_version:
transient_replication_test.py::TestTransientReplicationRepairStreamEntireSSTable::test_speculative_write_repair_cycle
/dtest/lib/python3.8/site-packages/_pytest/threadexception.py:73:
PytestUnhandledThreadExceptionWarning: Exception in thread Thread-1
Traceback (most recent call last):
File
"/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/threading.py",
line 932, in _bootstrap_inner
self.run()
File "/dtest/lib/python3.8/site-packages/ccmlib/cluster.py", line 193, in
run
self.scan_and_report()
File "/dtest/lib/python3.8/site-packages/ccmlib/cluster.py", line 186, in
scan_and_report
on_error_call(errordata)
File "/cassandra-dtest/dtest_setup.py", line 177, in _log_error_handler
pytest.fail("Error details: \n{message}".format(message=message))
File "/dtest/lib/python3.8/site-packages/_pytest/outcomes.py", line 198, in
fail
raise Failed(msg=reason, pytrace=pytrace)
Failed: Error details:
Errors seen in logs for: node2, node3
node2: ERROR [Messaging-EventLoop-3-3] 2023-09-27 09:52:49,227
NoSpamLogger.java:111 -
/127.0.0.2:7000->/127.0.0.1:7000-URGENT_MESSAGES-[no-channel] failed to connect
java.nio.channels.ClosedChannelException: null
at
org.apache.cassandra.net.OutboundConnectionInitiator$Handler.channelInactive(OutboundConnectionInitiator.java:322)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:305)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
at
io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:411)
at
io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:376)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:305)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1405)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
at
io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:901)
at
io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:813)
at
io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
at
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
at
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566)
at
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:834)
node3: ERROR [Messaging-EventLoop-3-6] 2023-09-27 09:52:49,227
NoSpamLogger.java:111 -
/127.0.0.3:7000->/127.0.0.2:7000-URGENT_MESSAGES-[no-channel] failed to connect
java.nio.channels.ClosedChannelException: null
at
org.apache.cassandra.net.OutboundConnectionInitiator$Handler.channelInactive(OutboundConnectionInitiator.java:322)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:305)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
at
io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:411)
at
io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:376)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:305)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274)
at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1405)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281)
at
io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:901)
at
io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:813)
at
io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
at
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
at
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566)
at
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:834)
warnings.warn(pytest.PytestUnhandledThreadExceptionWarning(msg))
transient_replication_test.py::TestTransientReplicationRepairStreamEntireSSTable::test_speculative_write_repair_cycle
/cassandra-dtest/conftest.py:363: PytestRemovedIn8Warning:
pytest.fail(msg=...) is now deprecated, use pytest.fail(reason=...) instead
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
===Flaky Test Report===
test_speculative_write_repair_cycle passed 1 out of the required 1 times.
Success!
test_primary_range_repair passed 1 out of the required 1 times. Success!
test_optimized_primary_range_repair passed 1 out of the required 1 times.
Success!
test_optimized_primary_range_repair_with_lcs passed 1 out of the required 1
times. Success!
test_transient_incremental_repair passed 1 out of the required 1 times. Success!
test_full_repair_from_full_replica passed 1 out of the required 1 times.
Success!
test_full_repair_from_transient_replica passed 1 out of the required 1 times.
Success!
===End Flaky Test Report===
===========================================================================================================================
short test summary info
============================================================================================================================
ERROR
transient_replication_test.py::TestTransientReplicationRepairStreamEntireSSTable::test_speculative_write_repair_cycle
- Failed: Unexpected error found in node logs (see stdout for full details).
Errors: [[node2] 'ERROR [Messaging-EventLoop-3-3] 2023-09-27 09:52:49,227
NoSpamLogger.java:111 -
/127.0.0.2:7000->/127.0.0.1:7000-URGENT_MESSAGES-[no-channel] failed to
connect\njava.nio.chan...
============================================================================================================
7 passed, 1274 warnings, 1 error in 501.88s (0:08:21)
============================================================================================================
{code}
> Test failure:
> dtest-novnode.transient_replication_test.TestTransientReplicationRepairStreamEntireSSTable.test_optimized_primary_range_repair_with_lcs
> -----------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-18880
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18880
> Project: Cassandra
> Issue Type: Bug
> Components: Test/dtest/python
> Reporter: Ekaterina Dimitrova
> Assignee: Ekaterina Dimitrova
> Priority: Normal
> Fix For: 4.0.x, 4.1.x, 5.0.x, 5.x
>
>
> https://ci-cassandra.apache.org/job/Cassandra-trunk/1718/testReport/dtest-novnode.transient_replication_test/TestTransientReplicationRepairStreamEntireSSTable/test_optimized_primary_range_repair_with_lcs/
> {code:java}
> Error Message
> failed on setup with "TypeError: 'list' object is not callable"
> Stacktrace
> self =
> <transient_replication_test.TestTransientReplicationRepairStreamEntireSSTable
> object at 0x7f4b3a4e4ac0> fixture_dtest_setup = <dtest_setup.DTestSetup
> object at 0x7f4b3a583250> @pytest.fixture(scope='function', autouse=True) def
> setup_cluster(self, fixture_dtest_setup): > self.tokens = self.tokens() E
> TypeError: 'list' object is not callable transient_replication_test.py:206:
> TypeError
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]