MySQL 8.2.0
Source Code Documentation
xcom_profile.h
Go to the documentation of this file.
1/* Copyright (c) 2017, 2023, Oracle and/or its affiliates.
2
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; version 2 of the License.
6
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 GNU General Public License for more details.
11
12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
15
16#ifndef XCOM_CONFIG_H
17#define XCOM_CONFIG_H
18
19/* Use global node set to decide if proposal should be sent */
20/* #define PROPOSE_IF_LEADER */
21
22/* Always use the full three phase Paxos protocol */
23/* #define ALWAYS_THREEPHASE */
24
25/* Make node 0 the default arbitrator */
26/* #define NODE_0_IS_ARBITRATOR */
27
28/* On first propose, wait for all nodes, not just majority */
29/* #define WAIT_FOR_ALL_FIRST */
30
31/* Do not delay termination of xcom */
32/* #define NO_DELAYED_TERMINATION */
33#define TERMINATE_DELAY 3.0
34
35/* Set max number of acceptors */
36/* #define MAXACCEPT 5 */
37
38/* Impose upper limit on delivery time? */
39/* #define DELIVERY_TIMEOUT */
40
41/* Time until we suspect failed delivery */
42#define BUILD_TIMEOUT 0.5
43
44/* #define IGNORE_LOSERS */
45
46/* #define ACCEPT_SITE_TEST */
47
48/* Define this to enable the binary event logger */
49/* #define TASK_EVENT_TRACE */
50
51/* Size of binary event logger cache */
52#define MAX_TASK_EVENT 20000
53
54/* Make sweeper task run more often */
55#define AGGRESSIVE_SWEEP
56
57/* Turn automatic batching on or off */
58#define AUTOBATCH 1
59
60enum {
63 MAX_BATCH_SIZE = 0x3fffffff, /* Limit batch size to sensible ? amount */
64 MAX_BATCH_APP_DATA = 5000, /* Limit nr. of batched elements */
66 PROPOSERS = 10, /* The number of proposers on one node */
67 MIN_CACHE_SIZE = 250000, /* Minimum cache size */
68 DEFAULT_CACHE_LIMIT = 1000000000UL /* Reasonable initial cache limit */
69};
70
71/* How long to wait for snapshots when trying to find the best node to recover
72 * from */
73#define SNAPSHOT_WAIT_TIME 3.0
74
75/* Disable test to see if we should handle need_boot */
76#define ALWAYS_HANDLE_NEED_BOOT 0
77
78/* Disable test to see if we should handle prepare and accept */
79#define ALWAYS_HANDLE_CONSENSUS 0
80
81/* Force IPv4 */
82/* #define FORCE_IPV4 */
83
84/* Define this if xcom should suppress delivery of duplicate global views */
85#define SUPPRESS_DUPLICATE_VIEWS
86
87/* Define this to use the default event horizon if we have no config */
88/* #define PERMISSIVE_EH_ACTIVE_CONFIG */
89
90/* Define this to 0 if you always have address:port, 1 if not */
91#define NO_PORT_IN_ADDRESS 0
92
93/* Let the executor_task be more aggressive in proposing `no_op` for
94 missing messages */
95/* #define EXECUTOR_TASK_AGGRESSIVE_NO_OP */
96
97#endif
@ MAX_BATCH_APP_DATA
Definition: xcom_profile.h:64
@ MIN_CACHE_SIZE
Definition: xcom_profile.h:67
@ EVENT_HORIZON_MIN
Definition: xcom_profile.h:61
@ MAX_DEAD
Definition: xcom_profile.h:65
@ MAX_BATCH_SIZE
Definition: xcom_profile.h:63
@ PROPOSERS
Definition: xcom_profile.h:66
@ EVENT_HORIZON_MAX
Definition: xcom_profile.h:62
@ DEFAULT_CACHE_LIMIT
Definition: xcom_profile.h:68