All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bigdata.resources.MoveResult Maven / Gradle / Ivy

package com.bigdata.resources;

import java.util.UUID;
import java.util.concurrent.atomic.AtomicBoolean;

import com.bigdata.btree.IndexMetadata;
import com.bigdata.mdi.PartitionLocator;
import com.bigdata.service.DataService;

/**
 * The object returned by {@link MoveIndexPartitionTask}.
 * 
 * @author Bryan Thompson
 * @version $Id$
 */
public class MoveResult extends AbstractResult {

    final public UUID targetDataServiceUUID;

    final public int newPartitionId;

    /**
     * The name of the new index partition on the target data service.
     * 

* Note: {@link AbstractResult#name} is the name of the source index * partition that was moved to the target data service. */ final public String targetIndexName; final public PartitionLocator oldLocator; final public PartitionLocator newLocator; /** * false until the target index partition is registered in * the MDS. This is used to decide whether or not we need to rollback a * change in the MDS if the atomic update task fails during the commit. */ final protected AtomicBoolean registeredInMDS = new AtomicBoolean(false); /** * @param name * The name of the source index partition. * @param indexMetadata * The index metadata object for the source index partition. * @param targetDataServiceUUID * The data service {@link UUID} for the target data service. * @param newPartitionId * The partition identifier assigned to the target index * partition. * @param oldLocator * The locator for the source index partition. * @param newLocator * The locator for the new index partition. */ public MoveResult(final String name,// final IndexMetadata indexMetadata,// final UUID targetDataServiceUUID, // final int newPartitionId,// final PartitionLocator oldLocator,// final PartitionLocator newLocator// ) { super(name, indexMetadata); if (targetDataServiceUUID == null) throw new IllegalArgumentException(); if (oldLocator == null) throw new IllegalArgumentException(); if (newLocator == null) throw new IllegalArgumentException(); this.targetDataServiceUUID = targetDataServiceUUID; this.newPartitionId = newPartitionId; this.targetIndexName = DataService.getIndexPartitionName(indexMetadata .getName(), newPartitionId); this.oldLocator = oldLocator; this.newLocator = newLocator; } public String toString() { final StringBuilder sb = new StringBuilder(); sb.append("MoveResult"); sb.append("{ name=" + name); sb.append(", newPartitionId=" + newPartitionId); sb.append(", targetDataService=" + targetDataServiceUUID); sb.append(", oldLocator=" + oldLocator); sb.append(", newLocator=" + newLocator); sb.append(" }"); return sb.toString(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy