ethereum / trin

An Ethereum portal client: a json-rpc server with nearly instant sync, and low CPU & storage usage
361 stars 110 forks source link

Robust RecursiveFindContent | Continue the search if data transfer fails #1383

Open KolbyML opened 3 weeks ago

KolbyML commented 3 weeks ago

image

Clients can have bugs, trin has had bugs, shisui has, ultralight etc. A bug in a client shouldn't stop the whole show. A bug we were seeing was trin found the content from a shisui or trin node, then the uTP transfer would fail for some unknown reason, then we would just return an error.

Instead of this we could continue the search until we find a working peer, we already did a big search to find the contents neighbourhood so it isn't out of question if the first node we try to get the data from fails, we just try another and continue the search to some failure level till we either fail X times and give up or successfully fetch the data.

morph-dev commented 3 weeks ago

@carver if I understood correctly, you said you are looking into this or something similar, right? Maybe you can add your progress or assign it to yourself if that's the case