org.elasticsearch.cluster.metadata.MetaData.version()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(14.3k)|赞(0)|评价(0)|浏览(112)

本文整理了Java中org.elasticsearch.cluster.metadata.MetaData.version()方法的一些代码示例,展示了MetaData.version()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。MetaData.version()方法的具体详情如下:
包路径:org.elasticsearch.cluster.metadata.MetaData
类名称:MetaData
方法名:version

MetaData.version介绍

暂无

代码示例

代码示例来源:origin: org.elasticsearch/elasticsearch

sb.append("state uuid: ").append(stateUUID).append("\n");
sb.append("from_diff: ").append(wasReadFromDiff).append("\n");
sb.append("meta data version: ").append(metaData.version()).append("\n");
final String TAB = "   ";
for (IndexMetaData indexMetaData : metaData) {

代码示例来源:origin: org.elasticsearch/elasticsearch

builder.field("version", metaData.version());
builder.field("cluster_uuid", metaData.clusterUUID);

代码示例来源:origin: org.elasticsearch/elasticsearch

return clusterState.metaData().version() >= request.waitForMetaDataVersion();
};
final ClusterStateObserver observer =

代码示例来源:origin: org.elasticsearch/elasticsearch

if (electedGlobalState == null) {
  electedGlobalState = nodeState.metaData();
} else if (nodeState.metaData().version() > electedGlobalState.version()) {
  electedGlobalState = nodeState.metaData();

代码示例来源:origin: org.elasticsearch/elasticsearch

private ClusterState patchVersions(ClusterState previousClusterState, ClusterTasksResult<?> executionResult) {
  ClusterState newClusterState = executionResult.resultingState;
  if (previousClusterState != newClusterState) {
    // only the master controls the version numbers
    Builder builder = ClusterState.builder(newClusterState).incrementVersion();
    if (previousClusterState.routingTable() != newClusterState.routingTable()) {
      builder.routingTable(RoutingTable.builder(newClusterState.routingTable())
        .version(newClusterState.routingTable().version() + 1).build());
    }
    if (previousClusterState.metaData() != newClusterState.metaData()) {
      builder.metaData(MetaData.builder(newClusterState.metaData()).version(newClusterState.metaData().version() + 1));
    }
    newClusterState = builder.build();
  }
  return newClusterState;
}

代码示例来源:origin: harbby/presto-connectors

public String prettyPrint() {
  StringBuilder sb = new StringBuilder();
  sb.append("version: ").append(version).append("\n");
  sb.append("state uuid: ").append(stateUUID).append("\n");
  sb.append("from_diff: ").append(wasReadFromDiff).append("\n");
  sb.append("meta data version: ").append(metaData.version()).append("\n");
  sb.append(blocks().prettyPrint());
  sb.append(nodes().prettyPrint());
  sb.append(routingTable().prettyPrint());
  sb.append(getRoutingNodes().prettyPrint());
  return sb.toString();
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

/**
 * Try to read fresher metadata from cassandra.
 */

public MetaData checkForNewMetaData(Long expectedVersion) throws NoPersistedMetaDataException {
  MetaData localMetaData = readMetaDataAsRow(ConsistencyLevel.ONE);
  if (localMetaData != null && localMetaData.version() >= expectedVersion) {
    return localMetaData;
  }
  if (localMetaData == null) {
    throw new NoPersistedMetaDataException("No cluster metadata in "+this.elasticAdminKeyspaceName);
  }
  MetaData quorumMetaData = readMetaDataAsRow(this.metadataReadCL);
  if (quorumMetaData.version() >= expectedVersion) {
    return quorumMetaData;
  }
  return null;
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

public void writeMetaDataAsComment(MetaData metaData) throws ConfigurationException, IOException {
  writeMetaDataAsComment( MetaData.Builder.toXContent(metaData, MetaData.CASSANDRA_FORMAT_PARAMS), metaData.version());
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

Void insertFirstMetaRow(final MetaData metadata, final String metaDataString) {
  try {
    logger.info(insertMetadataQuery);
    process(ConsistencyLevel.LOCAL_ONE, ClientState.forInternalCalls(), insertMetadataQuery,
      DatabaseDescriptor.getClusterName(), UUID.fromString(StorageService.instance.getLocalHostId()), metadata.version(), metaDataString);
  } catch (Exception e) {
    logger.error((Supplier<?>) () -> new ParameterizedMessage("Failed insert first row into table {}.{}", elasticAdminKeyspaceName, ELASTIC_ADMIN_METADATA_TABLE), e);
    throw e;
  }
  return null;
}

代码示例来源:origin: harbby/presto-connectors

/**
 * Writes the global state, *without* the indices states.
 */
void writeGlobalState(String reason, MetaData metaData) throws Exception {
  logger.trace("[_global] writing state, reason [{}]",  reason);
  try {
    globalStateFormat.write(metaData, metaData.version(), nodeEnv.nodeDataPaths());
  } catch (Throwable ex) {
    logger.warn("[_global]: failed to write global state", ex);
    throw new IOException("failed to write global state", ex);
  }
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

@Override
public void userKeyspaceInitialized() {
  if (node != null && !bootstrapping) {
    // try to read a newer metadata from the local elastic_admin.metadata table.
    MetaData metaData = this.node.clusterService().readInternalMetaDataAsRow();
    if (metaData != null && metaData.version() > systemMetadata.version()) {
      try {
        logger.warn("Refreshing newer metadata found in {}.{} metaData uuid={} version={}", 
            ClusterService.ELASTIC_ADMIN_KEYSPACE, ClusterService.ELASTIC_ADMIN_METADATA_TABLE,
            metaData.clusterUUID(), metaData.version());
        node.clusterService().submitRefreshMetaData(metaData, "metadatarefresh");
        
        if (metaData.clusterUUID() == this.node.clusterService().localNode().getId()) {
          logger.warn("Saving the new metadata metaData.uuid={} version={} in the CQL schema",
              metaData.clusterUUID(), metaData.version());
          node.clusterService().writeMetaDataAsComment(metaData);
        }
      } catch (Exception e) {
        logger.error("Unexpected error",e);
      }
    }
    
    node.clusterService().submitNumberOfShardsAndReplicasUpdate("user-keyspaces-initialized");
  }
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

public void publishX2(ClusterState clusterState, boolean force) {
  String clusterStateSting = clusterState.metaData().clusterUUID() + '/' + clusterState.metaData().version();
  if (Gossiper.instance.isEnabled() || force) {
    Gossiper.instance.addLocalApplicationState(ELASTIC_META_DATA, StorageService.instance.valueFactory.datacenter(clusterStateSting));
    if (logger.isTraceEnabled())
      logger.trace("X2={} published in gossip state", clusterStateSting);
  }
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

@Override
  public void clusterChanged(ClusterChangedEvent event) {
    if (event.metaDataChanged()) {
      final long lostTimeMillis = System.currentTimeMillis() - resubmitTimeMillis;
      Priority priority = Priority.URGENT;
      TimeValue timeout = TimeValue.timeValueSeconds(30*1000 - lostTimeMillis);
      ClusterStateTaskConfig config;
      Map<Object, ClusterStateTaskListener> map = new HashMap<Object, ClusterStateTaskListener>();
      for (final ClusterServiceTaskBatcher.UpdateTask updateTask : taskInputs.updateTasks) {
        map.put( updateTask.task, updateTask.listener);
        priority = updateTask.priority();
        if (updateTask.task instanceof ClusterStateUpdateTask) {
          timeout = TimeValue.timeValueMillis( ((ClusterStateUpdateTask)updateTask.task).timeout().getMillis() - lostTimeMillis);
        } else if (updateTask.task instanceof ClusterStateUpdateRequest) {
          timeout = TimeValue.timeValueMillis( ((ClusterStateUpdateRequest)updateTask.task).masterNodeTimeout().getMillis() - lostTimeMillis);
        }
      }
      logger.warn("metadata.version={} => resubmit delayed update source={} tasks={} priority={} remaing timeout={}",
          ClusterService.this.state().metaData().version(), taskInputs.summary, taskInputs.updateTasks, priority, timeout);
      ClusterService.this.submitStateUpdateTasks(taskInputs.summary, map, ClusterStateTaskConfig.build(priority, timeout), taskInputs.executor);
      ClusterService.this.removeListener(this); // replay only once.
    }
  }
});

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

@Override
public void applyClusterState(ClusterChangedEvent event) {
  
  // create cassandra 2i on coordinator node only.
  for(Pair<String,MappingMetaData> mapping : updatedMapping) {
    String index = mapping.left;
    IndexMetaData indexMetaData = event.state().metaData().index(index);
    if (indexMetaData != null) {
      try {
        String clazz = indexMetaData.getSettings().get(IndexMetaData.SETTING_SECONDARY_INDEX_CLASS, event.state().metaData().settings().get(ClusterService.SETTING_CLUSTER_SECONDARY_INDEX_CLASS, ClusterService.defaultSecondaryIndexClass.getName()));
        logger.debug("Creating secondary indices for table={}.{} with class={}", indexMetaData.keyspace(), mapping.right.type(),clazz);
        this.clusterService.createSecondaryIndex(indexMetaData.keyspace(), mapping.right, clazz);
      } catch (IOException e) {
        logger.error("Failed to create secondary indices for table={}.{}", e, indexMetaData.keyspace(), mapping.right.type());
      }
    } else {
      logger.warn("Index [{}] not found in new state metadata version={}", index, event.state().metaData().version());
    }
  }
  if (updatedMapping.size() > 0)
    updatedMapping.clear();
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

@Override
public ClusterTasksResult<LocalClusterUpdateTask> execute(ClusterState currentState) {
  if (currentState.supersedes(nodeSpecificClusterState)) {
    return unchanged();
  }
  if (currentState.blocks().hasGlobalBlock(discoverySettings.getNoMasterBlock())) {
    // its a fresh update from the master as we transition from a start of not having a master to having one
    logger.debug("got first state from fresh master [{}]", nodeSpecificClusterState.nodes().getMasterNodeId());
    return newState(nodeSpecificClusterState);
  }
  ClusterState.Builder builder = ClusterState.builder(nodeSpecificClusterState);
  // if the routing table did not change, use the original one
  if (nodeSpecificClusterState.routingTable().version() == currentState.routingTable().version()) {
    builder.routingTable(currentState.routingTable());
  }
  if (nodeSpecificClusterState.metaData().version() == currentState.metaData().version()) {
    builder.metaData(currentState.metaData());
  }
  return newState(builder.build());
}

代码示例来源:origin: harbby/presto-connectors

@Override
public ClusterState execute(ClusterState currentState) {
  if (nodeSpecificClusterState.version() < currentState.version() && Objects.equals(nodeSpecificClusterState.nodes().masterNodeId(), currentState.nodes().masterNodeId())) {
    return currentState;
  }
  if (currentState.blocks().hasGlobalBlock(discoverySettings.getNoMasterBlock())) {
    // its a fresh update from the master as we transition from a start of not having a master to having one
    logger.debug("got first state from fresh master [{}]", nodeSpecificClusterState.nodes().masterNodeId());
    return nodeSpecificClusterState;
  }
  ClusterState.Builder builder = ClusterState.builder(nodeSpecificClusterState);
  // if the routing table did not change, use the original one
  if (nodeSpecificClusterState.routingTable().version() == currentState.routingTable().version()) {
    builder.routingTable(currentState.routingTable());
  }
  if (nodeSpecificClusterState.metaData().version() == currentState.metaData().version()) {
    builder.metaData(currentState.metaData());
  }
  return builder.build();
}

代码示例来源:origin: org.fusesource.insight/insight-elasticsearch

@Override
public ClusterState execute(ClusterState currentState) {
  latestDiscoNodes = newState.nodes();
  ClusterState.Builder builder = ClusterState.builder().state(newState);
  // if the routing table did not change, use the original one
  if (newState.routingTable().version() == currentState.routingTable().version()) {
    builder.routingTable(currentState.routingTable());
  }
  // same for metadata
  if (newState.metaData().version() == currentState.metaData().version()) {
    builder.metaData(currentState.metaData());
  } else {
    // if its not the same version, only copy over new indices or ones that changed the version
    MetaData.Builder metaDataBuilder = MetaData.builder().metaData(newState.metaData()).removeAllIndices();
    for (IndexMetaData indexMetaData : newState.metaData()) {
      IndexMetaData currentIndexMetaData = currentState.metaData().index(indexMetaData.index());
      if (currentIndexMetaData == null || currentIndexMetaData.version() != indexMetaData.version()) {
        metaDataBuilder.put(indexMetaData, false);
      } else {
        metaDataBuilder.put(currentIndexMetaData, false);
      }
    }
    builder.metaData(metaDataBuilder);
  }
  return builder.build();
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

private ClusterState patchVersions(ClusterState previousClusterState, ClusterTasksResult<?> executionResult) {
  ClusterState newClusterState = executionResult.resultingState;
  if (previousClusterState != newClusterState) {
    // only the master controls the version numbers
    Builder builder = ClusterState.builder(newClusterState).incrementVersion();
    if (previousClusterState.routingTable() != newClusterState.routingTable()) {
      builder.routingTable(RoutingTable.builder(newClusterState.routingTable())
        .version(newClusterState.routingTable().version() + 1).build());
    }
    if (previousClusterState.metaData() != newClusterState.metaData()) {
      builder.metaData(MetaData.builder(newClusterState.metaData()).version(newClusterState.metaData().version() + 1));
    }
    newClusterState = builder.build();
  }
  return newClusterState;
}

代码示例来源:origin: apache/servicemix-bundles

private ClusterState patchVersions(ClusterState previousClusterState, ClusterTasksResult<?> executionResult) {
  ClusterState newClusterState = executionResult.resultingState;
  if (previousClusterState != newClusterState) {
    // only the master controls the version numbers
    Builder builder = ClusterState.builder(newClusterState).incrementVersion();
    if (previousClusterState.routingTable() != newClusterState.routingTable()) {
      builder.routingTable(RoutingTable.builder(newClusterState.routingTable())
        .version(newClusterState.routingTable().version() + 1).build());
    }
    if (previousClusterState.metaData() != newClusterState.metaData()) {
      builder.metaData(MetaData.builder(newClusterState.metaData()).version(newClusterState.metaData().version() + 1));
    }
    newClusterState = builder.build();
  }
  return newClusterState;
}

代码示例来源:origin: harbby/presto-connectors

/** As of 2.0 we require units for time and byte-sized settings. This methods adds default units to any
 * persistent settings and template settings that don't specify a unit.
 **/
public static MetaData addDefaultUnitsIfNeeded(ESLogger logger, MetaData metaData) {
  Settings newPersistentSettings = addDefaultUnitsIfNeeded(
      CLUSTER_TIME_SETTINGS, CLUSTER_BYTES_SIZE_SETTINGS, logger, metaData.persistentSettings());
  ImmutableOpenMap<String, IndexTemplateMetaData> templates = updateTemplates(logger, metaData.getTemplates());
  if (newPersistentSettings != null || templates != null) {
    return new MetaData(
        metaData.clusterUUID(),
        metaData.version(),
        metaData.transientSettings(),
        MoreObjects.firstNonNull(newPersistentSettings, metaData.persistentSettings()),
        metaData.getIndices(),
        MoreObjects.firstNonNull(templates, metaData.getTemplates()),
        metaData.getCustoms(),
        metaData.concreteAllIndices(),
        metaData.concreteAllOpenIndices(),
        metaData.concreteAllClosedIndices(),
        metaData.getAliasAndIndexLookup());
  } else {
    // No changes:
    return metaData;
  }
}

相关文章

微信公众号

最新文章

更多