Skip to content
Snippets Groups Projects
Commit 8f283439 authored by dl3g19's avatar dl3g19
Browse files

Minor improvements to system to reduce errors and rebalance after a disconnect

parent 38bcccfe
Branches
No related tags found
No related merge requests found
......@@ -14,12 +14,6 @@ import java.util.HashSet;
import java.util.Collection;
import java.util.Collections;
/*
TO DO:
Get rid of missing REMOVE_ACKs problem
Distrbute files evenly (check spec for correct number of files on each store)
*/
public class Controller {
protected int cport; //Port to listen on
protected int rFactor; //Replication factor; each file is replicated across r Dstores
......@@ -285,7 +279,7 @@ public class Controller {
synchronized(index) {
if(index.containsKey(filename)) {
entry = index.get(filename);
if(entry.getStatus() == IndexEntry.Status.REMOVE_IN_PROGRESS || entry.getStatus() == IndexEntry.Status.REMOVE_COMPLETE) {
if(entry.getStatus() == IndexEntry.Status.REMOVE_COMPLETE) {
index.remove(filename);
}
else {
......@@ -362,7 +356,7 @@ public class Controller {
//Remove file from index
synchronized(index) {
index.remove(filename);
if(index.containsKey(filename) && index.get(filename) == entry) index.remove(filename);
}
}
}
......@@ -438,18 +432,15 @@ public class Controller {
void remove(Socket client, String filename) throws Exception {
try {
IndexEntry entry;
System.out.println("About to remove " + filename);
try {
synchronized(index) {
entry = index.get(filename);
if(entry == null || entry.getStatus() != IndexEntry.Status.STORE_COMPLETE) {
System.out.println("Oops, " + filename + " does not exist!");
throw new InvalidStatusException();
}
//Update index to "remove in progress"
entry.setStatus(IndexEntry.Status.REMOVE_IN_PROGRESS);
System.out.println("Remove status for " + filename + " set!");
}
}
catch(InvalidStatusException e) {
......@@ -457,7 +448,6 @@ public class Controller {
clientOut.println(Protocol.ERROR_FILE_DOES_NOT_EXIST_TOKEN);
clientOut.flush();
messageSent(client, Protocol.ERROR_FILE_DOES_NOT_EXIST_TOKEN);
System.out.println("Informed client that " + filename + " does not exist");
return;
}
......@@ -481,7 +471,7 @@ public class Controller {
}
else {
//Log error
System.out.println("Dstore " + dstore + " should have sent REMOVE_ACK but Controller received " + message[0]);
System.err.println("Dstore " + dstore + " should have sent REMOVE_ACK but Controller received " + message[0]);
}
}
catch(DstoreDisconnectException e) {
......@@ -494,7 +484,7 @@ public class Controller {
//Wait for REMOVE_ACKs from all Dstores which were sent the REMOVE message
if(!latch.await(timeout, TimeUnit.MILLISECONDS)) {
//Log error
System.out.println("Not all REMOVE_ACKs have been received");
System.err.println("Not all REMOVE_ACKs have been received");
}
//Update index to "remove complete"
......@@ -582,6 +572,8 @@ public class Controller {
}
catch(Exception e) {e.printStackTrace();}
if(dstoreFiles.isEmpty()) throw new Exception("All dstores have been disconnected!");
Map<Integer,List<String>> newAlloc = allocate(dstoreFiles);
Map<Integer,String> sendIndex = composeRebalanceMessages(dstoreFiles, newAlloc);
CountDownLatch latch = new CountDownLatch(sendIndex.size());
......@@ -623,6 +615,7 @@ public class Controller {
System.out.print(i);
}
System.out.print("\n");
resetSequence();
}
}
......@@ -646,16 +639,28 @@ public class Controller {
//move files from dstores that have too many files
//prioritize storing these files to dstores that don't have enough files
Map<Integer,List<String>> allocate(Map<Integer,List<String>> oldDstoreFiles) {
//Precaution made so that the input map is not modified
Map<Integer,List<String>> dstoreFiles = new HashMap<Integer,List<String>>();
List<String> availableFiles = new ArrayList<String>();
for(Integer i : oldDstoreFiles.keySet()) {
List<String> files = new ArrayList<String>();
for(String s : oldDstoreFiles.get(i)) {
if(index.containsKey(s)) files.add(s);
if(!availableFiles.contains(s)) availableFiles.add(s);
}
dstoreFiles.put(i, files);
}
//These files have been lost to crashes and need to be removed from the index
synchronized(index) {
Iterator<String> it = index.keySet().iterator();
while(it.hasNext()) {
String file = it.next();
if(!availableFiles.contains(file)) {
it.remove();
}
}
}
class AllocComparator implements Comparator<Integer> {
protected int m;
public AllocComparator(boolean ascending) {
......@@ -765,6 +770,17 @@ public class Controller {
}
}
Map<String,Integer> hasRequire = new HashMap<String,Integer>();
for(String file : requireIndex.keySet()) {
int count = 0;
for(Integer dstore : oldAlloc.keySet()) {
if(oldAlloc.get(dstore).contains(file)) {
count ++;
}
}
hasRequire.put(file, count);
}
Map<Integer,String> messages = new HashMap<Integer,String>();
for(Integer dstore : newAlloc.keySet()) {
String thisMessage = "";
......@@ -779,11 +795,18 @@ public class Controller {
if(oldFiles.contains(file)) {
filesToSend ++;
List<Integer> thisRequire = requireIndex.get(file);
thisMessage = thisMessage + " " + file + " " + thisRequire.size();
for(Integer otherStore : thisRequire) {
thisMessage = thisMessage + " " + otherStore;
int distribution = (int) Math.ceil((double) thisRequire.size() / (double) hasRequire.get(file));
//thisMessage = thisMessage + " " + file + " " + thisRequire.size();
int numberSentTo = 0;
String sentTo = "";
while(numberSentTo < distribution && !thisRequire.isEmpty()) {
Integer otherStore = thisRequire.get(0);
sentTo = sentTo + " " + otherStore;
thisRequire.remove(0);
numberSentTo ++;
}
it.remove();
thisMessage = thisMessage + " " + file + " " + numberSentTo + sentTo;
if(thisRequire.isEmpty()) it.remove();
}
}
......@@ -810,8 +833,9 @@ public class Controller {
void removeDstore(DstoreDisconnectException e) {
Integer port = e.getConnection().getPort();
synchronized(dstores) {
if(dstores.get(port).equals(e.getConnection())) dstores.remove(port);
if(dstores.containsKey(port) && dstores.get(port).equals(e.getConnection())) dstores.remove(port);
}
try {e.getConnection().getSocket().close();} catch(IOException ee) {}
Iterator<IndexEntry> it;
......@@ -819,6 +843,8 @@ public class Controller {
while(it.hasNext()) {
it.next().removeStoredBy(port);
}
rebalanceLock.queueRebalance();
}
Iterator<Integer> sequenceIt = null;
......@@ -828,10 +854,7 @@ public class Controller {
while(store == null) {
synchronized(sequenceLock) {
if(sequenceIt == null || !sequenceIt.hasNext()) {
synchronized(dstores) {
if(dstores.isEmpty()) return null;
sequenceIt = dstores.keySet().iterator();
}
if(!resetSequence()) return null;
}
store = sequenceIt.next();
......@@ -841,6 +864,14 @@ public class Controller {
return store;
}
boolean resetSequence() {
synchronized(sequenceLock) { synchronized(dstores) {
if(dstores.isEmpty()) return false;
sequenceIt = new HashSet<Integer>(dstores.keySet()).iterator();
}}
return true;
}
void messageSent(Socket socket, String message) {
ControllerLogger.getInstance().messageSent(socket, message);
}
......
#!/bin/bash
java -cp .:loggers Controller 8080 $1 $3 $4 &
echo $!
rsec=$(($4/1000))
processes=()
for((i=1; i<=$2; i++)) do
sleep 0.2
n=$((8080+$i))
echo $n
s="store$i"
java -cp .:loggers Dstore $n 8080 $3 $s &
processes+=($!)
done
sleep 2
java -cp .:client-1.0.2.jar ClientMain 8080 $3
sleep $rsec
for((i=0; i<$(($2-$1)); i++)) do
kill ${processes[$i]}
done
sleep $rsec
for((i=1; i<=$(($2-$1)); i++)) do
java -cp .:loggers Dstore $((8280+$i)) 8080 $3 "storeNEW$i" &
sleep 0.2
done
#!/bin/bash
java -cp .:loggers Controller 8080 $1 $3 $4 &
echo $!
rsec=$(($4/1000))
processes=()
for((i=1; i<=$2; i++)) do
sleep 0.2
n=$((8080+$i))
echo $n
s="store$i"
java -cp .:loggers Dstore $n 8080 $3 $s &
processes+=($!)
done
sleep 2
java -cp .:client-1.0.2.jar ClientMain 8080 $3 &
kill ${processes[0]}
......@@ -42,7 +42,7 @@ public class RebalanceLock {
highPriorityWait = false;
}
public void queueRebalance() {
public synchronized void queueRebalance() {
synchronized(blockLock) {
periodBlock.countDown();
}
......
FileAlreadyExistsException: Error trying to store file GameDotCom.jpg - file already exists
FileAlreadyExistsException: Error trying to store file Grandad.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
FileAlreadyExistsException: Error trying to store file SnowHalation.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
......@@ -16,115 +16,225 @@ FileAlreadyExistsException: Error trying to store file Grandad.txt - file alread
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file SnowHalation.txt - file already exists
FileAlreadyExistsException: Error trying to store file Grandad.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file AllStar.txt - file already exists
FileAlreadyExistsException: Error trying to store file Look_Away.mp3 - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file rap.mp3 - file already exists
FileAlreadyExistsException: Error trying to store file Unknown.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file Unknown.txt - file already exists
FileAlreadyExistsException: Error trying to store file GameDotCom.jpg - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file Unknown.txt - file already exists
FileAlreadyExistsException: Error trying to store file Grandad.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file GameDotCom.jpg - file already exists
FileAlreadyExistsException: Error trying to store file Look_Away.mp3 - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file SnowHalation.txt - file already exists
FileAlreadyExistsException: Error trying to store file GameDotCom.jpg - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file GameDotCom.jpg - file already exists
FileAlreadyExistsException: Error trying to store file rap.mp3 - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file AllStar.txt - file already exists
DstoreDisconnectException: Dstore at port 8081 has been disconnected
at DstoreConnection.getDisconnectData(DstoreConnection.java:52)
at DstoreConnection.localReceive(DstoreConnection.java:121)
at DstoreConnection.receive(DstoreConnection.java:92)
at Controller.lambda$store$1(Controller.java:317)
at java.base/java.lang.Thread.run(Thread.java:832)
DstoreDisconnectException: Dstore at port 8081 has been disconnected
at DstoreConnection.getDisconnectData(DstoreConnection.java:52)
at DstoreConnection.receive(DstoreConnection.java:84)
at Controller.lambda$store$1(Controller.java:317)
at java.base/java.lang.Thread.run(Thread.java:832)
DstoreDisconnectException: Dstore at port 8081 has been disconnected
at DstoreConnection.getDisconnectData(DstoreConnection.java:52)
at DstoreConnection.receive(DstoreConnection.java:84)
at Controller.lambda$store$1(Controller.java:317)
at java.base/java.lang.Thread.run(Thread.java:832)
DstoreDisconnectException: Dstore at port 8081 has been disconnected
at DstoreConnection.getDisconnectData(DstoreConnection.java:52)
at DstoreConnection.receive(DstoreConnection.java:84)
at Controller.lambda$store$1(Controller.java:317)
at java.base/java.lang.Thread.run(Thread.java:832)
DstoreDisconnectException: Dstore at port 8081 has been disconnected
at DstoreConnection.getDisconnectData(DstoreConnection.java:52)
at DstoreConnection.receive(DstoreConnection.java:84)
at Controller.lambda$store$1(Controller.java:317)
at java.base/java.lang.Thread.run(Thread.java:832)
Not all STORE_ACKs have been received
Not all STORE_ACKs have been received
Not all STORE_ACKs have been received
Not all STORE_ACKs have been received
Not all STORE_ACKs have been received
FileAlreadyExistsException: Error trying to store file Look_Away.mp3 - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file rap.mp3 - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
java.net.SocketTimeoutException: Read timed out
at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
at Client.store(SourceFile:239)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file AllStar.txt - file already exists
FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file rap.mp3 - file already exists
FileAlreadyExistsException: Error trying to store file spurk.jpg - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file Unknown.txt - file already exists
FileAlreadyExistsException: Error trying to store file SnowHalation.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
java.net.SocketTimeoutException: Read timed out
at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
at Client.store(SourceFile:239)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
java.net.SocketTimeoutException: Read timed out
at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
at Client.store(SourceFile:239)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file Grandad.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
FileAlreadyExistsException: Error trying to store file Unknown.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file rap.mp3 - file already exists
FileAlreadyExistsException: Error trying to store file Grandad.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
FileAlreadyExistsException: Error trying to store file Unknown.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file Grandad.txt - file already exists
java.net.SocketTimeoutException: Read timed out
at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
at Client.store(SourceFile:239)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file SnowHalation.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file spurk.jpg - file already exists
java.net.SocketTimeoutException: Read timed out
at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
at Client.store(SourceFile:239)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
......@@ -136,7 +246,7 @@ FileAlreadyExistsException: Error trying to store file Unknown.txt - file alread
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file spurk.jpg - file already exists
FileAlreadyExistsException: Error trying to store file Unknown.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
......@@ -148,19 +258,27 @@ FileAlreadyExistsException: Error trying to store file Grandad.txt - file alread
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file AllStar.txt - file already exists
FileAlreadyExistsException: Error trying to store file SnowHalation.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
FileDoesNotExistException: Error trying to load or remove file spurk.jpg - file does not exist
at Client.remove(SourceFile:505)
at ClientMain.test2Client(ClientMain.java:57)
at ClientMain$1.run(ClientMain.java:26)
FileDoesNotExistException: Error trying to load or remove file Look_Away.mp3 - file does not exist
at Client.remove(SourceFile:505)
at ClientMain.test2Client(ClientMain.java:57)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file AllStar.txt - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
at ClientMain.test2Client(ClientMain.java:44)
at ClientMain$1.run(ClientMain.java:26)
FileAlreadyExistsException: Error trying to store file Unknown.txt - file already exists
FileAlreadyExistsException: Error trying to store file GameDotCom.jpg - file already exists
at Client.a(SourceFile:277)
at Client.store(SourceFile:183)
at Client.store(SourceFile:156)
......
File added
File added
File added
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment