53 "The maximum number of read-set one transaction can have. Default is 64K records.\n"
54 " We pre-allocate this much memory for each NumaCoreMemory. So, don't make it too large.");
56 "The maximum number of write-set one transaction can have. Default is 16K records.\n"
57 " We pre-allocate this much memory for each NumaCoreMemory. So, don't make it too large.");
59 "The maximum number of lock-free read-set one transaction can have.\n"
60 " Default is very small (256) because this is the number of sequential storages\n"
61 " a xct accesses, not the number of records.");
63 "The maximum number of lock-free write-set one transaction can have. Default is 8K records.\n"
64 " We pre-allocate this much memory for each NumaCoreMemory. So, don't make it too large.");
66 "Local work memory is used for various purposes during a transaction."
67 " We avoid allocating such temporary memory for each transaction and pre-allocate this"
68 " size at start up.");
70 "Intervals in milliseconds between epoch advancements. Default is 20 ms\n"
71 " Too frequent epoch advancement might become bottleneck because we synchronously write.\n"
72 " out savepoint file for each non-empty epoch. However, too infrequent epoch advancement\n"
73 " would increase the latency of queries because transactions are not deemed as commit"
74 " until the epoch advances.");
76 "When enabled, we remember read/write-sets on abort and use it as RLL on next run.");
78 "When we construct Retrospective Lock List (RLL) after aborts, we add"
79 " read-locks on records whose hotness exceeds this value.");
81 "Whether precommit always releases all locks that violate canonical mode before"
84 "Defines which implementation of MCS locks to use for RW locks."
85 " So far we allow kMcsImplementationTypeSimple and kMcsImplementationTypeExtended.");
#define EXTERNALIZE_LOAD_ELEMENT(element, attribute)
Reads a child xml element to load a member variable of this object.
uint32_t max_lock_free_read_set_size_
The maximum number of lock-free read-set one transaction can have.
bool enable_retrospective_lock_list_
Whether to use Retrospective Lock List (RLL) after aborts.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
Default value for max_read_set_size_.
Brings error stacktrace information as return value of functions.
static ErrorStack insert_comment(tinyxml2::XMLElement *element, const std::string &comment)
ErrorStack save(tinyxml2::XMLElement *element) const override
Writes the content of this object to the given XML element.
uint32_t epoch_advance_interval_ms_
Intervals in milliseconds between epoch advancements.
uint32_t max_lock_free_write_set_size_
The maximum number of lock-free write-set one transaction can have.
uint16_t hot_threshold_for_retrospective_lock_list_
When we construct Retrospective Lock List (RLL) after aborts, we add read-locks on records whose hotn...
uint32_t max_write_set_size_
The maximum number of write-set one transaction can have.
Default value for max_lock_free_read_set_size_.
Default value for max_lock_free_write_set_size_.
bool force_canonical_xlocks_in_precommit_
Whether precommit always releases all locks that violate canonical mode before taking X-locks...
#define CHECK_ERROR(x)
This macro calls x and checks its returned value.
XctOptions()
Constructs option values with default values.
const ErrorStack kRetOk
Normal return value for no-error case.
uint16_t mcs_implementation_type_
Defines which implementation of MCS locks to use for RW locks.
ErrorStack load(tinyxml2::XMLElement *element) override
Reads the content of this object from the given XML element.
#define EXTERNALIZE_SAVE_ELEMENT(element, attribute, comment)
Adds an xml element to represent a member variable of this object.
uint32_t max_read_set_size_
The maximum number of read-set one transaction can have.
uint32_t local_work_memory_size_mb_
Size of local and temporary work memory one transaction can use during transaction.
Default value for local_work_memory_size_mb_.
Default value for max_write_set_size_.
Default value for epoch_advance_interval_ms_.