Make ConflictDetection.NONE available for usage with datasets

Description

NONE conflict level was added as experimental feature for optimizing performance in special cases where conflicts detection is not necessary. Since then it showed its value and we want to encourage devs using it in appropriate cases.

Right now it is not documented: at the time it was added it can be configured on client side making possible different programs using different level on same dataset which is dangerous and error prone. Now, it is a property of the dataset instance itself, so we can revisit it again and make this valueable feature available (and documented).

Release Notes

None

Activity

Show:

Alex Baranau June 18, 2015 at 1:05 AM

If you think it should not be documented, then I wonder why you opened this Jira

Jira doesn't say "simply document it". The point is that there might be more work to actually make it "available". We can always reject changing conflict level property on framework level. Or at least tell users not to do that.

Andreas Neumann June 18, 2015 at 12:19 AM

If you think it should not be documented, then I wonder why you opened this Jira

How would you change the conflict detection level? By updating the dataset properties? Perhaps we should add to the documentation that users should not change it while programs are running and using the dataset. I think it would be hard to enforce that at the platform level (because dataset service does not know what programs are running). In general, it seems that updating dataset properties while some running programs are using it is dangerous. Dataset properties update is only partially implemented at this time, I think, we update the properties, but we don't allow the dataset to do any migration (for example, if you add an index column to an indexed table, that index has to be created), and we don't force running programs to reload the dataset.

Alex Baranau June 18, 2015 at 12:06 AM

Not sure why we decided to document it. What happens when we change conflict detection? Do we allow that? Should we allow that? I.e. allow some programs (that were running and not restarted at time of change) access without conflict detection and others with conflict detection at same time? Seems error-prone and extremely hard to debug issues that might be caused by that..

Won't Fix
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Components

Priority

Created June 17, 2015 at 11:44 PM
Updated June 9, 2020 at 1:27 AM
Resolved June 9, 2020 at 1:27 AM