当前位置: 首页>>代码示例>>Java>>正文


Java ZNRecord.setSimpleFields方法代码示例

本文整理汇总了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;
}
 
开发者ID:apache,项目名称:helix,代码行数:24,代码来源:Message.java

示例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);
    }
  }
}
 
开发者ID:apache,项目名称:helix,代码行数:27,代码来源:TestZkHelixPropertyStore.java

示例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;
}
 
开发者ID:linkedin,项目名称:pinot,代码行数:24,代码来源:TableConfig.java

示例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;
}
 
开发者ID:Hanmourang,项目名称:Pinot,代码行数:14,代码来源:AbstractTableConfig.java

示例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);
  

}
 
开发者ID:kishoreg,项目名称:fullmatix,代码行数:15,代码来源:TestIdealState.java

示例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);
      }
    }
  }
}
 
开发者ID:apache,项目名称:helix,代码行数:32,代码来源:ParticipantHealthReportCollectorImpl.java

示例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;
}
 
开发者ID:apache,项目名称:helix,代码行数:45,代码来源:ZKHelixDataAccessor.java

示例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;
}
 
开发者ID:apache,项目名称:helix,代码行数:74,代码来源:ZKHelixDataAccessor.java


注:本文中的org.apache.helix.ZNRecord.setSimpleFields方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。