com.bigdata.mdi
Interface IPartitionMetadata

All Superinterfaces:
ISeparatorKeys
All Known Implementing Classes:
LocalPartitionMetadata, PartitionLocator

public interface IPartitionMetadata
extends ISeparatorKeys

A description of the metadata state for a partition of a scale-out index.

Each index partition has a distinct partitionId. This partitionId is assigned by a centralized service - the IMetadataService for the scale-out index for that index partition. A centralized service is required in order to obtain distinct int32 partition identifiers because those partition identifiers are used in turn to support scale-out partition local ICounters - the partitionId forms the upper word of the int64 counter value.

The scale-out index name and the left and right separator keys are a complete identifier for an index partition - any two index partitions which share those three properties MUST be the same index partition. However, access to index partitions is generally in terms of the name of the scale-out index and the partitionId. See DataService.getIndexPartitionName(String, int) which returns the name under which an index partition will be registered and the name that must be used when requesting operations on that index partition using an IDataService.

An index partition has additional state, including:

The left and right separator keys define the half-open key range of the index partition. The separator keys are available directly as the keys of the MetadataIndex, therefore they are not stored in the index partition records within the metadata index. However, the separator keys are stored in the index partition description within the IndexMetadata records so that they are available locally with the index partition data.

If the client knows a key or key range of interest for a scale-out index then they can obtain the relevant index partition descriptions and a data service locator either either by flooding the query to the IDataServices or from the MetadataIndex.

Version:
$Id: IPartitionMetadata.java 2265 2009-10-26 12:51:06Z thompsonbry $
Author:
Bryan Thompson

Method Summary
 int getPartitionId()
          The unique partition identifier.
 int hashCode()
          Return getPartitionId()
 
Methods inherited from interface com.bigdata.mdi.ISeparatorKeys
getLeftSeparatorKey, getRightSeparatorKey
 

Method Detail

getPartitionId

int getPartitionId()
The unique partition identifier.


hashCode

int hashCode()
Return getPartitionId()

Overrides:
hashCode in class Object


Copyright © 2006-2011 SYSTAP, LLC. All Rights Reserved.