Changes between Initial Version and Version 7 of Ticket #23421

Nov 3, 2017, 2:27:07 PM (2 years ago)

I added some text to the description of this ticket, because it was a little short. Please, refer to the description before continuing.

(I tried to take your comment:6 into account in the following.)

What about the following general rules for all modules:

During descriptor imports: After parsing (and possibly sanitation) the descriptor is written; if one descriptor cannot be parsed (and possibly sanitized), it is skipped with a debug log message, unless it contains at least enough information to sort it into out&recent (for relays and bridges and onionperf and ?).

During sync-runs: Descriptors that cannot be parsed should be dropped. Or, do we want to sync invalid descriptors? Imo, syncs should only take valid stuff and there should be sync-runs for all descriptors (just not necessarily enabled on every instance).


  • Ticket #23421

    • Property Status changed from new to needs_information
    • Property Keywords metrics-2017 added
    • Property Priority changed from Medium to High
    • Property Summary changed from use persistence functionality throughout all CollecTor modules to Use persistence functionality throughout all modules
  • Ticket #23421 – Description

    initial v7  
    33All storing of files should be done by the persist-mechanism, i.e.,
    44a o.t.c.persist.*Persistence classes should also be used for storing descriptors initially (i.e., when fetched from authorities).
     7We want to identify a common approach for storing descriptors during sync-runs and imports. The various modules should diverge from it as little as possible.  The resulting changes (once the approach is defined) will be implemented in the various modules and the implementation of these changes will make use of the persistence classes in order to avoid code multiplication for file storing/writing/renaming/etc.
     8Currently, there is quite a variety of handling storage that is in many cases historically grown but not due necessity (cf. comment:1).