View Issue Details

IDProjectCategoryView StatusLast Update
0005743GNUnetidentity servicepublic2019-07-24 20:42
ReporterChristian GrothoffAssigned ToChristian Grothoff 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product VersionSVN HEAD 
Target Version0.11.6Fixed in Version0.11.6 
Summary0005743: gnunet-gns can be slow
DescriptionAs noted in 9f03df3be..777e57cfc, gnunet-gns can be excessively slow IF there are *thousands* of Egos in the identity service. The reason is that gnunet-gns iterates over all of them to do the longest prefix match.

To do this iteration, we (1) copy all egos over to gnunet-gns via IPC, and (2) do an ECmul and hash operation per ego. That kills us.

It would suffice (and be much, much faster) to integrate this longest-suffix-matching lookup into the IDENTITY-service API and then only return the one ego we care about.
TagsNo tags attached.

Activities

ic.rbow

2019-06-01 18:41

reporter   ~0014478

Semi-offtop: how do peers end up serving thousands of identities?

Christian Grothoff

2019-06-01 18:49

manager   ~0014479

If you import a larger DNS zone, it may contain thousands of subdomains in the same zone (groupa.domain.com, groupb.domain.com). Each of these subdomains (that in DNS may be in the same zone) must have a new zone in GNS, as in GNS every "." is a zone-cut (unlike in DNS). So importing things like .se or .bfh.ch or .fr can give you thousands of egos.

Or of course someone might suffer from a really bad case of multiple personality disorder ;-)

Christian Grothoff

2019-06-21 21:18

manager   ~0014561

This was fixed by extending the identity API.

Issue History

Date Modified Username Field Change
2019-06-01 01:09 Christian Grothoff New Issue
2019-06-01 18:41 ic.rbow Note Added: 0014478
2019-06-01 18:49 Christian Grothoff Note Added: 0014479
2019-06-05 19:01 Christian Grothoff Target Version => 0.11.6
2019-06-21 21:18 Christian Grothoff Assigned To => Christian Grothoff
2019-06-21 21:18 Christian Grothoff Status new => resolved
2019-06-21 21:18 Christian Grothoff Resolution open => fixed
2019-06-21 21:18 Christian Grothoff Fixed in Version => 0.11.6
2019-06-21 21:18 Christian Grothoff Note Added: 0014561
2019-07-24 20:42 Christian Grothoff Status resolved => closed