Skip to content
This repository has been archived by the owner on Mar 3, 2023. It is now read-only.

Adding LocalScheduler scaling impl with UpdateTopologyManager #1333

Merged
merged 8 commits into from
Sep 8, 2016

Conversation

billonahill
Copy link
Contributor

Now that IScalable is committed, committing the LocalScheduler implementation, along with UpdateTopologyManager, which is to be shared among all scheduler implementations. The scheduler changes are minimal with most of the logic contained in UpdateTopologyManager.

Required for #1292.

@kramasamy
Copy link
Contributor

Looks good to me! @ashvina and @avflor - can you review this please?

@ashvina
Copy link
Contributor

ashvina commented Sep 7, 2016

@kramasamy I can review it partially. I have authored a part of this commit (billonahill#2) which @billonahill had reviewed earlier.

stateManager.setPackingPlan(proposedProtoPackingPlan, topologyName));

// delete the physical plan so TMaster doesn't try to re-establish it on start-up.
logFine("Deleted Physical Plan: %s", stateManager.deletePhysicalPlan(topologyName));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the past we discussed about issues when multiple components were updating a PackingPlan (Launcher while submitting a topology and Scheduler while updating the topology). In this case, PhysicalPlan is also getting updated my multiple components; RuntimeManager during kill, TMaster during submit and UpdateManager during update. Is it a concern?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typically the launcher (or the TMaster in the case of physical plan) initially writes object and RuntimeManager deletes them on kill. That pattern is somewhat standard.

Where we're deviating is with the Scheduler updating PackingPlan and Topology and deleting PhysicalPlan (TMaster will re-create it). I think this is ok for this iteration, but we might want to consider messaging the TMaster to do these operations as a future enhancement.

@billonahill
Copy link
Contributor Author

@ashvina and @avflor all comments have been addressed. Let me know how things look.

@avflor
Copy link
Contributor

avflor commented Sep 8, 2016

@billonahill Looks good to me. Maybe we should add a comment at ContainerDelta to clarify that the code assumes that the size of an existing container cannot change from currentPlan to proposedPlan.
If the scheduler provides this functionality we would need to change this code since it might return wrong results.

@billonahill billonahill merged commit ba746d0 into apache:master Sep 8, 2016
@billonahill billonahill deleted the billg/add_local_scheduler branch September 8, 2016 20:42
nicknezis pushed a commit that referenced this pull request Sep 14, 2020

* Update based on master changes to remove Resource and change containerId to int

* Change ContainerDelta logic to be based on container id, not container equality

* fix bad javadoc html

* Remove check that existing packing plan hasn't changed

* Added comments to ContainerDelta about not supporting container size changes
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants