View Issue Details

IDProjectCategoryView StatusLast Update
0001769GNUnetDHT servicepublic2011-09-18 14:59
ReporterChristian Grothoff Assigned ToChristian Grothoff  
PriorityhighSeverityminorReproducibilityN/A
Status closedResolutionfixed 
Product VersionGit master 
Summary0001769: DHT checks peer-bloomfilter for replies
DescriptionBut there is no good reason to do this. Nate writes: "I think it's probably just a bug. I cannot imagine any good reason for that check to be there..."

Additional InformationWe were doing some additions to the DHT code and we stumbled upon a piece of code that we hoped you could clarify. Specifically, when routing result messages, it still uses the bloomfilter before routing to the peer the request came from (gnunet-service-dht.c : 1990-2032) (code simplified):

 peer_info = find_peer_by_id (&pos->source);
 if ((GNUNET_NO ==
 GNUNET_CONTAINER_bloomfilter_test (msg_ctx->bloom,
 &peer_info->id.hashPubKey)))
 {
 forward_result_message (msg, peer_info, msg_ctx);
 else
 {
 }

Since the bloomfilter can return false positives, this behavior could
potentially cause results to get lost. Also, since the bloomfilter is used
during the query forwarding, one would expect the return route with
"pos->source" to be fully constructed and not contain any loops and
therefore the use of the bloomfilter would not be necessary at all in this
case.

There seems to be no reason for the bloomfilter to be used on the return route, and it could actually be harmful in some rare cases.
TagsNo tags attached.

Relationships

related to 0001776 closedChristian Grothoff dht multipeer test fails SOMETIMES 

Activities

Christian Grothoff

2011-09-16 20:50

manager   ~0004591

I've added a define "HAVE_REPLY_BLOOMFILTER" in dht.h which effectively comments out all of the reply-BF-related code. I've not completely removed it due to bug
0001776.

Christian Grothoff

2011-09-17 23:05

manager   ~0004596

Code has now been removed.

Issue History

Date Modified Username Field Change
2011-09-16 10:23 Christian Grothoff New Issue
2011-09-16 10:23 Christian Grothoff Status new => assigned
2011-09-16 10:23 Christian Grothoff Assigned To => Bart Polot
2011-09-16 10:23 Christian Grothoff Priority normal => high
2011-09-16 19:52 Christian Grothoff Assigned To Bart Polot => Christian Grothoff
2011-09-16 20:50 Christian Grothoff Note Added: 0004591
2011-09-16 20:50 Christian Grothoff Relationship added related to 0001776
2011-09-16 20:52 Christian Grothoff Assigned To Christian Grothoff =>
2011-09-16 20:52 Christian Grothoff Status assigned => confirmed
2011-09-17 22:38 Christian Grothoff Assigned To => Christian Grothoff
2011-09-17 22:38 Christian Grothoff Status confirmed => assigned
2011-09-17 23:05 Christian Grothoff Note Added: 0004596
2011-09-17 23:05 Christian Grothoff Status assigned => resolved
2011-09-17 23:05 Christian Grothoff Resolution open => fixed
2011-09-18 14:59 Christian Grothoff Status resolved => closed