poorbarcode commented on code in PR #16758:
URL: https://github.com/apache/pulsar/pull/16758#discussion_r936951152


##########
pulsar-transaction/coordinator/src/test/java/org/apache/pulsar/transaction/coordinator/impl/TxnLogBufferedWriterTest.java:
##########
@@ -613,9 +620,322 @@ public ByteBuf serialize(ArrayList<Integer> dataArray) {
         }
     }
 
+    private static class RandomLenSumStrDataSerializer extends 
JsonDataSerializer {
+
+        @Getter
+        private int totalSize;
+
+        /**
+         * After the test, when {@link 
TxnLogBufferedWriterConfig#getBatchedWriteMaxRecords()} = 256
+         *   and {@link TxnLogBufferedWriterConfig#getBatchedWriteMaxSize()} = 
1024,
+         *   and {@link 
TxnLogBufferedWriterConfig#getBatchedWriteMaxDelayInMillis()} = 1, the 
random-size baseline
+         *   was set as 9, and there was maximum probability that all three 
thresholds could be hit.
+         */
+        @Override
+        public int getSerializedSize(Integer data) {
+            int size = new Random().nextInt(9);
+            totalSize += size;
+            return size;
+        }
+    }
+
     public enum BookieErrorType{
         NO_ERROR,
         ALWAYS_ERROR,
         SOMETIMES_ERROR;
     }
+
+    /**
+     * 1. Verify Transaction buffered writer stats correct when enabled batch 
feature. Exclusive "triggerByForceFlush",
+     *    this property verified by {@link #testMetricsStatsWhenForceFlush()}.
+     * 2. Verify metrics will be release after {@link 
TxnLogBufferedWriterMetricsStats#clone()}.
+     */
+    @Test
+    public void testMetricsStatsWhenEnabled() throws Exception {
+        TxnLogBufferedWriterMetricsStats metricsStats = new 
TxnLogBufferedWriterMetricsStats(
+                metricsPrefix, metricsLabelNames, metricsLabelValues, 
CollectorRegistry.defaultRegistry
+        );
+        // Mock managed ledger to get the count of refresh event.
+        AtomicInteger refreshCount = new AtomicInteger();

Review Comment:
   Good idea, I have already changed the name of this variable to 
`batchFlushCount `



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to