public void removePartition(String partitionIdStr) {
    PartitionId partitionId = partitionIdMap.remove(partitionIdStr);
    if (partitionId == null) {
      metrics.partitionIdNotInClusterMapOnRemove.inc();
      logger.warn("Partition {} not exists on current VCR: {}", partitionIdStr, vcrInstanceName);
    } else {
      for (VcrClusterParticipantListener listener : listeners) {
        listener.onPartitionRemoved(partitionId);
      }
      assignedPartitionIds.remove(partitionId);
      logger.info("Partition {} is removed from current VCR: {}. Number of assigned partitions: {}", partitionIdStr,
          vcrInstanceName, assignedPartitionIds.size());
      logger.debug("Current assigned partitions: {}", partitionIdMap.keySet());
    }
  }
Remove {@link PartitionId} from assignedPartitionIds set, if {@param partitionIdStr} valid.
Used in one of the vcr state model classes {@link OnlineOfflineHelixVcrStateModel} or
{@link LeaderStandbyHelixVcrStateModel} if current VCR becomes offline for a partition.
@param partitionIdStr The partitionIdStr notified by Helix.
ambry-cloud/src/main/java/com/github/ambry/cloud/HelixVcrClusterParticipant.java