[ https://issues.apache.org/jira/browse/IGNITE-24962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Scherbakov updated IGNITE-24962: --------------------------------------- Description: Current txn configuration, described in {*}TransactionConfigurationSchema{*}, has multiple flaws. It exposes too much internal implementation details to a user without actual need, which greatly complicates txn protocol evolvement in the future. Some properties are misspelled, some are useless in a public configuration. I propose to refactor it in the following way: 1. abandonedCheckTs - move to hidden properties. It's internal and might be removed in the future. 2. readOnlyTimeout -> readOnlyTimeoutMillis 3. readWriteTimeout -> readWriteTimeoutMillis 4. attemptsObtainLock - remove and make hardcoded, later move to polymorphic configuration related to a specific deadlock prevention policy. 5. txnResourceTtl -> temporary move to hidden properties, later refactor to imply better usability. 6. rpcTimeout - remove and make hardcoded. It's internal. 7. deadlockPreventionPolicy - remove and make hardcoded. later move to polymorphic configuration related to a specific deadlock prevention policy. This is a breaking change. I assume we will have a configuration framework adjustments to handle this properly. Documentation should be adjusted according to this change. was: Current txn configuration, described in {*}TransactionConfigurationSchema{*}, has multiple flaws. It exposes too much internal implementation details to a user without actual need, which greatly complicates txn protocol evolment in the future. Some properties are misspelled, some are useless in a public configuration. I propose to refactor it in the following way: 1. abandonedCheckTs - move to hidden properties. It's internal and might be removed in the future. 2. readOnlyTimeout -> readOnlyTimeoutMillis 3. readWriteTimeout -> readWriteTimeoutMillis 4. attemptsObtainLock - remove and make hardcoded, later move to polymorphic configuration related to a specific deadlock prevention policy. 5. txnResourceTtl -> temporary move to hidden properties, later refactor to imply better usability. 6. rpcTimeout - remove and make hardcoded. It's internal. 7. deadlockPreventionPolicy - remove and make hardcoded. later move to polymorphic configuration related to a specific deadlock prevention policy. This is a breaking change. I assume we will have a configuration framework adjustments to handle this properly. Documentation should be adjusted according to this change. > Refactor public transaction configuration > ----------------------------------------- > > Key: IGNITE-24962 > URL: https://issues.apache.org/jira/browse/IGNITE-24962 > Project: Ignite > Issue Type: Improvement > Reporter: Alexey Scherbakov > Assignee: Alexey Scherbakov > Priority: Major > Labels: ignite-3 > Fix For: 3.1 > > > Current txn configuration, described in {*}TransactionConfigurationSchema{*}, > has multiple flaws. > It exposes too much internal implementation details to a user without actual > need, which greatly complicates txn protocol evolvement in the future. > Some properties are misspelled, some are useless in a public configuration. > I propose to refactor it in the following way: > 1. abandonedCheckTs - move to hidden properties. It's internal and might be > removed in the future. > 2. readOnlyTimeout -> readOnlyTimeoutMillis > 3. readWriteTimeout -> readWriteTimeoutMillis > 4. attemptsObtainLock - remove and make hardcoded, later move to polymorphic > configuration related to a specific deadlock prevention policy. > 5. txnResourceTtl -> temporary move to hidden properties, later refactor to > imply better usability. > 6. rpcTimeout - remove and make hardcoded. It's internal. > 7. deadlockPreventionPolicy - remove and make hardcoded. later move to > polymorphic configuration related to a specific deadlock prevention policy. > This is a breaking change. I assume we will have a configuration framework > adjustments to handle this properly. > Documentation should be adjusted according to this change. -- This message was sent by Atlassian Jira (v8.20.10#820010)