[
https://issues.apache.org/jira/browse/CASSANDRA-17456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17509254#comment-17509254
]
Brandon Williams commented on CASSANDRA-17456:
----------------------------------------------
bq. seemingly we should reject them entirely at the client level, but for some
reason we do not.
I agree here since the oversized mutations can still affect the heap, which
with G1 can cause a Humongous Allocation and wreck it. This is why I reduced
the native frame size in CASSANDRA-16886, but this is also why we should try
not to record them as much as possible, so I'm not fond of the idea of allowing
any size since we'll surely be allocating at some point.
> Test Failures:
> write_failures_test.TestMultiDCWriteFailures.test_oversized_mutation
> -----------------------------------------------------------------------------------
>
> Key: CASSANDRA-17456
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17456
> Project: Cassandra
> Issue Type: Bug
> Components: CI
> Reporter: Ekaterina Dimitrova
> Priority: Normal
> Fix For: 4.x
>
>
> https://ci-cassandra.apache.org/job/Cassandra-trunk/1002/testReport/dtest-offheap.write_failures_test/TestMultiDCWriteFailures/test_oversized_mutation/
> {code:java}
> Error Message
> AssertionError: assert 0 == 8 + where 8 = <bound method
> JolokiaAgent.read_attribute of <tools.jmxutils.JolokiaAgent object at
> 0x7f1fca78dac0>>('org.apache.cassandra.metrics:type=Storage,name=TotalHints',
> 'Count') + where <bound method JolokiaAgent.read_attribute of
> <tools.jmxutils.JolokiaAgent object at 0x7f1fca78dac0>> =
> <tools.jmxutils.JolokiaAgent object at 0x7f1fca78dac0>.read_attribute +
> and 'org.apache.cassandra.metrics:type=Storage,name=TotalHints' =
> make_mbean('metrics', type='Storage', name='TotalHints')
> Stacktrace
> self = <write_failures_test.TestMultiDCWriteFailures object at 0x7f1fca9dac40>
> def test_oversized_mutation(self):
> """
> Test that multi-DC write failures return operation failed rather
> than a timeout.
> @jira_ticket CASSANDRA-16334.
> """
>
> cluster = self.cluster
> cluster.populate([2, 2])
> cluster.set_configuration_options(values={'max_mutation_size_in_kb':
> 128})
> cluster.start()
>
> node1 = cluster.nodelist()[0]
> session = self.patient_exclusive_cql_connection(node1)
>
> session.execute("CREATE KEYSPACE k WITH replication = {'class':
> 'NetworkTopologyStrategy', 'dc1': 2, 'dc2': 2}")
> session.execute("CREATE TABLE k.t (key int PRIMARY KEY, val blob)")
>
> payload = '1' * 1024 * 256
> query = "INSERT INTO k.t (key, val) VALUES (1,
> textAsBlob('{}'))".format(payload)
>
> assert_write_failure(session, query, ConsistencyLevel.LOCAL_ONE)
> assert_write_failure(session, query, ConsistencyLevel.ONE)
>
> # verify that no hints are created
> with JolokiaAgent(node1) as jmx:
> > assert 0 == jmx.read_attribute(make_mbean('metrics',
> > type='Storage', name='TotalHints'), 'Count')
> E AssertionError: assert 0 == 8
> E + where 8 = <bound method JolokiaAgent.read_attribute of
> <tools.jmxutils.JolokiaAgent object at
> 0x7f1fca78dac0>>('org.apache.cassandra.metrics:type=Storage,name=TotalHints',
> 'Count')
> E + where <bound method JolokiaAgent.read_attribute of
> <tools.jmxutils.JolokiaAgent object at 0x7f1fca78dac0>> =
> <tools.jmxutils.JolokiaAgent object at 0x7f1fca78dac0>.read_attribute
> E + and
> 'org.apache.cassandra.metrics:type=Storage,name=TotalHints' =
> make_mbean('metrics', type='Storage', name='TotalHints')
> write_failures_test.py:277: AssertionError
> REST API
> CloudBees CI Client Controller 2.319.3.4-rolling
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]