Project

General

Profile

Actions

Bug #4140

closed

ChronoSync sendSyncData can result in trying to send content exceeding the size of the packet

Added by Ashlesh Gawande almost 7 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Start date:
06/19/2017
Due date:
% Done:

0%

Estimated time:

Description

In ChronoSync a recovery interest triggers other side to send the full state.
ChronoSync can also send the full state if a pending sync interest is unknown or an empty digest is received.

https://github.com/named-data/ChronoSync/blob/097bb448f46b8bd9a5c1f431e824f8f6a169b650/src/logic.cpp#L748
https://github.com/named-data/ChronoSync/blob/097bb448f46b8bd9a5c1f431e824f8f6a169b650/src/logic.cpp#L563
https://github.com/named-data/ChronoSync/blob/097bb448f46b8bd9a5c1f431e824f8f6a169b650/src/logic.cpp#L444

Currently State is encoded using wireEncode.

On the testbed NLSR kept crashing with Data exceeds size limit error with the new ChronoSync.
So it was rolled back to the old ChronoSync fork NSync which did not show this error.

NSync used protobuf to encode the State as a character array which seems more efficient than wireEncode as it does not exceed Data packet size (Testbed is running fine since then).

Two solutions I can think of:
1) Segment data
2) Use protobuf

I need to try to re-create this error off the testbed to better understand exactly what lead to it.


Related issues 2 (0 open2 closed)

Related to ChronoSync - Bug #4218: ChronoSync exclude interests should be mustbefreshClosed08/03/2017

Actions
Related to NLSR - Bug #4513: Need to use a fixed session name for ChronoSync socketsClosed02/20/2018

Actions
Actions

Also available in: Atom PDF