Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page contains examples of issues with Data consistency in Folio. The issues could fall into one of the following categories:

  • There is no logic to make sure a data is consistent across a set of modules
  • There is a logic to perform data consistency, but it isn't reliable and can lead to inconsistent data in a set of modules

...

Cases discovered earlier

Spike: Distributed transaction use cases and solutions

Order and Invoice module cases

Approve invoice (mod-invoice)

...

5. Persist order with new status (mod-orders → mod-orders-storage)

Unopen order : transition from open to pending status (mod-orders)

  1. Fetch order (mod-orders → mod-orders-storage)

  2. Fetch POL encumbrance transactions (mod-finance → mod-finance-storage)
  3. Make/Persist encumbrances pending (mod-finance → mod-finance-storage)

  4. Update/Persist order transaction summary  (mod-finance → mod-finance-storage)

  5. Update/Persist transactions  (mod-finance → mod-finance-storage)

  6. Make/Persist POL pending (mod-orders → mod-orders-storage)

  7. Persist order with new status (mod-orders → mod-orders-storage)

Data redundancy in models

  1. Pair of RefNumber and RefType should be in consistence state between POL and invoice line.
  2. FundCode should be in consistence state between Fund record and pol.fundDistribution.code.
  3. VendorCode should be in consistence state between Organization record and purchaseOrder.vendorCode.