Skip to content

Commit

Permalink
Issue intel-cloud#143: loading archived workloads errors appear when …
Browse files Browse the repository at this point in the history
…some workloads use the same id
  • Loading branch information
Cxquan committed Jan 13, 2014
1 parent 0d9b310 commit 2d7c773
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public WorkloadContext fetch(String id) {
public WorkloadContext[] add(WorkloadContext workload) {
toBeRemoved.clear(); // begin transaction
list.put(workload.getId(), workload);
capacity += 1;
capacity = count(); // size of list
shrinkListSize();
WorkloadContext[] result = new WorkloadContext[toBeRemoved.size()];
result = toBeRemoved.toArray(result);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ class COSBControllerService implements ControllerService, WorkloadListener {
private WorkloadRepository memRepo = new RAMWorkloadRepository();

private boolean loadArch = false;
private boolean loaded = false;

public COSBControllerService() {
/* empty */
Expand Down Expand Up @@ -96,15 +95,13 @@ public void loadArchivedWorkload() throws IOException {
return;
for (WorkloadInfo workloadContext : workloadContexts)
memRepo.saveWorkload((WorkloadContext) workloadContext);
loaded = true;
}

public void unloadArchivedWorkload() {
for(WorkloadContext workload : memRepo.getArchivedWorkloads()) {
memRepo.removeWorkload(workload);
workload = null;
}
loaded = false;
}


Expand Down Expand Up @@ -153,12 +150,15 @@ public boolean getloadArch() {
public void setloadArch(boolean loadArch) {
this.loadArch = loadArch;

if(getloadArch() && !loaded)
if(getloadArch()){
try {
loadArchivedWorkload();
} catch (IOException e) {
e.printStackTrace();
}
} else {
unloadArchivedWorkload();
}
}

private String generateWorkloadId() {
Expand Down

0 comments on commit 2d7c773

Please sign in to comment.