diff --git a/omniadvisor/src/omniadvisor/interface/config_tuning.py b/omniadvisor/src/omniadvisor/interface/config_tuning.py index 0eec5bc302ef3a7c09842154f3fcdfa13d5fa1a0..6d9e064988f841d70ac4e1c9378b0bbd75ffefc6 100644 --- a/omniadvisor/src/omniadvisor/interface/config_tuning.py +++ b/omniadvisor/src/omniadvisor/interface/config_tuning.py @@ -224,7 +224,7 @@ def main(): # 2. 不做调优冲突判断,若推荐相同配置,则退出 # 3. 当前负载不支持后台复测,则退出 elif args.retest_way == OA_CONF.RetestWay.backend: - if load.backend_retest_forbidden: + if not load.backend_retest_enable: raise TuningPreconditionError( 'Current load contains data manipulation operations, only retest way of hijacking is supported.' ) diff --git a/omniadvisor/src/omniadvisor/interface/hijack_recommend.py b/omniadvisor/src/omniadvisor/interface/hijack_recommend.py index 76dfde80f2b4718e5b4e607c117057a0b900aec0..46f5ae8d04e5f9c06d24fbe1e3fae091db4832f2 100644 --- a/omniadvisor/src/omniadvisor/interface/hijack_recommend.py +++ b/omniadvisor/src/omniadvisor/interface/hijack_recommend.py @@ -221,8 +221,8 @@ def _create_or_update_load(exec_attr: dict, config: dict) -> Load: return LoadRepository.update_name_and_exec_attr(loads.pop(), name, exec_attr) else: # 负载没有创建过 - backend_retest_forbidden = _has_modify_keywords(exec_attr) - load = LoadRepository.create(name, exec_attr, config, hash_value, backend_retest_forbidden) + backend_retest_enable = not _has_modify_keywords(exec_attr) + load = LoadRepository.create(name, exec_attr, config, hash_value, backend_retest_enable) global_logger.info("Load not found in database, created new one and execute.") TuningRecordRepository.create(load=load, config=config, method=OA_CONF.TuningMethod.user) return load diff --git a/omniadvisor/src/omniadvisor/repository/load_repository.py b/omniadvisor/src/omniadvisor/repository/load_repository.py index c400405e848da48e744c752a6209f3f549f0775d..ac74c102c075927108f08a5710a1c02f7b737bbb 100644 --- a/omniadvisor/src/omniadvisor/repository/load_repository.py +++ b/omniadvisor/src/omniadvisor/repository/load_repository.py @@ -34,7 +34,7 @@ class LoadRepository(Repository): @classmethod def create(cls, name: str, exec_attr: dict, default_config: dict, hash_value: str, - backend_retest_forbidden: bool) -> Load: + backend_retest_enable: bool) -> Load: """ 指定名称、执行属性和默认配置,新增负载 @@ -42,7 +42,7 @@ class LoadRepository(Repository): :param exec_attr: 负载执行属性 :param default_config: 负载默认配置 :param hash_value: hash值 - :param backend_retest_forbidden: 是否禁用后台复测 + :param backend_retest_enable: 是否禁用后台复测 :return: 负载实例 """ model_attr = { @@ -50,7 +50,7 @@ class LoadRepository(Repository): Load.FieldName.exec_attr: exec_attr, Load.FieldName.default_config: default_config, Load.FieldName.hash_value: hash_value, - Load.FieldName.backend_retest_forbidden: backend_retest_forbidden + Load.FieldName.backend_retest_enable: backend_retest_enable } try: database_load = cls._create(model_attr=model_attr) diff --git a/omniadvisor/src/omniadvisor/repository/model/load.py b/omniadvisor/src/omniadvisor/repository/model/load.py index 624e479455df3151fc04254523490536befe3a57..79b7ed2c9a6ff640e92d01dc90baff0fa59b60d0 100644 --- a/omniadvisor/src/omniadvisor/repository/model/load.py +++ b/omniadvisor/src/omniadvisor/repository/model/load.py @@ -46,8 +46,8 @@ class Load: return self._database_model.tuning_needed @property - def backend_retest_forbidden(self): - return self._database_model.backend_retest_forbidden + def backend_retest_enable(self): + return self._database_model.backend_retest_enable @property def database_model(self): @@ -63,4 +63,4 @@ class Load: create_time = 'create_time' tuning_needed = 'tuning_needed' hash_value = 'hash_value' - backend_retest_forbidden = 'backend_retest_forbidden' + backend_retest_enable = 'backend_retest_enable' diff --git a/omniadvisor/src/server/app/admin.py b/omniadvisor/src/server/app/admin.py index 191e9e955a913993e3159eb105925bc04ea18862..1234257a43293a8d333dd9b6466d4983baff05aa 100644 --- a/omniadvisor/src/server/app/admin.py +++ b/omniadvisor/src/server/app/admin.py @@ -8,7 +8,7 @@ from .models import DatabaseLoad, DatabaseTuningRecord, DatabaseExamRecord @admin.register(DatabaseLoad) class LoadAdmin(admin.ModelAdmin): list_display = ( - 'id', 'name', 'exec_attr', 'default_config', 'best_config', 'test_config', 'backend_retest_forbidden' + 'id', 'name', 'exec_attr', 'default_config', 'best_config', 'test_config', 'backend_retest_enable' ) list_filter = () diff --git a/omniadvisor/src/server/app/models.py b/omniadvisor/src/server/app/models.py index cf22d919501137f4886511d5428629d26f49e8d1..74021fca20786bce9d873a48de2b5e075c41d26e 100644 --- a/omniadvisor/src/server/app/models.py +++ b/omniadvisor/src/server/app/models.py @@ -17,7 +17,7 @@ class DatabaseLoad(models.Model): create_time = models.DateTimeField(auto_now_add=True) tuning_needed = models.BooleanField(default=True) hash_value = models.CharField(max_length=64, null=False, unique=True) - backend_retest_forbidden = models.BooleanField(default=True) + backend_retest_enable = models.BooleanField(default=False) class Meta: db_table = 'omniadvisor_load' # 自定义表名 diff --git a/omniadvisor/tests/omniadvisor/interface/test_hijack_recommend.py b/omniadvisor/tests/omniadvisor/interface/test_hijack_recommend.py index 01585b1ec47bcb10368c3353d1f3afbe2ffecf1c..1926f6cc09816c8a6411558cbe0d9d77eef56e5c 100644 --- a/omniadvisor/tests/omniadvisor/interface/test_hijack_recommend.py +++ b/omniadvisor/tests/omniadvisor/interface/test_hijack_recommend.py @@ -223,7 +223,7 @@ class TestHijackRecommend: mock_load_create.return_value = "created_object" mock_query_by_hash_value.return_value = [] result = _create_or_update_load(exec_attr, default_config) - mock_load_create.assert_called_once_with(name, exec_attr, default_config, hash_value, True) + mock_load_create.assert_called_once_with(name, exec_attr, default_config, hash_value, False) mock_tuning_record_create.assert_called_once() assert result == "created_object" diff --git a/omniadvisor/tests/omniadvisor/repository/test_exam_record_repository.py b/omniadvisor/tests/omniadvisor/repository/test_exam_record_repository.py index 422a568f3b79f8ed455b7119b13f3604a3d364eb..df47ad864b39a296ad695e73e7c4177e337f19af 100644 --- a/omniadvisor/tests/omniadvisor/repository/test_exam_record_repository.py +++ b/omniadvisor/tests/omniadvisor/repository/test_exam_record_repository.py @@ -57,7 +57,7 @@ class TestExamRecordRepository: exec_attr={'cmd': 'spark-sql -f test.sql'}, default_config={'param1': 'value2'}, hash_value=hash_value, - backend_retest_forbidden=True + backend_retest_enable=True ) self.config = {'param1': 'value2'} self.tuning_record = TuningRecordRepository.create( diff --git a/omniadvisor/tests/omniadvisor/repository/test_load_repository.py b/omniadvisor/tests/omniadvisor/repository/test_load_repository.py index 007ea4f630b2ab9fabaf3f839915395ad10e3e5f..d006a38e47997a1450e3a167632d2f488b88c3d4 100644 --- a/omniadvisor/tests/omniadvisor/repository/test_load_repository.py +++ b/omniadvisor/tests/omniadvisor/repository/test_load_repository.py @@ -35,7 +35,7 @@ class TestLoadRepository: exec_attr={'name': 'example_name', 'cpu': 4}, default_config={'param1': 'value2'}, hash_value='0607', - backend_retest_forbidden=True + backend_retest_enable=False ) assert isinstance(load, Load) assert load.database_model.name == 'example_name' @@ -49,7 +49,7 @@ class TestLoadRepository: # 输入无效数据 with pytest.raises(ValueError): - LoadRepository.create(name='', exec_attr={}, default_config={}, hash_value='', backend_retest_forbidden=True) + LoadRepository.create(name='', exec_attr={}, default_config={}, hash_value='', backend_retest_enable=True) def test_query_by_hash_value(self): # 创建测试数据 @@ -60,7 +60,7 @@ class TestLoadRepository: exec_attr={'name': 'example_name', 'cpu': 4}, default_config={'param1': 'value2'}, hash_value=hash_value, - backend_retest_forbidden=True + backend_retest_enable=True ) # 查询负载 @@ -81,7 +81,7 @@ class TestLoadRepository: exec_attr={'name': 'example_name', 'cpu': 4}, default_config={'param1': 'value2'}, hash_value=hash_value, - backend_retest_forbidden=True + backend_retest_enable=True ) # 更新最优配置 @@ -99,7 +99,7 @@ class TestLoadRepository: exec_attr={'name': 'example_name', 'cpu': 4}, default_config={'param1': 'value2'}, hash_value=hash_value, - backend_retest_forbidden=True + backend_retest_enable=True ) # 更新测试配置 @@ -117,7 +117,7 @@ class TestLoadRepository: exec_attr={'name': 'example_name', 'cpu': 4}, default_config={'param1': 'value2'}, hash_value=hash_value, - backend_retest_forbidden=True + backend_retest_enable=True ) # 更新测试配置 diff --git a/omniadvisor/tests/omniadvisor/repository/test_tuning_record_repository.py b/omniadvisor/tests/omniadvisor/repository/test_tuning_record_repository.py index 9eea60ca9ca2258fb5fe0752792a40cf2d491ea6..afc4f45b5ee7828dfb82e8d61c4941bbf2ef289d 100644 --- a/omniadvisor/tests/omniadvisor/repository/test_tuning_record_repository.py +++ b/omniadvisor/tests/omniadvisor/repository/test_tuning_record_repository.py @@ -39,7 +39,7 @@ class TestTaskRepository: exec_attr={'cmd': 'spark-sql -f test.sql'}, default_config={"param1": "value2"}, hash_value=hash_value, - backend_retest_forbidden=True + backend_retest_enable=True ) # 创建TuningRecord @@ -73,7 +73,7 @@ class TestTaskRepository: exec_attr={'cmd': 'spark-sql -f test.sql'}, default_config={"param1": "value2"}, hash_value=hash_value, - backend_retest_forbidden=True + backend_retest_enable=True ) tuning_record = TuningRecordRepository.create( load=load, @@ -97,7 +97,7 @@ class TestTaskRepository: exec_attr={'cmd': 'spark-sql -f test.sql'}, default_config={"param1": "value2"}, hash_value=hash_value, - backend_retest_forbidden=True + backend_retest_enable=True ) tuning_record = TuningRecordRepository.create( load=load,