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

x33g5p2x  于2022-01-21 转载在 其他  
字(11.1k)|赞(0)|评价(0)|浏览(70)

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

IndexMetaData.primaryTerm介绍

[英]The term of the current selected primary. This is a non-negative number incremented when a primary shard is assigned after a full cluster restart or a replica shard is promoted to a primary. Note: since we increment the term every time a shard is assigned, the term for any operational shard (i.e., a shard that can be indexed into) is larger than 0. See IndexMetaDataUpdater#applyChanges.
[中]当前所选主设备的术语。这是一个非负数,在完全重新启动群集后分配主分片或将副本分片升级为主分片时递增。注意:由于我们在每次分配碎片时都会增加术语,因此任何操作碎片(即,可以索引到的碎片)的术语都大于0。请参阅IndexMetaDataUpdater#applyChanges。

代码示例

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

for (int shard = 0; shard < indexMetaData.getNumberOfShards(); shard++) {
  sb.append(TAB).append(TAB).append(shard).append(": ");
  sb.append("p_term [").append(indexMetaData.primaryTerm(shard)).append("], ");
  sb.append("isa_ids ").append(indexMetaData.inSyncAllocationIds(shard)).append("\n");

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

/**
 * Increases the primary term if {@link #increasePrimaryTerm} was called for this shard id.
 */
private IndexMetaData.Builder updatePrimaryTerm(IndexMetaData oldIndexMetaData, IndexMetaData.Builder indexMetaDataBuilder,
                        ShardId shardId, Updates updates) {
  if (updates.increaseTerm) {
    if (indexMetaDataBuilder == null) {
      indexMetaDataBuilder = IndexMetaData.builder(oldIndexMetaData);
    }
    indexMetaDataBuilder.primaryTerm(shardId.id(), oldIndexMetaData.primaryTerm(shardId.id()) + 1);
  }
  return indexMetaDataBuilder;
}

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

long currentPrimaryTerm = indexMetaData.primaryTerm(task.shardId.id());
if (currentPrimaryTerm != task.primaryTerm) {
  assert currentPrimaryTerm > task.primaryTerm : "received a primary term with a higher term than in the " +
    "current cluster state (received [" + task.primaryTerm + "] but current is [" + currentPrimaryTerm + "])";
  logger.debug("{} failing shard failed task [{}] (primary term {} does not match current term {})", task.shardId,
    task, task.primaryTerm, indexMetaData.primaryTerm(task.shardId.id()));
  batchResultBuilder.failure(task, new NoLongerPrimaryShardException(
    task.shardId,

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

builder.field(Integer.toString(shard), indexMetaData.primaryTerm(shard));

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

final long primaryTerm = indexMetaData.primaryTerm(shard.shardId().id());
final Set<String> inSyncIds = indexMetaData.inSyncAllocationIds(shard.shardId().id());
final IndexShardRoutingTable indexShardRoutingTable = routingTable.shardRoutingTable(shardRouting.shardId());

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

builder.value(indexMetaData.primaryTerm(i));

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

pendingPrimaryTerm = indexSettings.getIndexMetaData().primaryTerm(shardId.id());
operationPrimaryTerm = pendingPrimaryTerm;
refreshListeners = buildRefreshListeners();

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

private boolean isTranslogClean(ShardPath shardPath, String translogUUID) throws IOException {
  // perform clean check of translog instead of corrupted marker file
  boolean clean = true;
  try {
    final Path translogPath = shardPath.resolveTranslog();
    final long translogGlobalCheckpoint = Translog.readGlobalCheckpoint(translogPath, translogUUID);
    final IndexMetaData indexMetaData =
      IndexMetaData.FORMAT.loadLatestState(logger, namedXContentRegistry, shardPath.getDataPath().getParent());
    final IndexSettings indexSettings = new IndexSettings(indexMetaData, Settings.EMPTY);
    final TranslogConfig translogConfig = new TranslogConfig(shardPath.getShardId(), translogPath,
      indexSettings, BigArrays.NON_RECYCLING_INSTANCE);
    long primaryTerm = indexSettings.getIndexMetaData().primaryTerm(shardPath.getShardId().id());
    final TranslogDeletionPolicy translogDeletionPolicy =
      new TranslogDeletionPolicy(indexSettings.getTranslogRetentionSize().getBytes(),
        indexSettings.getTranslogRetentionAge().getMillis());
    try (Translog translog = new Translog(translogConfig, translogUUID,
      translogDeletionPolicy, () -> translogGlobalCheckpoint, () -> primaryTerm);
       Translog.Snapshot snapshot = translog.newSnapshot()) {
      while (snapshot.next() != null) {
        // just iterate over snapshot
      }
    }
  } catch (TranslogCorruptedException e) {
    clean = false;
  }
  return clean;
}

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

indexMetaDataBuilder.primaryTerm(shardId, tmpImd.primaryTerm(shardId));

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

for (int shard = 0; shard < indexMetaData.getNumberOfShards(); shard++) {
  sb.append(TAB).append(TAB).append(shard).append(": ");
  sb.append("p_term [").append(indexMetaData.primaryTerm(shard)).append("], ");
  sb.append("isa_ids ").append(indexMetaData.inSyncAllocationIds(shard)).append("\n");

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

for (int shard = 0; shard < indexMetaData.getNumberOfShards(); shard++) {
  sb.append(TAB).append(TAB).append(shard).append(": ");
  sb.append("p_term [").append(indexMetaData.primaryTerm(shard)).append("], ");
  sb.append("isa_ids ").append(indexMetaData.inSyncAllocationIds(shard)).append("\n");

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

for (int shard = 0; shard < indexMetaData.getNumberOfShards(); shard++) {
  sb.append(TAB).append(TAB).append(shard).append(": ");
  sb.append("p_term [").append(indexMetaData.primaryTerm(shard)).append("], ");
  sb.append("isa_ids ").append(indexMetaData.inSyncAllocationIds(shard)).append("\n");

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

/**
 * Increases the primary term if {@link #increasePrimaryTerm} was called for this shard id.
 */
private IndexMetaData.Builder updatePrimaryTerm(IndexMetaData oldIndexMetaData, IndexMetaData.Builder indexMetaDataBuilder,
                        ShardId shardId, Updates updates) {
  if (updates.increaseTerm) {
    if (indexMetaDataBuilder == null) {
      indexMetaDataBuilder = IndexMetaData.builder(oldIndexMetaData);
    }
    indexMetaDataBuilder.primaryTerm(shardId.id(), oldIndexMetaData.primaryTerm(shardId.id()) + 1);
  }
  return indexMetaDataBuilder;
}

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

/**
 * Increases the primary term if {@link #increasePrimaryTerm} was called for this shard id.
 */
private IndexMetaData.Builder updatePrimaryTerm(IndexMetaData oldIndexMetaData, IndexMetaData.Builder indexMetaDataBuilder,
                        ShardId shardId, Updates updates) {
  if (updates.increaseTerm) {
    if (indexMetaDataBuilder == null) {
      indexMetaDataBuilder = IndexMetaData.builder(oldIndexMetaData);
    }
    indexMetaDataBuilder.primaryTerm(shardId.id(), oldIndexMetaData.primaryTerm(shardId.id()) + 1);
  }
  return indexMetaDataBuilder;
}

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

/**
 * Increases the primary term if {@link #increasePrimaryTerm} was called for this shard id.
 */
private IndexMetaData.Builder updatePrimaryTerm(IndexMetaData oldIndexMetaData, IndexMetaData.Builder indexMetaDataBuilder,
                        ShardId shardId, Updates updates) {
  if (updates.increaseTerm) {
    if (indexMetaDataBuilder == null) {
      indexMetaDataBuilder = IndexMetaData.builder(oldIndexMetaData);
    }
    indexMetaDataBuilder.primaryTerm(shardId.id(), oldIndexMetaData.primaryTerm(shardId.id()) + 1);
  }
  return indexMetaDataBuilder;
}

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

builder.value(indexMetaData.primaryTerm(i));

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

@Override
public synchronized void updateMetaData(final IndexMetaData metadata) {
  final Translog.Durability oldTranslogDurability = indexSettings.getTranslogDurability();
  if (indexSettings.updateIndexMetaData(metadata)) {
    for (final IndexShard shard : this.shards.values()) {
      try {
        shard.onSettingsChanged();
      } catch (Exception e) {
        logger.warn(
          (Supplier<?>) () -> new ParameterizedMessage(
            "[{}] failed to notify shard about setting change", shard.shardId().id()), e);
      }
    }
    if (refreshTask.getInterval().equals(indexSettings.getRefreshInterval()) == false) {
      rescheduleRefreshTasks();
    }
    final Translog.Durability durability = indexSettings.getTranslogDurability();
    if (durability != oldTranslogDurability) {
      rescheduleFsyncTask(durability);
    }
  }
  // update primary terms
  for (final IndexShard shard : this.shards.values()) {
    shard.updatePrimaryTerm(metadata.primaryTerm(shard.shardId().id()));
  }
}

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

final long primaryTerm = indexMetaData.primaryTerm(shard.shardId().id());
final Set<String> inSyncIds = indexMetaData.inSyncAllocationIds(shard.shardId().id());
final IndexShardRoutingTable indexShardRoutingTable = routingTable.shardRoutingTable(shardRouting.shardId());

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

private boolean isTranslogClean(ShardPath shardPath, String translogUUID) throws IOException {
  // perform clean check of translog instead of corrupted marker file
  boolean clean = true;
  try {
    final Path translogPath = shardPath.resolveTranslog();
    final long translogGlobalCheckpoint = Translog.readGlobalCheckpoint(translogPath, translogUUID);
    final IndexMetaData indexMetaData =
      IndexMetaData.FORMAT.loadLatestState(logger, namedXContentRegistry, shardPath.getDataPath().getParent());
    final IndexSettings indexSettings = new IndexSettings(indexMetaData, Settings.EMPTY);
    final TranslogConfig translogConfig = new TranslogConfig(shardPath.getShardId(), translogPath,
      indexSettings, BigArrays.NON_RECYCLING_INSTANCE);
    long primaryTerm = indexSettings.getIndexMetaData().primaryTerm(shardPath.getShardId().id());
    final TranslogDeletionPolicy translogDeletionPolicy =
      new TranslogDeletionPolicy(indexSettings.getTranslogRetentionSize().getBytes(),
        indexSettings.getTranslogRetentionAge().getMillis());
    try (Translog translog = new Translog(translogConfig, translogUUID,
      translogDeletionPolicy, () -> translogGlobalCheckpoint, () -> primaryTerm);
       Translog.Snapshot snapshot = translog.newSnapshot()) {
      while (snapshot.next() != null) {
        // just iterate over snapshot
      }
    }
  } catch (TranslogCorruptedException e) {
    clean = false;
  }
  return clean;
}

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

private boolean isTranslogClean(ShardPath shardPath, String translogUUID) throws IOException {
  // perform clean check of translog instead of corrupted marker file
  boolean clean = true;
  try {
    final Path translogPath = shardPath.resolveTranslog();
    final long translogGlobalCheckpoint = Translog.readGlobalCheckpoint(translogPath, translogUUID);
    final IndexMetaData indexMetaData =
      IndexMetaData.FORMAT.loadLatestState(logger, namedXContentRegistry, shardPath.getDataPath().getParent());
    final IndexSettings indexSettings = new IndexSettings(indexMetaData, Settings.EMPTY);
    final TranslogConfig translogConfig = new TranslogConfig(shardPath.getShardId(), translogPath,
      indexSettings, BigArrays.NON_RECYCLING_INSTANCE);
    long primaryTerm = indexSettings.getIndexMetaData().primaryTerm(shardPath.getShardId().id());
    final TranslogDeletionPolicy translogDeletionPolicy =
      new TranslogDeletionPolicy(indexSettings.getTranslogRetentionSize().getBytes(),
        indexSettings.getTranslogRetentionAge().getMillis());
    try (Translog translog = new Translog(translogConfig, translogUUID,
      translogDeletionPolicy, () -> translogGlobalCheckpoint, () -> primaryTerm);
       Translog.Snapshot snapshot = translog.newSnapshot()) {
      while (snapshot.next() != null) {
        // just iterate over snapshot
      }
    }
  } catch (TranslogCorruptedException e) {
    clean = false;
  }
  return clean;
}

相关文章

微信公众号

最新文章

更多

IndexMetaData类方法