1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.ipc;
20
21 import org.apache.hadoop.conf.Configuration;
22 import org.apache.hadoop.hbase.testclassification.MediumTests;
23 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
24 import org.apache.hadoop.hbase.util.ManualEnvironmentEdge;
25 import org.junit.Assert;
26 import org.junit.Test;
27 import org.junit.experimental.categories.Category;
28
29 import java.net.InetSocketAddress;
30
31 @Category(MediumTests.class)
32 public class TestHBaseClient {
33
34 @Test
35 public void testFailedServer(){
36 ManualEnvironmentEdge ee = new ManualEnvironmentEdge();
37 EnvironmentEdgeManager.injectEdge( ee );
38 FailedServers fs = new FailedServers(new Configuration());
39 Throwable testThrowable = new Throwable();
40
41 InetSocketAddress ia = InetSocketAddress.createUnresolved("bad", 12);
42 InetSocketAddress ia2 = InetSocketAddress.createUnresolved("bad", 12);
43 InetSocketAddress ia3 = InetSocketAddress.createUnresolved("badtoo", 12);
44 InetSocketAddress ia4 = InetSocketAddress.createUnresolved("badtoo", 13);
45
46
47 Assert.assertFalse( fs.isFailedServer(ia) );
48
49 fs.addToFailedServers(ia,testThrowable);
50 Assert.assertTrue( fs.isFailedServer(ia) );
51 Assert.assertTrue( fs.isFailedServer(ia2) );
52
53 ee.incValue( 1 );
54 Assert.assertTrue( fs.isFailedServer(ia) );
55 Assert.assertTrue( fs.isFailedServer(ia2) );
56
57 ee.incValue( RpcClient.FAILED_SERVER_EXPIRY_DEFAULT + 1 );
58 Assert.assertFalse( fs.isFailedServer(ia) );
59 Assert.assertFalse( fs.isFailedServer(ia2) );
60
61 fs.addToFailedServers(ia,testThrowable);
62 fs.addToFailedServers(ia3,testThrowable);
63 fs.addToFailedServers(ia4,testThrowable);
64
65 Assert.assertTrue( fs.isFailedServer(ia) );
66 Assert.assertTrue( fs.isFailedServer(ia2) );
67 Assert.assertTrue( fs.isFailedServer(ia3) );
68 Assert.assertTrue( fs.isFailedServer(ia4) );
69
70 ee.incValue( RpcClient.FAILED_SERVER_EXPIRY_DEFAULT + 1 );
71 Assert.assertFalse( fs.isFailedServer(ia) );
72 Assert.assertFalse( fs.isFailedServer(ia2) );
73 Assert.assertFalse( fs.isFailedServer(ia3) );
74 Assert.assertFalse( fs.isFailedServer(ia4) );
75
76
77 fs.addToFailedServers(ia3,testThrowable);
78 Assert.assertFalse( fs.isFailedServer(ia4) );
79 }
80 }