freenetmirror stops inserting data
Brought to you by:
eries,
malcolmredheron
The freenet mirror can get into a state where data that it
should have been inserting is marked for requesting rather
than inserting.
Here is an example:
=> /userId
XbZnBIglZlPYugznn-TENHAqLZk
[283] {'wantsInsert': 0, 'wantsRequest': 1, 'key':
'freenet:SSK@XbZnBIglZlPYugznn-TENHAqLZkPAgM/--
assetIds'}
The assset ids obviously belong to the current client and yet
are marked for request.
Logged In: YES
user_id=655047
Actually, the above example is bad because the mirror should not
be trying to insert data with the public key. That gets set when we
insert specifying the public key.
However, the problem remains. Here is my current theory:
The mirror only inserts data at most once after it is changed. Once
the data has been sucessfully inserted the mirror will not insert it
until it changes. This is bad because other clients will only search
back a limited number of revisions. If they arrive on the scene too
late they will not find any version of the data.
We need to change the mirror to:
- remember that data is locally set forever after it has been set
locally and push it into freenet on a regular basis.
- refuse to set wantsRequest for files that are locally set.