Min Zhou created TAJO-602:
-----------------------------
Summary: WorkerResourceManager should be broke down into 3 parts
Key: TAJO-602
URL: https://issues.apache.org/jira/browse/TAJO-602
Project: Tajo
Issue Type: Sub-task
Reporter: Min Zhou
Before implementing a scheduler, I think we should do some refactoring at
first. There are 2 interfaces and 4 classes related to resource management,
they are WorkerResourceManager , YarnTajoResourceManager,
TajoWorkerResourceManager reside in TajoMaster, and ResourceAllocator,
YarnResourceAllocator, TajoResourceAllocator reside in QueryMasters.
WorkerResourceManager actually plays 3 roles
1. Choose or start a QueryMaster for a query, and management it
2. allocate resource for query tasks / task runners (only for standalone mode)
3. Handle worker's heartbeat (only for standalone mode)
If the scheduler is a decentralized one, like sparrow, we can allocate resource
for a QueryMaster as the same way for a TaskRunner. So 1. and 2. can use the
same interface, but called by 2 different caller. 3. is different from the
others, we can create another service, let's say HeartbeatService to deal with
worker's heartbeats.
Any suggestion?
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)