Ticket #754 (closed task: fixed)

Opened 4 years ago

Last modified 13 months ago

Review if sorting of xmlformat is still needed for the (de)merger

Reported by: dgollub Owned by: dgollub
Priority: highest Milestone: Plugin Format: XMLFormat 0.40
Component: Format Plugin: xmlformat Version: 0.36
Severity: normal Keywords:
Cc:

Description

There used to be problem with some xmlformat entries and the merger. Some entries got passed to the merge unsorted. The merge doesn't validate if the entry is sorted and malformed the entries when merging.

For this reason in several places xmlformat sort calls are instrumented.

Review if this sorting is still required. We should avoid any sorting if possible.

Change History

comment:1 Changed 3 years ago by dgollub

  • Status changed from new to assigned

Implemented in r3589 some debug instrumentation to hunt search() calls on unsorted XMLFormats.

comment:2 Changed 3 years ago by dgollub

  • Priority changed from high to highest
  • Milestone changed from 0.38 to 0.39

Immplenet in r3592 another instrumentation to hunt unsorted XMLFormats directly after the merge.

Schedule this ticket for the next milestone to see if there are oustandign issue. If there are no issue till 0.39 - this issue is closed and the bottom line is: No need of sorting of xmlformats within the merger

Setting to prio "highest" - so this one get handled first once 0.38 is out.

comment:3 Changed 3 years ago by dgollub

  • Status changed from assigned to closed
  • Resolution set to fixed

No bugs got reported - no testcase is triggering the error. Reopen if bug reappears.

comment:4 Changed 3 years ago by dgollub

  • Component changed from OpenSync to Format Plugin: xmlformat
  • Milestone changed from OpenSync 0.39 to XMLFormat Plugin 0.40

comment:5 Changed 13 months ago by deloptes

I had some issue with this, so I needed to comment it out

/* Searching breaks if the xmlformat is not sorted (bsearch!).

ASSERT in development builds (when NDEBUG is not defined) - see ticket #754. */

osync_assert(xmlformat->sorted); if (!xmlformat->sorted) { osync_error_set(error, OSYNC_ERROR_GENERIC, "XMLFormat is unsorted. Search result would be not valid."); goto error; }

Note: See TracTickets for help on using tickets.