diff --git a/lib/config.coffee b/lib/config.coffee index e30b45a..37aa60e 100644 --- a/lib/config.coffee +++ b/lib/config.coffee @@ -67,7 +67,8 @@ options = { MAX_CONCURRENT_REQUESTS : {type : 'int', default: 20}, DATETIME_MILLISECONDS : {type: 'bool', default: true}, BOOLEAN_LITERAL : {type: 'bool', default: true}, - CONNECTION_REQUEST_ALLOW_BASIC_AUTH: {type: 'bool', default: false} + CONNECTION_REQUEST_ALLOW_BASIC_AUTH: {type: 'bool', default: false}, + MAX_COMMIT_ITERATIONS : {type : 'int', default: 32}, # XML configuration XML_RECOVER : {type : 'bool', default : false}, diff --git a/lib/session.coffee b/lib/session.coffee index e5e37c8..953978d 100644 --- a/lib/session.coffee +++ b/lib/session.coffee @@ -29,7 +29,8 @@ InstanceSet = require './instance-set' defaultProvisions = require './default-provisions' gpnHeuristic = require './gpn-heuristic' -MAX_ITERATIONS = 64 +# Multiply by two because every iteration is two phases: read and update +MAX_ITERATIONS = config.get('MAX_COMMIT_ITERATIONS') * 2 provisionsCache = new WeakMap() virtualParametersCache = new WeakMap()