floci-io/floci · error · AwsException
InvalidJobStateException
InvalidJobStateException
Error message
Job has already been acknowledged
What it means
Error "Job has already been acknowledged" thrown in floci-io/floci.
Source
Thrown at src/main/java/io/github/hectorvent/floci/services/codepipeline/CodePipelineService.java:575
if (requested.equals(data.path("actionTypeKey").asText())
&& thirdParty == data.path("thirdParty").asBoolean(false)) {
jobs.add(data.path("job"));
}
}
ObjectNode response = mapper.createObjectNode();
response.set("jobs", jobs);
return response;
}
private ObjectNode acknowledgeJob(JsonNode request, String region, String account) {
CodePipelineStoredItem job = requireItem(
account, region, "job", text(request, "jobId"), "JobNotFoundException");
String nonce = text(request, "nonce");
if (!nonce.equals(job.getData().path("nonce").asText())) {
throw new AwsException("InvalidNonceException", "Invalid job nonce", 400);
}
if (!"Created".equals(job.getStatus())) {
throw new AwsException("InvalidJobStateException", "Job has already been acknowledged", 400);
}
job.setStatus("InProgress");
job.setUpdated(now());
putItem(job);
return mapper.createObjectNode().put("status", "InProgress");
}
private ObjectNode getJobDetails(JsonNode request, String region, String account) {
CodePipelineStoredItem job = requireItem(
account, region, "job", text(request, "jobId"), "JobNotFoundException");
return mapper.createObjectNode().set("jobDetails", job.getData().path("job"));
}
private ObjectNode completeJob(JsonNode request, String region, String account, boolean success) {
CodePipelineStoredItem job = requireItem(
account, region, "job", text(request, "jobId"), "JobNotFoundException");
if (!List.of("Created", "InProgress").contains(job.getStatus())) {
throw new AwsException("InvalidJobStateException", "Job is already complete", 400);View on GitHub (pinned to 62ff490619)
Solutions
- Do not acknowledge a job twice; poll for a new job instead.
When it happens
Trigger: Thrown at src/main/java/io/github/hectorvent/floci/services/codepipeline/CodePipelineService.java:575 when the library encounters an invalid state.
Common situations: Occurs when AcknowledgeJob is called twice for the same job. Only acknowledge a job once after polling it.
AI-assisted analysis of floci-io/floci@62ff490619 (2026-08-14).
Data as JSON: /api/errors/c1e254056c03624f.
Report an issue: GitHub.