本文整理了Java中org.apache.helix.ZNRecord.getListFields()
方法的一些代码示例,展示了ZNRecord.getListFields()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZNRecord.getListFields()
方法的具体详情如下:
包路径:org.apache.helix.ZNRecord
类名称:ZNRecord
方法名:getListFields
[英]Get all fields whose values are a list of values
[中]获取其值为值列表的所有字段
代码示例来源:origin: apache/incubator-pinot
public static SegmentMergeLineage fromZNRecord(ZNRecord record) {
String tableNameWithType = record.getId();
Map<String, List<String>> segmentGroupLineageMap = record.getListFields();
Map<Integer, Map<String, List<String>>> groupToSegmentsMap = new HashMap<>();
for (Map.Entry<String, Map<String, String>> entry : record.getMapFields().entrySet()) {
String levelKey = entry.getKey();
Integer level = Integer.parseInt(levelKey.substring(LEVEL_KEY_PREFIX.length()));
Map<String, List<String>> groupToSegmentsForLevel = new HashMap<>();
for (Map.Entry<String, String> groupEntry : entry.getValue().entrySet()) {
String groupId = groupEntry.getKey();
String segmentsString = groupEntry.getValue();
List<String> segments = Arrays.asList(segmentsString.split(SEGMENT_DELIMITER));
groupToSegmentsForLevel.put(groupId, new ArrayList<>(segments));
}
groupToSegmentsMap.put(level, groupToSegmentsForLevel);
}
return new SegmentMergeLineage(tableNameWithType, segmentGroupLineageMap, groupToSegmentsMap);
}
代码示例来源:origin: apache/incubator-pinot
/**
* Read the replica group partition assignment from the property store
* @param tableNameWithType a table name
* @return Replica group partition assignment
*/
public ReplicaGroupPartitionAssignment getReplicaGroupPartitionAssignment(String tableNameWithType) {
String path = ZKMetadataProvider.constructPropertyStorePathForInstancePartitions(tableNameWithType);
ZNRecord replicaGroupPartitionAssignment = _propertyStore.get(path, null, AccessOption.PERSISTENT);
ReplicaGroupPartitionAssignment partitionAssignment = null;
if (replicaGroupPartitionAssignment != null) {
partitionAssignment =
new ReplicaGroupPartitionAssignment(tableNameWithType, replicaGroupPartitionAssignment.getListFields());
}
return partitionAssignment;
}
代码示例来源:origin: apache/incubator-pinot
Map<String, List<String>> listFieldMap1 = record1.getListFields();
Map<String, List<String>> listFieldMap2 = record2.getListFields();
if (listFieldMap1.size() != listFieldMap2.size()) {
return false;
代码示例来源:origin: apache/helix
/**
* Get the preference lists for all partitions
*
* @return map of lists of instances for all partitions in this resource.
*/
public Map<String, List<String>> getPreferenceLists() {
return _record.getListFields();
}
代码示例来源:origin: org.apache.helix/helix-core
/**
* Get the preference lists for all partitions
*
* @return map of lists of instances for all partitions in this resource.
*/
public Map<String, List<String>> getPreferenceLists() {
return _record.getListFields();
}
代码示例来源:origin: org.apache.helix/helix-core
/**
* Get the user-specified preference lists for all partitions
*
* @return map of lists of instances for all partitions in this resource.
*/
public Map<String, List<String>> getPreferenceLists() {
return _record.getListFields();
}
代码示例来源:origin: apache/helix
/**
* Get the user-specified preference lists for all partitions
*
* @return map of lists of instances for all partitions in this resource.
*/
public Map<String, List<String>> getPreferenceLists() {
return _record.getListFields();
}
代码示例来源:origin: apache/helix
private static void removeListValue(ZNRecord record, String key) {
if (record == null || record.getListFields() == null) {
record.getListFields().remove(key);
}
}
代码示例来源:origin: org.apache.helix/helix-core
private static void removeListValue(ZNRecord record, String key) {
if (record == null || record.getListFields() == null) {
record.getListFields().remove(key);
}
}
代码示例来源:origin: org.apache.helix/helix-core
private static void resetZNRecord(ZNRecord record) {
if (record != null) {
record.getSimpleFields().clear();
record.getListFields().clear();
record.getMapFields().clear();
}
}
代码示例来源:origin: apache/helix
private static void resetZNRecord(ZNRecord record) {
if (record != null) {
record.getSimpleFields().clear();
record.getListFields().clear();
record.getMapFields().clear();
}
}
代码示例来源:origin: org.apache.helix/helix-core
@Override
public ZNRecord update(ZNRecord current) {
if (current != null) {
// Overwrite MapFields and ListFields items with the same key.
// Note that default merge will keep old values in the maps or lists unchanged, which is not desired.
current.getMapFields().clear();
current.getMapFields().putAll(idealState.getRecord().getMapFields());
current.getListFields().putAll(idealState.getRecord().getListFields());
}
return current;
}
}, idealState);
代码示例来源:origin: apache/helix
@Override
public ZNRecord update(ZNRecord current) {
if (current != null) {
// Overwrite MapFields and ListFields items with the same key.
// Note that default merge will keep old values in the maps or lists unchanged, which is not desired.
current.getMapFields().clear();
current.getMapFields().putAll(idealState.getRecord().getMapFields());
current.getListFields().putAll(idealState.getRecord().getListFields());
}
return current;
}
}, idealState);
代码示例来源:origin: org.apache.helix/helix-core
/**
* Get all of the partitions
* @return a set of partition names
*/
public Set<String> getPartitionSet() {
if (getRebalanceMode() == RebalanceMode.SEMI_AUTO
|| getRebalanceMode() == RebalanceMode.FULL_AUTO
|| getRebalanceMode() == RebalanceMode.USER_DEFINED
|| getRebalanceMode() == RebalanceMode.TASK) {
return _record.getListFields().keySet();
} else if (getRebalanceMode() == RebalanceMode.CUSTOMIZED) {
return _record.getMapFields().keySet();
} else {
logger.error("Invalid ideal state mode:" + getResourceName());
return Collections.emptySet();
}
}
代码示例来源:origin: apache/helix
private static void setZNRecord(ZNRecord diff, ZNRecord record, String keySuffix) {
if (diff == null || record == null) {
return;
}
for (String key : record.getSimpleFields().keySet()) {
diff.setSimpleField(key + "/" + keySuffix, record.getSimpleField(key));
}
for (String key : record.getListFields().keySet()) {
diff.setListField(key + "/" + keySuffix, record.getListField(key));
}
for (String key : record.getMapFields().keySet()) {
diff.setMapField(key + "/" + keySuffix, record.getMapField(key));
}
}
代码示例来源:origin: org.apache.helix/helix-core
private static void setZNRecord(ZNRecord diff, ZNRecord record, String keySuffix) {
if (diff == null || record == null) {
return;
}
for (String key : record.getSimpleFields().keySet()) {
diff.setSimpleField(key + "/" + keySuffix, record.getSimpleField(key));
}
for (String key : record.getListFields().keySet()) {
diff.setListField(key + "/" + keySuffix, record.getListField(key));
}
for (String key : record.getMapFields().keySet()) {
diff.setMapField(key + "/" + keySuffix, record.getMapField(key));
}
}
代码示例来源:origin: apache/helix
private Set<String> getPartitionsAssignedtoInstance(String cluster, String dbName, String instance) {
HelixAdmin admin = _gSetupTool.getClusterManagementTool();
Set<String> partitionSet = new HashSet<String>();
IdealState is = admin.getResourceIdealState(cluster, dbName);
for (String partition : is.getRecord().getListFields().keySet()) {
List<String> assignments = is.getRecord().getListField(partition);
for (String ins : assignments) {
if (ins.equals(instance)) {
partitionSet.add(partition);
}
}
}
return partitionSet;
}
代码示例来源:origin: apache/helix
private void verifySwapInstance(HelixDataAccessor dataAccessor, String resourceName,
IdealState oldIs, String oldInstance, String newInstance, boolean isFullAuto) {
IdealState newIs = dataAccessor.getProperty(dataAccessor.keyBuilder().idealStates(resourceName));
if (isFullAuto) {
// Full auto resource should not contain new instance as it's not live yet
for (String key : newIs.getRecord().getMapFields().keySet()) {
Assert.assertFalse(newIs.getRecord().getMapField(key).keySet().contains(newInstance));
}
for (String key : newIs.getRecord().getListFields().keySet()) {
Assert.assertFalse(newIs.getRecord().getListField(key).contains(newInstance));
}
} else {
verifyIdealStateWithSwappedInstance(oldIs, newIs, oldInstance, newInstance);
}
}
代码示例来源:origin: org.apache.helix/helix-core
private IdealState generateNewIdealState(String resourceName, IdealState currentIdealState,
ZNRecord newMapping) {
IdealState newIdealState = new IdealState(resourceName);
newIdealState.getRecord().setSimpleFields(currentIdealState.getRecord().getSimpleFields());
newIdealState.setRebalanceMode(currentIdealState.getRebalanceMode());
newIdealState.getRecord().setListFields(newMapping.getListFields());
return newIdealState;
}
代码示例来源:origin: apache/helix
private IdealState generateNewIdealState(String resourceName, IdealState currentIdealState,
ZNRecord newMapping) {
IdealState newIdealState = new IdealState(resourceName);
newIdealState.getRecord().setSimpleFields(currentIdealState.getRecord().getSimpleFields());
newIdealState.setRebalanceMode(currentIdealState.getRebalanceMode());
newIdealState.getRecord().setListFields(newMapping.getListFields());
return newIdealState;
}
内容来源于网络,如有侵权,请联系作者删除!