/**
* 测试在主键发生变化后的merge操作,Update/Update/Insert
*/
@Test
public void testMergeWithUpdateKeyOfUI() {
Map<RowKey, EventData> mergeMap = new MapMaker().makeMap();
DbLoadMerger.merge(makeUpdateEventData(KEY_VALUE_NEW1, KEY_VALUE_NEW2), mergeMap);
DbLoadMerger.merge(makeUpdateEventData(KEY_VALUE_NEW2, KEY_VALUE), mergeMap);
DbLoadMerger.merge(makeInsertEventData(), mergeMap);
for (Entry<RowKey, EventData> entry : mergeMap.entrySet()) {
RowKey key = entry.getKey();
EventColumn keyColumn = key.getKeys().get(0);
Assert.assertEquals(KEY_VALUE, keyColumn.getColumnValue());
Assert.assertEquals(KEY_NAME, keyColumn.getColumnName());
EventData eventData = entry.getValue();
Assert.assertEquals(SCHEMA_NAME, eventData.getSchemaName());
Assert.assertEquals(TABLE_NAME, eventData.getTableName());
Assert.assertEquals(TABLE_ID, eventData.getTableId());
Assert.assertEquals(EventType.INSERT, eventData.getEventType());
List<EventColumn> oldKeys = eventData.getOldKeys();
List<EventColumn> keys = eventData.getKeys();
Assert.assertNotSame(oldKeys, keys);
}
}
java类com.google.common.collect.MapMaker的实例源码
DbLoadMergerTest.java 文件源码
项目:otter
阅读 78
收藏 0
点赞 0
评论 0
DbLoadMergerTest.java 文件源码
项目:otter
阅读 31
收藏 0
点赞 0
评论 0
/**
* 测试在主键发生变化后的merge操作,Insert/Insert
*/
@Test
public void testMergeWithUpdateKeyOfII() {
Map<RowKey, EventData> mergeMap = new MapMaker().makeMap();
DbLoadMerger.merge(makeInsertEventData(), mergeMap);
DbLoadMerger.merge(makeInsertEventData(), mergeMap);
for (Entry<RowKey, EventData> entry : mergeMap.entrySet()) {
RowKey key = entry.getKey();
EventColumn keyColumn = key.getKeys().get(0);
Assert.assertEquals(KEY_VALUE, keyColumn.getColumnValue());
Assert.assertEquals(KEY_NAME, keyColumn.getColumnName());
EventData eventData = entry.getValue();
Assert.assertEquals(SCHEMA_NAME, eventData.getSchemaName());
Assert.assertEquals(TABLE_NAME, eventData.getTableName());
Assert.assertEquals(TABLE_ID, eventData.getTableId());
Assert.assertEquals(EventType.INSERT, eventData.getEventType());
List<EventColumn> oldKeys = eventData.getOldKeys();
List<EventColumn> keys = eventData.getKeys();
Assert.assertNotSame(oldKeys, keys);
}
}
MemoryMetaManager.java 文件源码
项目:canal
阅读 31
收藏 0
点赞 0
评论 0
public void start() {
super.start();
batches = MigrateMap.makeComputingMap(new Function<ClientIdentity, MemoryClientIdentityBatch>() {
public MemoryClientIdentityBatch apply(ClientIdentity clientIdentity) {
return MemoryClientIdentityBatch.create(clientIdentity);
}
});
cursors = new MapMaker().makeMap();
destinations = MigrateMap.makeComputingMap(new Function<String, List<ClientIdentity>>() {
public List<ClientIdentity> apply(String destination) {
return Lists.newArrayList();
}
});
}
ExactCounterMetric.java 文件源码
项目:HBase-Research
阅读 30
收藏 0
点赞 0
评论 0
/**
* Constructor to create a new counter metric
* @param nam the name to publish this metric under
* @param registry where the metrics object will be registered
* @param description metrics description
* @param topN how many 'keys' to publish metrics on
*/
public ExactCounterMetric(final String nam, final MetricsRegistry registry,
final String description, int topN) {
super(nam, description);
this.counts = new MapMaker().makeComputingMap(
new Function<String, Counter>() {
@Override
public Counter apply(String input) {
return new Counter();
}
});
this.lock = new ReentrantReadWriteLock();
this.topN = topN;
if (registry != null) {
registry.add(nam, this);
}
}
ByteArrayPartition.java 文件源码
项目:giraph-gora
阅读 30
收藏 0
点赞 0
评论 0
@Override
public void readFields(DataInput input) throws IOException {
super.readFields(input);
int size = input.readInt();
vertexMap = new MapMaker().concurrencyLevel(
getConf().getNettyServerExecutionConcurrency()).initialCapacity(
size).makeMap();
representativeVertex = getConf().createVertex();
representativeVertex.initialize(
getConf().createVertexId(),
getConf().createVertexValue(),
getConf().createOutEdges());
useUnsafeSerialization = getConf().useUnsafeSerialization();
for (int i = 0; i < size; ++i) {
progress();
I vertexId = getConf().createVertexId();
vertexId.readFields(input);
int vertexDataSize = input.readInt();
byte[] vertexData = new byte[vertexDataSize];
input.readFully(vertexData);
if (vertexMap.put(vertexId, vertexData) != null) {
throw new IllegalStateException("readFields: Already saw vertex " +
vertexId);
}
}
}
ExactCounterMetric.java 文件源码
项目:hbase-0.94.8-qod
阅读 37
收藏 0
点赞 0
评论 0
/**
* Constructor to create a new counter metric
* @param nam the name to publish this metric under
* @param registry where the metrics object will be registered
* @param description metrics description
* @param topN how many 'keys' to publish metrics on
*/
public ExactCounterMetric(final String nam, final MetricsRegistry registry,
final String description, int topN) {
super(nam, description);
this.counts = new MapMaker().makeComputingMap(
new Function<String, Counter>() {
@Override
public Counter apply(String input) {
return new Counter();
}
});
this.lock = new ReentrantReadWriteLock();
this.topN = topN;
if (registry != null) {
registry.add(nam, this);
}
}
ExactCounterMetric.java 文件源码
项目:hbase-0.94.8-qod
阅读 36
收藏 0
点赞 0
评论 0
/**
* Constructor to create a new counter metric
* @param nam the name to publish this metric under
* @param registry where the metrics object will be registered
* @param description metrics description
* @param topN how many 'keys' to publish metrics on
*/
public ExactCounterMetric(final String nam, final MetricsRegistry registry,
final String description, int topN) {
super(nam, description);
this.counts = new MapMaker().makeComputingMap(
new Function<String, Counter>() {
@Override
public Counter apply(String input) {
return new Counter();
}
});
this.lock = new ReentrantReadWriteLock();
this.topN = topN;
if (registry != null) {
registry.add(nam, this);
}
}
ByteArrayPartition.java 文件源码
项目:giraph-research
阅读 22
收藏 0
点赞 0
评论 0
@Override
public void readFields(DataInput input) throws IOException {
super.readFields(input);
int size = input.readInt();
vertexMap = new MapMaker().concurrencyLevel(
getConf().getNettyServerExecutionConcurrency()).initialCapacity(
size).makeMap();
representativeVertex = getConf().createVertex();
representativeVertex.initialize(
getConf().createVertexId(),
getConf().createVertexValue(),
getConf().createOutEdges());
useUnsafeSerialization = getConf().useUnsafeSerialization();
for (int i = 0; i < size; ++i) {
progress();
I vertexId = getConf().createVertexId();
vertexId.readFields(input);
int vertexDataSize = input.readInt();
byte[] vertexData = new byte[vertexDataSize];
input.readFully(vertexData);
if (vertexMap.put(vertexId, vertexData) != null) {
throw new IllegalStateException("readFields: Already saw vertex " +
vertexId);
}
}
}
ByteArrayPartition.java 文件源码
项目:giraph-research
阅读 26
收藏 0
点赞 0
评论 0
@Override
public void readFields(DataInput input) throws IOException {
super.readFields(input);
int size = input.readInt();
vertexMap = new MapMaker().concurrencyLevel(
getConf().getNettyServerExecutionConcurrency()).initialCapacity(
size).makeMap();
representativeVertex = getConf().createVertex();
representativeVertex.initialize(
getConf().createVertexId(),
getConf().createVertexValue(),
getConf().createOutEdges());
useUnsafeSerialization = getConf().useUnsafeSerialization();
for (int i = 0; i < size; ++i) {
progress();
I vertexId = getConf().createVertexId();
vertexId.readFields(input);
int vertexDataSize = input.readInt();
byte[] vertexData = new byte[vertexDataSize];
input.readFully(vertexData);
if (vertexMap.put(vertexId, vertexData) != null) {
throw new IllegalStateException("readFields: Already saw vertex " +
vertexId);
}
}
}
ByteArrayPartition.java 文件源码
项目:giraph-research
阅读 30
收藏 0
点赞 0
评论 0
@Override
public void readFields(DataInput input) throws IOException {
super.readFields(input);
int size = input.readInt();
vertexMap = new MapMaker().concurrencyLevel(
getConf().getNettyServerExecutionConcurrency()).initialCapacity(
size).makeMap();
representativeVertex = getConf().createVertex();
representativeVertex.initialize(
getConf().createVertexId(),
getConf().createVertexValue(),
getConf().createOutEdges());
useUnsafeSerialization = getConf().useUnsafeSerialization();
for (int i = 0; i < size; ++i) {
progress();
I vertexId = getConf().createVertexId();
vertexId.readFields(input);
int vertexDataSize = input.readInt();
byte[] vertexData = new byte[vertexDataSize];
input.readFully(vertexData);
if (vertexMap.put(vertexId, vertexData) != null) {
throw new IllegalStateException("readFields: Already saw vertex " +
vertexId);
}
}
}