This is an automated email from the ASF dual-hosted git repository. adelapena pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit 0516aa1be2b30dfe25c213c5ccfed44c9220cccc Merge: b015cbd 636ab42 Author: Andrés de la Peña <[email protected]> AuthorDate: Fri Sep 10 13:28:52 2021 +0100 Merge branch 'cassandra-4.0' into trunk CHANGES.txt | 1 + .../tools/nodetool/stats/StatsPrinter.java | 17 +- .../tools/nodetool/stats/TpStatsHolder.java | 11 +- .../cassandra/tools/nodetool/TpStatsTest.java | 10 +- .../tools/nodetool/stats/StatsPrinterTest.java | 186 +++++++++++++++++++++ 5 files changed, 211 insertions(+), 14 deletions(-) diff --cc CHANGES.txt index 80ee45c,b332be6..927c423 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,33 -1,9 +1,34 @@@ -4.0.2 +4.1 + * Fix missed wait latencies in the output of `nodetool tpstats -F` (CASSANDRA-16938) + * Reduce native transport max frame size to 16MB (CASSANDRA-16886) + * Add support for filtering using IN restrictions (CASSANDRA-14344) + * Provide a nodetool command to invalidate auth caches (CASSANDRA-16404) + * Catch read repair timeout exceptions and add metric (CASSANDRA-16880) + * Exclude Jackson 1.x transitive dependency of hadoop* provided dependencies (CASSANDRA-16854) + * Add client warnings and abort to tombstone and coordinator reads which go past a low/high watermark (CASSANDRA-16850) + * Add TTL support to nodetool snapshots (CASSANDRA-16789) + * Allow CommitLogSegmentReader to optionally skip sync marker CRC checks (CASSANDRA-16842) + * allow blocking IPs from updating metrics about traffic (CASSANDRA-16859) + * Request-Based Native Transport Rate-Limiting (CASSANDRA-16663) + * Implement nodetool getauditlog command (CASSANDRA-16725) + * Clean up repair code (CASSANDRA-13720) + * Background schedule to clean up orphaned hints files (CASSANDRA-16815) + * Modify SecondaryIndexManager#indexPartition() to retrieve only columns for which indexes are actually being built (CASSANDRA-16776) + * Batch the token metadata update to improve the speed (CASSANDRA-15291) + * Reduce the log level on "expected" repair exceptions (CASSANDRA-16775) + * Make JMXTimer expose attributes using consistent time unit (CASSANDRA-16760) + * Remove check on gossip status from DynamicEndpointSnitch::updateScores (CASSANDRA-11671) + * Fix AbstractReadQuery::toCQLString not returning valid CQL (CASSANDRA-16510) + * Log when compacting many tombstones (CASSANDRA-16780) + * Display bytes per level in tablestats for LCS tables (CASSANDRA-16799) + * Add isolated flush timer to CommitLogMetrics and ensure writes correspond to single WaitingOnCommit data points (CASSANDRA-16701) + * Add a system property to set hostId if not yet initialized (CASSANDRA-14582) + * GossiperTest.testHasVersion3Nodes didn't take into account trunk version changes, fixed to rely on latest version (CASSANDRA-16651) +Merged from 4.0: * Remove all the state pollution between tests in SSTableReaderTest (CASSANDRA-16888) * Delay auth setup until after gossip has settled to avoid unavailables on startup (CASSANDRA-16783) - * Fix clustering order logic in CREATE MATERIALIZED VIEW (CASSANDRA-16898) * org.apache.cassandra.db.rows.ArrayCell#unsharedHeapSizeExcludingData includes data twice (CASSANDRA-16900) + * Fix clustering order logic in CREATE MATERIALIZED VIEW (CASSANDRA-16898) * Exclude Jackson 1.x transitive dependency of hadoop* provided dependencies (CASSANDRA-16854) Merged from 3.11: * Make assassinate more resilient to missing tokens (CASSANDRA-16847) diff --cc test/unit/org/apache/cassandra/tools/nodetool/TpStatsTest.java index 0cbcb49,b507bcd..edbd6b3 --- a/test/unit/org/apache/cassandra/tools/nodetool/TpStatsTest.java +++ b/test/unit/org/apache/cassandra/tools/nodetool/TpStatsTest.java @@@ -141,18 -153,24 +141,22 @@@ public class TpStatsTest extends CQLTes } @Test - public void testFromatArg() + public void testFormatArg() { Arrays.asList(Pair.of("-F", "json"), Pair.of("--format", "json")).forEach(arg -> { - ToolResult tool = ToolRunner.invokeNodetool("tpstats", arg.getLeft(), arg.getRight()); + ToolRunner.ToolResult tool = ToolRunner.invokeNodetool("tpstats", arg.getLeft(), arg.getRight()); + tool.assertOnCleanExit(); - assertThat(isJSONString(tool.getStdout())).isTrue(); + String json = tool.getStdout(); + assertThat(isJSONString(json)).isTrue(); + assertThat(json).containsPattern("\"WaitLatencies\"\\s*:\\s*\\{\\s*\""); - assertTrue(tool.getCleanedStderr().isEmpty()); - assertEquals(0, tool.getExitCode()); }); Arrays.asList( Pair.of("-F", "yaml"), Pair.of("--format", "yaml")).forEach(arg -> { - ToolResult tool = ToolRunner.invokeNodetool("tpstats", arg.getLeft(), arg.getRight()); + ToolRunner.ToolResult tool = ToolRunner.invokeNodetool("tpstats", arg.getLeft(), arg.getRight()); + tool.assertOnCleanExit(); - assertThat(isYAMLString(tool.getStdout())).isTrue(); + String yaml = tool.getStdout(); + assertThat(isYAMLString(yaml)).isTrue(); + assertThat(yaml).containsPattern("WaitLatencies:\\s*[A-Z|_]+:\\s+-\\s"); - assertTrue(tool.getCleanedStderr().isEmpty()); - assertEquals(0, tool.getExitCode()); }); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
