Comment 2 for bug 1484015

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to congress (master)

Reviewed: https://review.openstack.org/213283
Committed: https://git.openstack.org/cgit/openstack/congress/commit/?id=74221cd4be16868c28204c28b950fe7a24a2cf28
Submitter: Jenkins
Branch: master

commit 74221cd4be16868c28204c28b950fe7a24a2cf28
Author: Yingxin Cheng <email address hidden>
Date: Sat Aug 15 01:40:24 2015 +0800

    Fixes the potential conflictions in rule creation

    Currently, the PE does not check whether the inserted rule/fact has
    confliction with existing rules/facts in target theory. Moreover, rule&fact
    confliction will cause engine to an inconsistency state if user tries to
    'policy row list' the conflicted table.

    This patch prevents and reports confliction when following rule/fact creation
    happens: (see tests.datalog.test_nonrecur.TestRuntime.test_insert())
    1) report rule&rule conflict
    2) report rule&fact conflict
    3) report fact&rule conflict
    4) report fact&fact conflict
    5)* report body conflict
    6)* conflict check accross policies

    *This patch also enables up-to-date schema of Theories. It records each
    rule insertion and deletion, and results in a low performance impact in
    "test_agnostic_performance".

    Change-Id: I9e85eda8688987f45dd941327e39caa7cebba978
    Closes-Bug: #1484015