Disallow RIs in subdbs
As discussed yesterday, the current design intent is that only LSs may be in subdbs; RIs are not allowed. However, this was not the original plan, was never clearly stated before, and there's large amounts of research code removal and other cleanup required to implement this correctly.
I did find one comment that does reflect the current intent, but it's not reflected elsewhere:
KademliaNetworkDatabaseFacade.java: // Client netDb shouldn't have RI, search for RI in the floodfill netDb.
The entire netdb codebase needs to be scrubbed to ensure this is true and cleanup related data structures, UI, and so on.
I'm entering this ticket to track the work required which will probably take multiple MRs:
- Remove/revert subdb RI tabs in NetDbHelper/Renderer (zzz - MR !140 (merged))
- Disable ExpireRoutersJob in subdbs (zzz - MR in progress)
- Disable KBucketSet in subdbs (zzz - MR in progress)
- Revert/cleanup getPeerSelector()/createPeerSelector() changes (zzz - MR in progress)
- Throw on attempt to store RI in subdb, find and fix callers if any (zzz - MR in progress)
- Log/find/fix attempts to lookup RI in subdb (zzz - MR in progress)
- Remove FNDS/SNDF/Dummy getRoutersxxx() methods
This has to wait for !137 (merged) and !138 (merged) to be merged first.
Please add any related tasks below.