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]

Reply via email to