Skip to content

Conversation

@turboFei
Copy link
Member

@turboFei turboFei commented Nov 22, 2025

Why are the changes needed?

Close #xxx.

Remove unused/duplicate code in OptimizerController and OptimizerGroupController

  1. getContainers
  1. releaseOptimizer
  • /**
    * release optimizer.
    *
    * @pathParam jobId
    */
    public void releaseOptimizer(Context ctx) {
    String resourceId = ctx.pathParam("jobId");
    Preconditions.checkArgument(
    !resourceId.isEmpty(), "resource id can not be empty, maybe it's a external optimizer");
    List<OptimizerInstance> optimizerInstances =
    optimizerManager.listOptimizers().stream()
    .filter(e -> resourceId.equals(e.getResourceId()))
    .collect(Collectors.toList());
    Preconditions.checkState(
    !optimizerInstances.isEmpty(),
    String.format(
    "The resource ID %s has not been indexed" + " to any optimizer.", resourceId));
    Resource resource = optimizerManager.getResource(resourceId);
    resource.getProperties().putAll(optimizerInstances.get(0).getProperties());
    ResourceContainer rc = Containers.get(resource.getContainerName());
    Preconditions.checkState(
    rc instanceof AbstractOptimizerContainer,
    "Cannot release optimizer on non-optimizer resource container %s.",
    resource.getContainerName());
    ((AbstractOptimizerContainer) rc).releaseResource(resource);
    optimizerManager.deleteResource(resourceId);
    optimizerManager.deleteOptimizer(resource.getGroupName(), resourceId);
    ctx.json(OkResponse.of("Success to release optimizer"));
    }

  • /**
    * release optimizer.
    *
    * @pathParam jobId
    */
    public void releaseOptimizer(Context ctx) {
    String resourceId = ctx.pathParam("jobId");
    Preconditions.checkArgument(
    !resourceId.isEmpty(), "resource id can not be empty, maybe it's a external optimizer");
    List<OptimizerInstance> optimizerInstances =
    optimizerManager.listOptimizers().stream()
    .filter(e -> resourceId.equals(e.getResourceId()))
    .collect(Collectors.toList());
    Preconditions.checkState(
    !optimizerInstances.isEmpty(),
    String.format(
    "The resource ID %s has not been indexed" + " to any optimizer.", resourceId));
    Resource resource = optimizerManager.getResource(resourceId);
    resource.getProperties().putAll(optimizerInstances.get(0).getProperties());
    ResourceContainer rc = Containers.get(resource.getContainerName());
    Preconditions.checkState(
    rc instanceof AbstractOptimizerContainer,
    "Cannot release optimizer on non-optimizer resource container %s.",
    resource.getContainerName());
    ((AbstractOptimizerContainer) rc).releaseResource(resource);
    optimizerManager.deleteResource(resourceId);
    optimizerManager.deleteOptimizer(resource.getGroupName(), resourceId);
    ctx.json(OkResponse.of("Success to release optimizer"));
    }

Brief change log

  • remove unused/duplicate code

How was this patch tested?

  • Add some test cases that check the changes thoroughly including negative and positive cases if possible

  • Add screenshots for manual tests if appropriate

  • Run test locally before making a pull request

Documentation

  • Does this pull request introduce a new feature? (yes / no)
  • If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@github-actions github-actions bot added the module:ams-server Ams server module label Nov 22, 2025
@turboFei turboFei changed the title nit: remove unused code in OptimizerGroupController nit: remove unused code Nov 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

module:ams-server Ams server module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant