Skip to content

Commit

Permalink
Remove complexity from task service caching (#3913)
Browse files Browse the repository at this point in the history
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: kbirk <[email protected]>
  • Loading branch information
3 people authored Jun 19, 2024
1 parent 1617772 commit b4b5b73
Show file tree
Hide file tree
Showing 10 changed files with 135 additions and 353 deletions.
1 change: 1 addition & 0 deletions packages/client/hmi-client/src/types/Types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -811,6 +811,7 @@ export interface TaskResponse {
additionalProperties: any;
stdout: string;
stderr: string;
requestSHA256: string;
}

export interface Annotation {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.server.ResponseStatusException;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
import software.uncharted.terarium.hmiserver.annotations.IgnoreRequestLogging;
import software.uncharted.terarium.hmiserver.models.dataservice.dataset.Dataset;
import software.uncharted.terarium.hmiserver.models.dataservice.document.DocumentAsset;
import software.uncharted.terarium.hmiserver.models.dataservice.model.Model;
Expand Down Expand Up @@ -541,23 +539,4 @@ public ResponseEntity<Void> cancelTask(@PathVariable("task-id") final UUID taskI
taskService.cancelTask(taskId);
return ResponseEntity.ok().build();
}

@GetMapping("/{task-id}")
@Operation(summary = "Subscribe for updates on a GoLLM task")
@ApiResponses(
value = {
@ApiResponse(
responseCode = "200",
description = "Subscribed successfully",
content =
@Content(
mediaType = "text/event-stream",
schema =
@io.swagger.v3.oas.annotations.media.Schema(
implementation = TaskResponse.class))),
})
@IgnoreRequestLogging
public SseEmitter subscribe(@PathVariable("task-id") final UUID taskId) {
return taskService.subscribe(taskId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.server.ResponseStatusException;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
import software.uncharted.terarium.hmiserver.annotations.IgnoreRequestLogging;
import software.uncharted.terarium.hmiserver.models.dataservice.Artifact;
import software.uncharted.terarium.hmiserver.models.dataservice.model.Model;
import software.uncharted.terarium.hmiserver.models.mira.Curies;
Expand Down Expand Up @@ -155,7 +153,7 @@ public ResponseEntity<JsonNode> convertAMRtoMMT(@RequestBody final JsonNode mode
content = @Content)
})
public ResponseEntity<Model> convertAndCreateModel(@RequestBody final ModelConversionRequest conversionRequest) {
Schema.Permission permission = projectService.checkPermissionCanRead(
final Schema.Permission permission = projectService.checkPermissionCanRead(
currentUserService.get().getId(), conversionRequest.getProjectId());

try {
Expand Down Expand Up @@ -235,25 +233,6 @@ public ResponseEntity<Void> cancelTask(@PathVariable("task-id") final UUID taskI
return ResponseEntity.ok().build();
}

@GetMapping("/{task-id}")
@Operation(summary = "Subscribe for updates on a Mira task")
@ApiResponses(
value = {
@ApiResponse(
responseCode = "200",
description = "Subscribed successfully",
content =
@Content(
mediaType = "text/event-stream",
schema =
@io.swagger.v3.oas.annotations.media.Schema(
implementation = TaskResponse.class))),
})
@IgnoreRequestLogging
public SseEmitter subscribe(@PathVariable("task-id") final UUID taskId) {
return taskService.subscribe(taskId);
}

@GetMapping("/currie/{curies}")
@Secured(Roles.USER)
public ResponseEntity<List<DKG>> searchConcept(@PathVariable("curies") final String curies) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,12 @@
public class TaskFuture implements Serializable {

protected UUID id;
protected TaskResponse latestResponse;
protected CompletableFuture<TaskResponse> future;

public UUID getId() {
return id;
}

public synchronized TaskResponse poll() {
return latestResponse;
}

public TaskResponse get() throws InterruptedException, ExecutionException {
return future.get();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package software.uncharted.terarium.hmiserver.models.task;

import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
Expand Down Expand Up @@ -66,7 +66,7 @@ public <T> T getAdditionalProperties(final Class<T> type) throws JsonProcessingE
return objectMapper.readValue(objectMapper.writeValueAsString(additionalProperties), type);
}

@JsonIgnore
@JsonProperty("requestSHA256")
public String getSHA256() {
try {
// NOTE: do not include the task id in this hash, we want to determine if the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public class TaskResponse implements Serializable {

private String stdout;
private String stderr;
private String requestSHA256;

public <T> T getAdditionalProperties(final Class<T> type) throws JsonProcessingException {
final ObjectMapper objectMapper = new ObjectMapper();
Expand Down
Loading

0 comments on commit b4b5b73

Please sign in to comment.