[ 
https://issues.apache.org/jira/browse/HADOOP-17116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17154375#comment-17154375
 ] 

Ayush Saxena commented on HADOOP-17116:
---------------------------------------

Hi [~hanishakoneru]

Thanx for the fix. Does this tend to cover {{ObserverReadProxyProvider}} as 
well? I tried with {{ConfiguredProxyProvider}} and this does held back the 
Logging, but with {{Observers}} it still seems to be there.  I wrote a quick UT 
for that :

  
{code:java}
  @Test
  public void testLogMultipleObserverNamenodes() throws Exception {
    Configuration conf = new HdfsConfiguration();
    try (MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf)
        .nnTopology(MiniDFSNNTopology.simpleHATopology(4)).numDataNodes(0)
        .build();) {
      cluster.transitionToActive(3);
      cluster.waitActive();
      conf.setBoolean(HdfsClientConfigKeys.Failover.RANDOM_ORDER, false);
      FileSystem fs = HATestUtil.configureObserverReadFs(cluster, conf,
          ObserverReadProxyProvider.class, true);
      GenericTestUtils.setLogLevel(RetryInvocationHandler.LOG, Level.INFO);
      GenericTestUtils.LogCapturer logCapture =
          GenericTestUtils.LogCapturer.captureLogs(RetryInvocationHandler.LOG);
      fs.mkdirs(new Path("/dir"));
      assertFalse(logCapture.getOutput().contains("Trying to failover")); // 
Fails Here!!!
    }
  }
{code}

The log is there in this case, Can you help check, Am I missing something?
With {{  FileSystem fs = HATestUtil.configureFailoverFs(cluster, conf);}} the 
log isn't there... 

> Skip Retry INFO logging on first failover from a proxy
> ------------------------------------------------------
>
>                 Key: HADOOP-17116
>                 URL: https://issues.apache.org/jira/browse/HADOOP-17116
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: ha
>            Reporter: Hanisha Koneru
>            Assignee: Hanisha Koneru
>            Priority: Major
>         Attachments: HADOOP-17116.001.patch, HADOOP-17116.002.patch, 
> HADOOP-17116.003.patch
>
>
> RetryInvocationHandler logs an INFO level message on every failover except 
> the first. This used to be ideal before when there were only 2 proxies in the 
> FailoverProxyProvider. But if there are more than 2 proxies (as is possible 
> with 3 or more NNs in HA), then there could be more than one failover to find 
> the currently active proxy.
> To avoid creating noise in clients logs/ console, RetryInvocationHandler 
> should skip logging once for each proxy.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to