public class ShardSchedulerV2 extends AbstractServer implements Scheduler
running| Constructor and Description |
|---|
ShardSchedulerV2(ServiceManager serviceManager,
WorkerManager workerManager) |
| Modifier and Type | Method and Description |
|---|---|
void |
doStart() |
void |
doStop() |
boolean |
isIdle() |
void |
scheduleAddToDefaultGroup(java.lang.String serviceId,
java.util.List<java.lang.Long> shardIds)
Request to schedule a list of shards in service (serviceId), let schedule to choose the default worker group.
|
void |
scheduleAddToGroup(java.lang.String serviceId,
java.util.List<java.lang.Long> shardIds,
long wgId)
BLOCKING interface of scheduling a list of shards to a WorkerGroup.
|
void |
scheduleAddToGroup(java.lang.String serviceId,
long shardId,
long wgId)
BLOCKING interface to schedule single shard (shardId) in service (serviceId) in workerGroup (wgId).
|
void |
scheduleAddToWorker(java.lang.String serviceId,
java.util.List<java.lang.Long> shardIds,
long workerId)
Phase2: batch add list of shards to a worker
|
void |
scheduleAddToWorker(java.lang.String serviceId,
long shardId,
long workerId)
Phase2: add a replica of a shard to a worker without
|
void |
scheduleAsyncAddToGroup(java.lang.String serviceId,
long shardId,
long wgId)
Async schedule single shard (shardId) in service (serviceId) in wgId workerGroup (wgId), don't wait for result.
|
void |
scheduleAsyncAddToWorker(java.lang.String serviceId,
java.util.List<java.lang.Long> shardIds,
long workerId)
Phase2: Async interface to schedule a list of shards to the target worker, don't wait for the result.
|
void |
scheduleAsyncRemoveFromGroup(java.lang.String serviceId,
long shardId,
long workerGroupId)
Remove redundant replicas for the shard, running:
1.
|
void |
scheduleAsyncRemoveFromWorker(java.lang.String serviceId,
java.util.List<java.lang.Long> shardIds,
long workerId)
Phase2: Remove list of shards from target worker, don't wait for the result.
|
void |
scheduleRemoveFromWorker(java.lang.String serviceId,
java.util.List<java.lang.Long> shardIds,
long workerId)
Phase2: Remove list of shards from target worker, wait for the result back.
|
void |
scheduleRemoveFromWorker(java.lang.String serviceId,
long shardId,
long workerId)
Phase2: Remove single shard replica from target worker.
|
isRunning, start, stoppublic ShardSchedulerV2(ServiceManager serviceManager, WorkerManager workerManager)
public void scheduleAddToGroup(java.lang.String serviceId,
long shardId,
long wgId)
throws StarException
scheduleAddToGroup in interface SchedulerserviceId - service idshardId - shard idwgId - worker group idStarException - exception if failspublic void scheduleAddToGroup(java.lang.String serviceId,
java.util.List<java.lang.Long> shardIds,
long wgId)
throws StarException
scheduleAddToGroup in interface SchedulerserviceId - shard serviceIdshardIds - shard id list to be scheduledwgId - workerGroup id to be scheduledStarException - starException with ExceptionCodepublic void scheduleAsyncAddToGroup(java.lang.String serviceId,
long shardId,
long wgId)
throws StarException
scheduleAsyncAddToGroup in interface SchedulerserviceId - service identityshardId - shard identitywgId - worker group identityStarException - exception if failspublic void scheduleAddToDefaultGroup(java.lang.String serviceId,
java.util.List<java.lang.Long> shardIds)
throws StarException
scheduleAddToDefaultGroup in interface SchedulerserviceId - service identityshardIds - list of shard identitiesStarException - exception if failspublic void scheduleAsyncRemoveFromGroup(java.lang.String serviceId,
long shardId,
long workerGroupId)
throws StarException
scheduleAsyncRemoveFromGroup in interface SchedulerserviceId - target service id shard belongs toshardId - shard idworkerGroupId - target worker group idStarException - throws star exception if the task can't be added to thread pool.public void scheduleAddToWorker(java.lang.String serviceId,
long shardId,
long workerId)
throws StarException
scheduleAddToWorker in interface SchedulerserviceId - service IdshardId - shard id to be addedworkerId - target worker Id to be addedStarException - Schedule Error
TODO: refactor with Priority Queuepublic void scheduleAddToWorker(java.lang.String serviceId,
java.util.List<java.lang.Long> shardIds,
long workerId)
throws StarException
scheduleAddToWorker in interface SchedulerserviceId - service IdshardIds - list of shard ids to be addedworkerId - target worker Id to be addedStarException - Schedule Errorpublic void scheduleAsyncAddToWorker(java.lang.String serviceId,
java.util.List<java.lang.Long> shardIds,
long workerId)
throws StarException
scheduleAsyncAddToWorker in interface SchedulerserviceId - service idshardIds - list of shard idsworkerId - target worker idStarException - schedule errorpublic void scheduleRemoveFromWorker(java.lang.String serviceId,
long shardId,
long workerId)
throws StarException
scheduleRemoveFromWorker in interface SchedulerserviceId - shard service IdshardId - shard id to be removedworkerId - worker idStarExceptionpublic void scheduleRemoveFromWorker(java.lang.String serviceId,
java.util.List<java.lang.Long> shardIds,
long workerId)
throws StarException
scheduleRemoveFromWorker in interface SchedulerserviceId - shard service IdshardIds - list of shard ids to be removedworkerId - target worker idStarException - error out if the request can't be fulfilled. ExceptionCode will represent the error category.public void scheduleAsyncRemoveFromWorker(java.lang.String serviceId,
java.util.List<java.lang.Long> shardIds,
long workerId)
throws StarException
scheduleAsyncRemoveFromWorker in interface SchedulerserviceId - shard service IdshardIds - list of shard ids to be removedworkerId - target worker idStarExceptionpublic void doStart()
doStart in class AbstractServerpublic void doStop()
doStop in class AbstractServerCopyright © 2024. All rights reserved.