From dev-return-79171-archive-asf-public=cust-asf.ponee.io@zookeeper.apache.org Tue Mar 12 21:34:30 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id A44C3180600 for ; Tue, 12 Mar 2019 22:34:29 +0100 (CET) Received: (qmail 19619 invoked by uid 500); 12 Mar 2019 21:34:27 -0000 Mailing-List: contact dev-help@zookeeper.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@zookeeper.apache.org Delivered-To: mailing list dev@zookeeper.apache.org Received: (qmail 19331 invoked by uid 99); 12 Mar 2019 21:34:27 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Mar 2019 21:34:27 +0000 From: GitBox To: dev@zookeeper.apache.org Subject: [GitHub] [zookeeper] eolivelli commented on a change in pull request #850: ZOOKEEPER-3309: Add sync processor metrics Message-ID: <155242646733.7738.16014271469598728891.gitbox@gitbox.apache.org> Date: Tue, 12 Mar 2019 21:34:27 -0000 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit eolivelli commented on a change in pull request #850: ZOOKEEPER-3309: Add sync processor metrics URL: https://github.com/apache/zookeeper/pull/850#discussion_r264893822 ########## File path: zookeeper-server/src/test/java/org/apache/zookeeper/server/quorum/SyncRequestProcessorMetricTest.java ########## @@ -0,0 +1,82 @@ +package org.apache.zookeeper.server.quorum; + +import org.apache.zookeeper.ZooDefs; +import org.apache.zookeeper.server.*; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.nio.ByteBuffer; +import java.util.Map; + +import static org.hamcrest.number.OrderingComparison.greaterThan; +import static org.hamcrest.number.OrderingComparison.greaterThanOrEqualTo; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class SyncRequestProcessorMetricTest { + ZooKeeperServer zks; + + + @Before + public void setup() throws Exception { + ZKDatabase db = mock(ZKDatabase.class); + when(db.append(any(Request.class))).thenReturn(true); + doAnswer(invocation->{ + Thread.sleep(100); + return null; + }).when(db).commit(); + zks = mock(ZooKeeperServer.class); + when(zks.getZKDatabase()).thenReturn(db); + } + + @After + public void tearDown() { + + } + + private Request createRquest(long sessionId, int xid) { + return new Request(null, sessionId, xid, ZooDefs.OpCode.setData, + ByteBuffer.wrap(new byte[10]), null); + } + + @Test + public void testSyncProcessorMetrics() { + SyncRequestProcessor syncProcessor = new SyncRequestProcessor(zks, null); + for (int i=0; i<500; i++) { + syncProcessor.processRequest(createRquest(1, i)); + } + + Map values = ServerMetrics.getAllValues(); + Assert.assertEquals(500L, values.get("sync_processor_request_queued")); + + syncProcessor.start(); + + try { + Thread.sleep(500); + } catch (Exception e){ Review comment: Why? If you get an IE the test will fail, not a big deal ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: users@infra.apache.org With regards, Apache Git Services