本文整理汇总了Java中org.apache.helix.ZNRecord.setSimpleFields方法的典型用法代码示例。如果您正苦于以下问题:Java ZNRecord.setSimpleFields方法的具体用法?Java ZNRecord.setSimpleFields怎么用?Java ZNRecord.setSimpleFields使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.helix.ZNRecord
的用法示例。
在下文中一共展示了ZNRecord.setSimpleFields方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getRelayMessage
import org.apache.helix.ZNRecord; //导入方法依赖的package包/类
/**
* Get relay message attached for the given instance.
*
* @param instance
* @return null if no message for the instance
*/
public Message getRelayMessage(String instance) {
Map<String, String> messageInfo = _record.getMapField(instance);
if (messageInfo != null) {
String id = messageInfo.get(Attributes.RELAY_MSG_ID.name());
if (id == null) {
id = messageInfo.get(Attributes.MSG_ID.name());
if (id == null) {
return null;
}
}
ZNRecord record = new ZNRecord(id);
record.setSimpleFields(messageInfo);
return new Message(record);
}
return null;
}
示例2: setNodes
import org.apache.helix.ZNRecord; //导入方法依赖的package包/类
private void setNodes(ZkHelixPropertyStore<ZNRecord> store, char c, boolean needTimestamp) {
char[] data = new char[bufSize];
for (int i = 0; i < bufSize; i++) {
data[i] = c;
}
Map<String, String> map = new TreeMap<String, String>();
for (int i = 0; i < mapNr; i++) {
map.put("key_" + i, new String(data));
}
for (int i = 0; i < firstLevelNr; i++) {
for (int j = 0; j < secondLevelNr; j++) {
String nodeId = getNodeId(i, j);
ZNRecord record = new ZNRecord(nodeId);
record.setSimpleFields(map);
if (needTimestamp) {
long now = System.currentTimeMillis();
record.setSimpleField("SetTimestamp", Long.toString(now));
}
String key = getSecondLevelKey(i, j);
store.set(key, record, AccessOption.PERSISTENT);
}
}
}
示例3: toZnRecord
import org.apache.helix.ZNRecord; //导入方法依赖的package包/类
@Nonnull
public static ZNRecord toZnRecord(@Nonnull TableConfig tableConfig)
throws IOException {
ZNRecord znRecord = new ZNRecord(tableConfig.getTableName());
Map<String, String> simpleFields = new HashMap<>();
simpleFields.put(TABLE_NAME_KEY, tableConfig._tableName);
simpleFields.put(TABLE_TYPE_KEY, tableConfig._tableType.toString());
simpleFields.put(VALIDATION_CONFIG_KEY, OBJECT_MAPPER.writeValueAsString(tableConfig._validationConfig));
simpleFields.put(TENANT_CONFIG_KEY, OBJECT_MAPPER.writeValueAsString(tableConfig._tenantConfig));
simpleFields.put(INDEXING_CONFIG_KEY, OBJECT_MAPPER.writeValueAsString(tableConfig._indexingConfig));
simpleFields.put(CUSTOM_CONFIG_KEY, OBJECT_MAPPER.writeValueAsString(tableConfig._customConfig));
if (tableConfig._quotaConfig != null) {
simpleFields.put(QUOTA_CONFIG_KEY, OBJECT_MAPPER.writeValueAsString(tableConfig._quotaConfig));
}
if (tableConfig._taskConfig != null) {
simpleFields.put(TASK_CONFIG_KEY, OBJECT_MAPPER.writeValueAsString(tableConfig._taskConfig));
}
if (tableConfig._routingConfig != null) {
simpleFields.put(ROUTING_CONFIG_KEY, OBJECT_MAPPER.writeValueAsString(tableConfig._routingConfig));
}
znRecord.setSimpleFields(simpleFields);
return znRecord;
}
示例4: toZnRecord
import org.apache.helix.ZNRecord; //导入方法依赖的package包/类
public static ZNRecord toZnRecord(AbstractTableConfig config) throws JsonGenerationException, JsonMappingException,
IOException {
ZNRecord rec = new ZNRecord(config.getTableName());
Map<String, String> rawMap = new HashMap<String, String>();
rawMap.put("tableName", config.getTableName());
rawMap.put("tableType", config.getTableType());
rawMap.put("segmentsConfig", new ObjectMapper().writeValueAsString(config.getValidationConfig()));
rawMap.put("tenants", new ObjectMapper().writeValueAsString(config.getTenantConfig()));
rawMap.put("metadata", new ObjectMapper().writeValueAsString(config.getCustomConfigs()));
rawMap.put("tableIndexConfig", new ObjectMapper().writeValueAsString(config.getIndexingConfig()));
rec.setSimpleFields(rawMap);
return rec;
}
示例5: main
import org.apache.helix.ZNRecord; //导入方法依赖的package包/类
public static void main(String[] args) {
IdealState idealState = new IdealState("id");
idealState.setPartitionState("p0", "i001", "MASTER");
System.out.println(idealState);
ZNRecord record = new ZNRecord(idealState.getId());
record.setSimpleFields(idealState.getRecord().getSimpleFields());
record.setMapFields(idealState.getRecord().getMapFields());
IdealState newIdealState = new IdealState(record);
newIdealState.setPartitionState("p0", "i001", "SLAVE");
System.out.println(idealState);
System.out.println(newIdealState);
}
示例6: transmitHealthReports
import org.apache.helix.ZNRecord; //导入方法依赖的package包/类
@Override
public synchronized void transmitHealthReports() {
synchronized (_healthReportProviderList) {
for (HealthReportProvider provider : _healthReportProviderList) {
try {
Map<String, String> report = provider.getRecentHealthReport();
Map<String, Map<String, String>> partitionReport =
provider.getRecentPartitionHealthReport();
ZNRecord record = new ZNRecord(provider.getReportName());
if (report != null) {
record.setSimpleFields(report);
}
if (partitionReport != null) {
record.setMapFields(partitionReport);
}
record.setSimpleField(HealthStat.TIMESTAMP_NAME, "" + System.currentTimeMillis());
HelixDataAccessor accessor = _helixManager.getHelixDataAccessor();
Builder keyBuilder = accessor.keyBuilder();
if (!accessor.setProperty(keyBuilder.healthReport(_instanceName, record.getId()),
new HealthStat(record))) {
LOG.error("Failed to persist health report to zk!");
}
provider.resetStats();
} catch (Exception e) {
LOG.error("fail to transmit health report", e);
}
}
}
}
示例7: setProperty
import org.apache.helix.ZNRecord; //导入方法依赖的package包/类
@Override
public <T extends HelixProperty> boolean setProperty(PropertyKey key, T value) {
PropertyType type = key.getType();
if (!value.isValid()) {
throw new HelixException("The ZNRecord for " + type + " is not valid.");
}
String path = key.getPath();
int options = constructOptions(type);
boolean success = false;
switch (type) {
case IDEALSTATES:
case EXTERNALVIEW:
// check if bucketized
if (value.getBucketSize() > 0) {
// set parent node
ZNRecord metaRecord = new ZNRecord(value.getId());
metaRecord.setSimpleFields(value.getRecord().getSimpleFields());
success = _baseDataAccessor.set(path, metaRecord, options);
if (success) {
ZNRecordBucketizer bucketizer = new ZNRecordBucketizer(value.getBucketSize());
Map<String, ZNRecord> map = bucketizer.bucketize(value.getRecord());
List<String> paths = new ArrayList<String>();
List<ZNRecord> bucketizedRecords = new ArrayList<ZNRecord>();
for (String bucketName : map.keySet()) {
paths.add(path + "/" + bucketName);
bucketizedRecords.add(map.get(bucketName));
}
// TODO: set success accordingly
_baseDataAccessor.setChildren(paths, bucketizedRecords, options);
}
} else {
success = _baseDataAccessor.set(path, value.getRecord(), options);
}
break;
default:
success = _baseDataAccessor.set(path, value.getRecord(), options);
break;
}
return success;
}
示例8: setChildren
import org.apache.helix.ZNRecord; //导入方法依赖的package包/类
@Override
public <T extends HelixProperty> boolean[] setChildren(List<PropertyKey> keys, List<T> children) {
int options = -1;
List<String> paths = new ArrayList<String>();
List<ZNRecord> records = new ArrayList<ZNRecord>();
List<List<String>> bucketizedPaths =
new ArrayList<List<String>>(Collections.<List<String>> nCopies(keys.size(), null));
List<List<ZNRecord>> bucketizedRecords =
new ArrayList<List<ZNRecord>>(Collections.<List<ZNRecord>> nCopies(keys.size(), null));
for (int i = 0; i < keys.size(); i++) {
PropertyKey key = keys.get(i);
PropertyType type = key.getType();
String path = key.getPath();
paths.add(path);
options = constructOptions(type);
HelixProperty value = children.get(i);
switch (type) {
case EXTERNALVIEW:
if (value.getBucketSize() == 0) {
records.add(value.getRecord());
} else {
ZNRecord metaRecord = new ZNRecord(value.getId());
metaRecord.setSimpleFields(value.getRecord().getSimpleFields());
records.add(metaRecord);
ZNRecordBucketizer bucketizer = new ZNRecordBucketizer(value.getBucketSize());
Map<String, ZNRecord> map = bucketizer.bucketize(value.getRecord());
List<String> childBucketizedPaths = new ArrayList<String>();
List<ZNRecord> childBucketizedRecords = new ArrayList<ZNRecord>();
for (String bucketName : map.keySet()) {
childBucketizedPaths.add(path + "/" + bucketName);
childBucketizedRecords.add(map.get(bucketName));
}
bucketizedPaths.set(i, childBucketizedPaths);
bucketizedRecords.set(i, childBucketizedRecords);
}
break;
case STATEMODELDEFS:
if (value.isValid()) {
records.add(value.getRecord());
}
break;
default:
records.add(value.getRecord());
break;
}
}
// set non-bucketized nodes or parent nodes of bucketized nodes
boolean success[] = _baseDataAccessor.setChildren(paths, records, options);
// set bucketized nodes
List<String> allBucketizedPaths = new ArrayList<String>();
List<ZNRecord> allBucketizedRecords = new ArrayList<ZNRecord>();
for (int i = 0; i < keys.size(); i++) {
if (success[i] && bucketizedPaths.get(i) != null) {
allBucketizedPaths.addAll(bucketizedPaths.get(i));
allBucketizedRecords.addAll(bucketizedRecords.get(i));
}
}
// TODO: set success accordingly
_baseDataAccessor.setChildren(allBucketizedPaths, allBucketizedRecords, options);
return success;
}