Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-3739

RDBDocumentStore: allow schema evolution part 1: check for required columns, log unexpected new columns

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.25, 1.2.9, 1.3.13
    • Fix Version/s: 1.0.26, 1.2.10, 1.3.14, 1.4
    • Component/s: rdbmk
    • Labels:
      None

      Description

      In the future, we may have to add new table columns (for instance, see OAK-3730).

      We can somewhat decouple database changes from code changes by only using new columns when they are present.

      However, we need to make sure that once the columns have been added and the system has started to use them, no older code writes to the DB (potentially causing inconsistencies because of not updating these columns).

      To prevent this, code could check that it understands all columns it finds on startup. If there are unknown columns, it would need to abort and log an error that explains the compatibility issue.

        Attachments

          Activity

            People

            • Assignee:
              reschke Julian Reschke
              Reporter:
              reschke Julian Reschke
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: