java中getport方法,Java HRegionLocation.getPort方法代码示例

import org.apache.hadoop.hbase.HRegionLocation; //导入方法依赖的package包/类

/**

* Test that stale cache updates don't override newer cached values.

*/

@Test

public void testCacheSeqNums() throws Exception{

HTable table = TEST_UTIL.createMultiRegionTable(TABLE_NAME2, FAM_NAM);

Put put = new Put(ROW);

put.add(FAM_NAM, ROW, ROW);

table.put(put);

ConnectionManager.HConnectionImplementation conn =

(ConnectionManager.HConnectionImplementation)table.getConnection();

HRegionLocation location = conn.getCachedLocation(TABLE_NAME2, ROW).getRegionLocation();

assertNotNull(location);

ServerName anySource = ServerName.valueOf(location.getHostname(), location.getPort() - 1, 0L);

// Same server as already in cache reporting - overwrites any value despite seqNum.

int nextPort = location.getPort() + 1;

conn.updateCachedLocation(location.getRegionInfo(), location.getServerName(),

ServerName.valueOf("127.0.0.1", nextPort, 0), location.getSeqNum() - 1);

location = conn.getCachedLocation(TABLE_NAME2, ROW).getRegionLocation();

Assert.assertEquals(nextPort, location.getPort());

// No source specified - same.

nextPort = location.getPort() + 1;

conn.updateCachedLocation(location.getRegionInfo(), location.getServerName(),

ServerName.valueOf("127.0.0.1", nextPort, 0), location.getSeqNum() - 1);

location = conn.getCachedLocation(TABLE_NAME2, ROW).getRegionLocation();

Assert.assertEquals(nextPort, location.getPort());

// Higher seqNum - overwrites lower seqNum.

nextPort = location.getPort() + 1;

conn.updateCachedLocation(location.getRegionInfo(), anySource,

ServerName.valueOf("127.0.0.1", nextPort, 0), location.getSeqNum() + 1);

location = conn.getCachedLocation(TABLE_NAME2, ROW).getRegionLocation();

Assert.assertEquals(nextPort, location.getPort());

// Lower seqNum - does not overwrite higher seqNum.

nextPort = location.getPort() + 1;

conn.updateCachedLocation(location.getRegionInfo(), anySource,

ServerName.valueOf("127.0.0.1", nextPort, 0), location.getSeqNum() - 1);

location = conn.getCachedLocation(TABLE_NAME2, ROW).getRegionLocation();

Assert.assertEquals(nextPort - 1, location.getPort());

table.close();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值