public class ShardManager
extends java.lang.Object
| Constructor and Description |
|---|
ShardManager(java.lang.String serviceId,
JournalSystem journalSystem,
IdGenerator idGenerator,
Scheduler shardScheduler) |
| Modifier and Type | Method and Description |
|---|---|
void |
addShardReplicas(java.util.List<java.lang.Long> shardIds,
long workerId) |
MetaGroupInfo |
createMetaGroup(CreateMetaGroupInfo createMetaGroupInfo) |
java.util.List<ShardInfo> |
createShard(java.util.List<CreateShardInfo> createShardInfos,
FileStoreMgr fsMgr) |
java.util.List<ShardGroupInfo> |
createShardGroup(java.util.List<CreateShardGroupInfo> createShardGroupInfos) |
void |
deleteMetaGroup(long metaGroupId) |
void |
deleteMetaGroupInternal(long metaGroupId,
boolean isReplay) |
void |
deleteShard(java.util.List<java.lang.Long> shardIds) |
void |
deleteShardGroup(java.util.List<java.lang.Long> groupIds,
boolean deleteShards) |
void |
dump(java.io.DataOutputStream out) |
void |
dumpMeta(java.io.OutputStream out)
dump shardManager's meta
|
java.util.List<java.lang.Long> |
getAllMetaGroupIds() |
java.util.List<java.lang.Long> |
getAllShardGroupIds() |
java.util.List<java.lang.Long> |
getAllShardIds() |
MetaGroup |
getMetaGroup(long groupId) |
int |
getMetaGroupCount() |
MetaGroupInfo |
getMetaGroupInfo(long metaGroupId) |
java.lang.String |
getServiceId() |
Shard |
getShard(long shardId) |
int |
getShardCount() |
ShardGroup |
getShardGroup(long groupId) |
int |
getShardGroupCount() |
java.util.List<ShardGroupInfo> |
getShardGroupInfo(java.util.List<java.lang.Long> shardGroupIds) |
java.util.List<ShardInfo> |
getShardInfo(java.util.List<java.lang.Long> shardIds)
Get shard info in service
|
java.util.Iterator<java.util.Map.Entry<java.lang.Long,Shard>> |
getShardIterator() |
boolean |
isMetaGroupStable(long metaGroupId,
java.util.List<java.lang.Long> workerIds) |
java.util.List<MetaGroupInfo> |
listMetaGroupInfo() |
org.apache.commons.lang3.tuple.Pair<java.util.List<ShardGroupInfo>,java.lang.Long> |
listShardGroupInfo(boolean includeAnonymousGroup,
long startGroupId) |
java.util.List<java.util.List<ShardInfo>> |
listShardInfo(java.util.List<java.lang.Long> groupIds,
boolean withoutReplicaInfo) |
void |
loadMeta(java.io.InputStream in) |
void |
overrideShards(java.util.Map<java.lang.Long,Shard> shards) |
void |
removeShardGroupReplicas(java.lang.Long shardGroupId) |
void |
removeShardReplicas(java.util.List<java.lang.Long> shardIds,
long workerId) |
void |
replayCreateMetaGroup(MetaGroupJournalInfo info) |
void |
replayCreateShard(CreateShardJournalInfo info) |
void |
replayCreateShardGroup(java.util.List<ShardGroup> groups) |
void |
replayDeleteMetaGroup(MetaGroupJournalInfo info) |
void |
replayDeleteShard(java.util.List<java.lang.Long> shardIds) |
void |
replayDeleteShardGroup(DeleteShardGroupInfo info) |
void |
replayUpdateMetaGroup(MetaGroupJournalInfo info) |
void |
replayUpdateShard(java.util.List<Shard> shardList) |
void |
replayUpdateShardGroup(java.util.List<ShardGroup> groupList) |
void |
scheduleShardsBelongToWorker(long workerId) |
void |
updateDelegatedFileStoreSnapshot(FileStore fileStore) |
void |
updateMetaGroup(UpdateMetaGroupInfo updateMetaGroupInfo) |
void |
updateShard(java.util.List<UpdateShardInfo> updateShardInfos) |
void |
updateShardGroup(java.util.List<UpdateShardGroupInfo> updateShardGroupInfos) |
void |
validateWorkerReportedReplicas(java.util.List<java.lang.Long> shardIds,
long workerId)
Check missing replicas from the list of shards for the specific worker id, and remove non-exist replicas
|
public ShardManager(java.lang.String serviceId,
JournalSystem journalSystem,
IdGenerator idGenerator,
Scheduler shardScheduler)
public java.lang.String getServiceId()
public java.util.List<ShardGroupInfo> createShardGroup(java.util.List<CreateShardGroupInfo> createShardGroupInfos) throws StarException
StarExceptionpublic void deleteShardGroup(java.util.List<java.lang.Long> groupIds,
boolean deleteShards)
throws StarException
StarExceptionpublic void updateShardGroup(java.util.List<UpdateShardGroupInfo> updateShardGroupInfos) throws StarException
StarExceptionpublic org.apache.commons.lang3.tuple.Pair<java.util.List<ShardGroupInfo>,java.lang.Long> listShardGroupInfo(boolean includeAnonymousGroup, long startGroupId) throws StarException
StarExceptionpublic java.util.List<ShardGroupInfo> getShardGroupInfo(java.util.List<java.lang.Long> shardGroupIds) throws StarException
StarExceptionpublic java.util.List<ShardInfo> createShard(java.util.List<CreateShardInfo> createShardInfos, FileStoreMgr fsMgr) throws StarException
StarExceptionpublic void deleteShard(java.util.List<java.lang.Long> shardIds)
throws StarException
StarExceptionpublic void updateShard(java.util.List<UpdateShardInfo> updateShardInfos) throws StarException
StarExceptionpublic java.util.List<ShardInfo> getShardInfo(java.util.List<java.lang.Long> shardIds) throws StarException
StarException - if shard does not exist or shard not belong to this servicepublic java.util.List<java.util.List<ShardInfo>> listShardInfo(java.util.List<java.lang.Long> groupIds, boolean withoutReplicaInfo) throws StarException
StarExceptionpublic Shard getShard(long shardId)
public ShardGroup getShardGroup(long groupId)
public MetaGroup getMetaGroup(long groupId)
public java.util.List<java.lang.Long> getAllShardIds()
public java.util.Iterator<java.util.Map.Entry<java.lang.Long,Shard>> getShardIterator()
public java.util.List<java.lang.Long> getAllShardGroupIds()
public java.util.List<java.lang.Long> getAllMetaGroupIds()
public MetaGroupInfo createMetaGroup(CreateMetaGroupInfo createMetaGroupInfo) throws StarException
StarExceptionpublic void deleteMetaGroup(long metaGroupId)
throws StarException
StarExceptionpublic void deleteMetaGroupInternal(long metaGroupId,
boolean isReplay)
throws StarException
StarExceptionpublic void updateMetaGroup(UpdateMetaGroupInfo updateMetaGroupInfo) throws StarException
StarExceptionpublic MetaGroupInfo getMetaGroupInfo(long metaGroupId) throws StarException
StarExceptionpublic java.util.List<MetaGroupInfo> listMetaGroupInfo() throws StarException
StarExceptionpublic boolean isMetaGroupStable(long metaGroupId,
java.util.List<java.lang.Long> workerIds)
throws StarException
StarExceptionpublic void scheduleShardsBelongToWorker(long workerId)
public void addShardReplicas(java.util.List<java.lang.Long> shardIds,
long workerId)
public void removeShardReplicas(java.util.List<java.lang.Long> shardIds,
long workerId)
public void validateWorkerReportedReplicas(java.util.List<java.lang.Long> shardIds,
long workerId)
shardIds - list of shard idworkerId - target worker idpublic void replayCreateShard(CreateShardJournalInfo info)
public void replayDeleteShard(java.util.List<java.lang.Long> shardIds)
public void replayUpdateShard(java.util.List<Shard> shardList)
public void replayCreateShardGroup(java.util.List<ShardGroup> groups)
public void replayDeleteShardGroup(DeleteShardGroupInfo info)
public void replayUpdateShardGroup(java.util.List<ShardGroup> groupList)
public void replayCreateMetaGroup(MetaGroupJournalInfo info) throws StarException
StarExceptionpublic void replayDeleteMetaGroup(MetaGroupJournalInfo info) throws StarException
StarExceptionpublic void replayUpdateMetaGroup(MetaGroupJournalInfo info) throws StarException
StarExceptionpublic int getShardCount()
public int getShardGroupCount()
public int getMetaGroupCount()
public void overrideShards(java.util.Map<java.lang.Long,Shard> shards)
public void dumpMeta(java.io.OutputStream out)
throws java.io.IOException
out - Output streamjava.io.IOException - I/O exception
+--------------------+ | SHARDMGR_HEADER | (number of meta group, number of shard group, number of shard) +--------------------+ | SHARDMGR_METAGROUP | +------------------- + | METAGROUP_1 | | METAGROUP_2 | | ... | | METAGROUP_N | +--------------------+ |SHARGMGR_SHARD_GROUP| +--------------------+ | SHARDGROUP_1 | | SHARDGROUP_2 | | ... | | SHARDGROUP_N | +--------------------+ | SHARGMGR_SHARD | +--------------------+ | SHARD_1 | | SHARD_2 | | ... | | SHARD_N | +--------------------+ | SHARDMGR_FOOTER | (checksum) +--------------------+
public void loadMeta(java.io.InputStream in)
throws java.io.IOException
java.io.IOExceptionpublic void updateDelegatedFileStoreSnapshot(FileStore fileStore)
public void dump(java.io.DataOutputStream out)
throws java.io.IOException
java.io.IOExceptionpublic void removeShardGroupReplicas(java.lang.Long shardGroupId)
throws StarException
StarExceptionCopyright © 2024. All rights reserved.