[
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 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.
2. readOnlyTimeout -> readOnlyTimeoutMillis
3. readWriteTimeout -> readWriteTimeoutMillis
4. attemptsObtainLock - remove and make hardcoded, later move to polymorphic
configuration related to deadlock prevention.
5. txnResourceTtl -> temporary move to hidden properties, later refactor to
imply better usability.
6. rpcTimeout - remove and make hardcoded
7. deadlockPreventionPolicy - remove and make hardcoded. later move to
polymorphic configuration related to deadlock prevention.
This is a breaking change. I assume we will have a configuration framework
adjustments to handle this properly.
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.
2. readOnlyTimeout -> readOnlyTimeoutMillis
3. readWriteTimeout -> readWriteTimeoutMillis
4. attemptsObtainLock - remove and make hardcoded, later move to polymorphic
configuration related to deadlock prevention.
5. txnResourceTtl -> temporary move to hidden properties, later refactor to
imply better usability.
6. rpcTimeout - remove and make hardcoded
7. deadlockPreventionPolicy - remove and make hardcoded. later move to
polymorphic configuration related to deadlock prevention.
This is a breaking change. I assume we will have a configuration framework
adjustments to handle this properly.
> 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 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.
> 2. readOnlyTimeout -> readOnlyTimeoutMillis
> 3. readWriteTimeout -> readWriteTimeoutMillis
> 4. attemptsObtainLock - remove and make hardcoded, later move to polymorphic
> configuration related to deadlock prevention.
> 5. txnResourceTtl -> temporary move to hidden properties, later refactor to
> imply better usability.
> 6. rpcTimeout - remove and make hardcoded
> 7. deadlockPreventionPolicy - remove and make hardcoded. later move to
> polymorphic configuration related to deadlock prevention.
> This is a breaking change. I assume we will have a configuration framework
> adjustments to handle this properly.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)