MySQL  8.0.22
Source Code Documentation
xcom_profile.h
Go to the documentation of this file.
1 /* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
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 
60 enum {
63  MAX_BATCH_SIZE = 0x3fffffff, /* Limit batch size to sensible ? amount */
64  MAX_BATCH_APP_DATA = 5000, /* Limit nr. of batched elements */
65  MAX_DEAD = 10,
66  PROPOSERS = 10, /* The number of proposers on one node */
67  MIN_CACHE_SIZE = 250000 /* Minimum cache size */
68 };
69 
70 /* How long to wait for snapshots when trying to find the best node to recover
71  * from */
72 #define SNAPSHOT_WAIT_TIME 3.0
73 
74 /* Disable test to see if we should handle need_boot */
75 #define ALWAYS_HANDLE_NEED_BOOT 0
76 
77 /* Disable test to see if we should handle prepare and accept */
78 #define ALWAYS_HANDLE_CONSENSUS 0
79 
80 /* Force IPv4 */
81 /* #define FORCE_IPV4 */
82 
83 /* Define this if xcom should suppress delivery of duplicate global views */
84 #define SUPPRESS_DUPLICATE_VIEWS
85 
86 /* Define this to use the default event horizon if we have no config */
87 /* #define PERMISSIVE_EH_ACTIVE_CONFIG */
88 
89 /* Define this to 0 if you always have address:port, 1 if not */
90 #define NO_PORT_IN_ADDRESS 0
91 
92 /* Let the executor_task be more aggressive in proposing `no_op` for
93  missing messages */
94 /* #define EXECUTOR_TASK_AGGRESSIVE_NO_OP */
95 
96 #endif
Definition: xcom_profile.h:66
Definition: xcom_profile.h:63
Definition: xcom_profile.h:64
Definition: xcom_profile.h:61
Definition: xcom_profile.h:67
Definition: xcom_profile.h:62
Definition: xcom_profile.h:65