Author: bleny Date: 2010-06-03 18:25:47 +0200 (Thu, 03 Jun 2010) New Revision: 61 Url: http://nuiton.org/repositories/revision/diswork/61 Log: bug fixes Modified: trunk/diswork-fs/src/main/java/org/nuiton/disworkfs/storage/PastryDisworkMap.java trunk/diswork-fs/src/main/java/org/nuiton/disworkfs/storage/Storage.java trunk/diswork-fs/src/test/java/org/nuiton/disworkfs/Util.java Modified: trunk/diswork-fs/src/main/java/org/nuiton/disworkfs/storage/PastryDisworkMap.java =================================================================== --- trunk/diswork-fs/src/main/java/org/nuiton/disworkfs/storage/PastryDisworkMap.java 2010-06-03 15:09:54 UTC (rev 60) +++ trunk/diswork-fs/src/main/java/org/nuiton/disworkfs/storage/PastryDisworkMap.java 2010-06-03 16:25:47 UTC (rev 61) @@ -88,15 +88,14 @@ return finished; } - public void waitUntilFinised() { + public void waitUntilFinished() { while(!finished) { try { Thread.sleep(1500); log.info("waiting for response"); } catch (InterruptedException e) { - // TODO 20100527 bleny stub - log.info("exception catch", e); - e.printStackTrace(); + throw new RuntimeException + ("interrupted while waiting for response", e); } } } @@ -147,7 +146,12 @@ try { factory = new SocketPastryNodeFactory(nidFactory, bindport, env); } catch (BindException e) { - throw new IOException("unable to bind to port" + bindport); + // the bootstrap node can't be joined + throw new IOException(""/*"bootstrap node can't be joined"*/, e); + } catch (IllegalStateException e) { + // the bootstrap node can't be joined + throw new IOException + ("unable to bind to already used port " + bindport, e); } catch (ConnectException e) { // this occurs some times, it may work after some time... numberOfTry += 1; @@ -229,7 +233,7 @@ Id id = pastryIdFactory.buildId((String) key); ContainsKeyContinuation containsKeyContinuation = new ContainsKeyContinuation(); past.existsInOverlay(id, containsKeyContinuation); - containsKeyContinuation.waitUntilFinised(); + containsKeyContinuation.waitUntilFinished(); boolean result = containsKeyContinuation.result; log.info("containsKey " + key + " (id = " + id + ") returns " + result); return result; @@ -247,13 +251,19 @@ } finished = true; } + + @Override + public void receiveException(Exception exception) { + log.error("exception received while getting : " + exception); + finished = true; + } } protected byte[] atomicGet(Object key) { Id id = pastryIdFactory.buildId((String) key); GetContinuation getContinuation = new GetContinuation(); past.lookup(id, getContinuation); - getContinuation.waitUntilFinised(); + getContinuation.waitUntilFinished(); return getContinuation.result; } @@ -274,6 +284,12 @@ log.info("insert result received : " + Arrays.toString(result)); finished = true; } + + @Override + public void receiveException(Exception exception) { + log.error("exception received while inserting : " + exception); + finished = true; + } } protected void atomicPut(String key, byte[] value) { @@ -281,7 +297,7 @@ PastContent pastContent = new ByteArrayPastContent(id, value); PutContinuation putContinuation = new PutContinuation(); past.insert(pastContent, putContinuation); - putContinuation.waitUntilFinised(); + putContinuation.waitUntilFinished(); } @Override @@ -305,13 +321,19 @@ this.result = result; finished = true; } + + @Override + public void receiveException(Exception exception) { + log.error("exception received while removing : " + exception); + finished = true; + } } protected void atomicRemove(Object key) { Id id = pastryIdFactory.buildId((String) key); RemoveContinuation removeContinuation = new RemoveContinuation(); past.remove(id, removeContinuation); - removeContinuation.waitUntilFinised(); + removeContinuation.waitUntilFinished(); log.info("atomic remove " + key + " has returned " + removeContinuation.result); } Modified: trunk/diswork-fs/src/main/java/org/nuiton/disworkfs/storage/Storage.java =================================================================== --- trunk/diswork-fs/src/main/java/org/nuiton/disworkfs/storage/Storage.java 2010-06-03 15:09:54 UTC (rev 60) +++ trunk/diswork-fs/src/main/java/org/nuiton/disworkfs/storage/Storage.java 2010-06-03 16:25:47 UTC (rev 61) @@ -308,6 +308,8 @@ map.put(key, map.get(newDataKey)); } + map.remove(newDataKey); + unLock(key); } else { Modified: trunk/diswork-fs/src/test/java/org/nuiton/disworkfs/Util.java =================================================================== --- trunk/diswork-fs/src/test/java/org/nuiton/disworkfs/Util.java 2010-06-03 15:09:54 UTC (rev 60) +++ trunk/diswork-fs/src/test/java/org/nuiton/disworkfs/Util.java 2010-06-03 16:25:47 UTC (rev 61) @@ -21,7 +21,7 @@ */ public class Util { - protected static Integer port = 9000; + protected static Integer port = 19000; /** * returns a new port, returned value change at each call.