Ticket #17568

join失敗

오픈 날짜: 2009-06-30 14:43 마지막 업데이트: 2009-09-13 06:13

Reporter:
소유자:
Type:
Status:
Open [Owner assigned]
Component:
(None)
MileStone:
(None)
Priority:
9 - Highest
Severity:
5 - Medium
Resolution:
None
File:
None

Details

やっぱりKademliaにするとjoinが失敗する。はてはて

Ticket History (3/10 Histories)

2009-06-30 14:43 Updated by: syuu
  • New Ticket "join失敗" created
2009-07-13 00:34 Updated by: None
댓글 올리기

うちも南下ログが延々と出る こんな感じに

2009-07-13 00:16:49,147 [ INFO ] com.dokukino.genkidama.DHTServer

<Thread-5> (DHTServer.java:92) - DHT joining to よそ様のIP:port<*>

2009-07-13 00:16:49,324 [ INFO ] dareka.Main

<main> (Main.java:124) - total self cache size=24,572,810,133bytes

2009-07-13 00:16:49,331 [ INFO ] dareka.Server

<main> (Server.java:68) - server start.

2009-07-13 00:16:54,270 [ WARN ] ow.routing.impl.IterativeRoutingDriver

<A pooled thread> (IterativeRoutingDriver.java:683) - Sending or receiving failed: <*>のドメイン/<*>のIP:port on 自分のドメイン/自分のIP:port

2009-07-13 00:16:54,272 [ WARN ] ow.routing.impl.IterativeRoutingDriver

<Thread-5> (IterativeRoutingDriver.java:249) - A Querier threw an Exception.

java.lang.NullPointerException at ow.routing.kademlia.Kademlia.distance(Kademlia.java:85) at ow.id.comparator.AlgoBasedTowardTargetIDComparator.compare(AlgoBasedTowardTargetIDComparator.java:36) at ow.id.comparator.AlgoBasedTowardTargetIDComparator.compare(AlgoBasedTowardTargetIDComparator.java:1) at ow.id.comparator.AlgoBasedTowardTargetIDAddrComparator.compare(AlgoBasedTowardTargetIDAddrComparator.java:34) at ow.id.comparator.AlgoBasedTowardTargetIDAddrComparator.compare(AlgoBasedTowardTargetIDAddrComparator.java:1) at java.util.TreeMap.getEntryUsingComparator(Unknown Source) at java.util.TreeMap.getEntry(Unknown Source) at java.util.TreeMap.remove(Unknown Source) at java.util.TreeSet.remove(Unknown Source) at ow.routing.impl.SortedContactList.remove(SortedContactList.java:68) at ow.routing.impl.IterativeRoutingDriver$Querier.call(IterativeRoutingDriver.java:698) at ow.routing.impl.IterativeRoutingDriver$Querier.call(IterativeRoutingDriver.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

2009-07-13 00:16:54,285 [ ERROR ] com.dokukino.genkidama.DHTServer

<Thread-5> (DHTServer.java:99) - Error Occurs:

ow.routing.RoutingException at ow.routing.impl.IterativeRoutingDriver.join(IterativeRoutingDriver.java:122) at ow.dht.impl.BasicDHTImpl.joinOverlay(BasicDHTImpl.java:202) at ow.dht.impl.BasicDHTImpl.joinOverlay(BasicDHTImpl.java:192) at com.dokukino.genkidama.DHTServer.connect(DHTServer.java:94) at com.dokukino.genkidama.DHTServer.run(DHTServer.java:165)

2009-07-13 00:16:54,286 [ INFO ] com.dokukino.genkidama.DHTServer

<Thread-5> (DHTServer.java:112) - can not connect node (perhaps, invalid node data) : : 1 of 7

2009-07-13 00:16:54,286 [ INFO ] com.dokukino.genkidama.DHTServer

<Thread-5> (DHTServer.java:92) - DHT joining to よそ様のIP:port(<*>とは別のIP)

… 以下延々と続く(その間Dashboardではオフライン)

でも突然思い出したみたいにputが始まったりする。(で、オンラインになる)
2009-07-16 04:51 Updated by: syuu
댓글 올리기

とりあえず、UDP版も試してみる。

2009-07-17 01:47 Updated by: syuu
댓글 올리기

どうもUDPでも同じ問題が発生しているようにみえる。 しかも、その状態でもパケットは届いているようだ。 パケットのフォーマットはJavaでシリアライズされたオブジェクトなのでWiresharkでは読めない。困る。。。

2009-07-30 04:26 Updated by: syuu
댓글 올리기

UDPでも駄目な事は確認出来たが、原因が未だ判明してない。 原因を追及し、ある程度データを集めて首藤先生へ質問してみる方向で考えているが、駄目そうならばAzureusのKadmliaを移植してくる事も考えたい。 来月中に何とか解決する。

2009-09-10 15:33 Updated by: syuu
댓글 올리기

TCPの実装に問題が有るらしい事がわかった: http://groups.google.com/group/overlayweaver-ja/browse_thread/thread/73a173f0ea38d0e5

UDPだったらこの制限にはひっかからない筈なんだけど、何故かGenkidamaに入れてある改変版owはUDPが動作しないのでソースコードを一旦オリジナルに戻し、最低限必要な変更を加えてテスト中。

logger周りもGenkidamaに合わせて直さなきゃいけないけど、取りあえずそこまでやる前に一旦コミットするつもり。

2009-09-11 11:14 Updated by: syuu
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2009-09-11 11:14
댓글 올리기

7ノードでネットワークを構築し、新しいバージョンで一晩動画再生を繰り返させたが、特に通信エラーは出てない模様。 よってこの件は解決と見なしてクローズ。

2009-09-11 16:07 Updated by: syuu
  • Status Update from Closed to Open
댓글 올리기

あら、新規のjoinが失敗するケースが見つかった。 単体テストだと出ないんだけどな。もう少し様子見。

2009-09-13 06:13 Updated by: token
댓글 올리기

オフトピックだけど、SLF4jにjdk14なbridgeがあれば、ログ取り周辺のコードは書き換えなくても良さそう。slf4j-jdk14-x.x.x.jarを含めたら一発解消しないかな。

2010-06-05 17:06 Updated by: None
댓글 올리기

Overlay Weaverの新版が上がっていました。関係あるでしょうかね?

>2010年 5月 11日

Version 0.9.10 リリース。 * ノード加入処理のバグを修正。一度オーバレイから離脱したノードが 再度加入しようとすると、このバグが原因で失敗することがあった。

http://groups.google.com/group/overlayweaver-ja/browse_thread/thread/31ab6906aa9dd2b9#

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login